Browse Source

added login to show hide fields

pull/1/head
gme_2 6 years ago
parent
commit
2d2bc133b5
  1. 1
      GMERemittance/Home/HomeViewController.swift
  2. 18
      GMERemittance/Model/KycModel.swift
  3. 2
      GMERemittance/Module/New Group/kycForm2/User Interface/View/kycForm2.storyboard
  4. 61
      GMERemittance/Module/New Group/kycForm2/User Interface/View/kycForm2ViewController.swift
  5. 2
      GMERemittance/Module/Register/Application Logic/Interactor/RegisterInteractor.swift

1
GMERemittance/Home/HomeViewController.swift

@ -164,6 +164,7 @@ class HomeViewController: UIViewController, TableViewCellDelegate, FBSDKSharing
} }
func isVerifiedUser() -> Bool { func isVerifiedUser() -> Bool {
return false
let val = (UserDefaults.standard.object(forKey: UserKeys.verified) as? Bool ) ?? false let val = (UserDefaults.standard.object(forKey: UserKeys.verified) as? Bool ) ?? false
print("value is") print("value is")
print(val) print(val)

18
GMERemittance/Model/KycModel.swift

@ -33,7 +33,7 @@ class KycModel: Mappable {
var city: [KeyValueModel]? var city: [KeyValueModel]?
var occupations: [KeyValueModel]? var occupations: [KeyValueModel]?
var bank: [KeyValueModel]? var bank: [KeyValueModel]?
var idType: [KeyValueModel]?
var idType: [VerificationIdType]?
var sourceOfFund: [KeyValueModel]? var sourceOfFund: [KeyValueModel]?
required init?(map: Map) { required init?(map: Map) {
@ -51,6 +51,22 @@ class KycModel: Mappable {
} }
class VerificationIdType: Mappable {
var id: String?
var text: String?
var dependent: [String]?
required init?(map: Map) {
}
func mapping(map: Map) {
id <- map["id"]
text <- map["text"]
dependent <- map["dependent"]
}
}
class KeyValueModel: Mappable { class KeyValueModel: Mappable {
var id: String? var id: String?
var text: String? var text: String?

2
GMERemittance/Module/New Group/kycForm2/User Interface/View/kycForm2.storyboard

@ -345,8 +345,10 @@
<outlet property="bankErrorLabel" destination="OjW-FG-E8v" id="Pih-0t-nkB"/> <outlet property="bankErrorLabel" destination="OjW-FG-E8v" id="Pih-0t-nkB"/>
<outlet property="bankTextField" destination="Set-eg-8lP" id="y3w-mI-9t5"/> <outlet property="bankTextField" destination="Set-eg-8lP" id="y3w-mI-9t5"/>
<outlet property="expiryDateErrorLabel" destination="1ib-sC-j3N" id="4Cg-Gz-1am"/> <outlet property="expiryDateErrorLabel" destination="1ib-sC-j3N" id="4Cg-Gz-1am"/>
<outlet property="expiryDateStackView" destination="qDi-tw-Y65" id="Tnw-3d-6Wp"/>
<outlet property="expiryDateTextField" destination="Nrg-9j-ZFG" id="Z0E-Fz-fUU"/> <outlet property="expiryDateTextField" destination="Nrg-9j-ZFG" id="Z0E-Fz-fUU"/>
<outlet property="issueDateErrorLabel" destination="wxY-TQ-cBk" id="pAm-MP-AC5"/> <outlet property="issueDateErrorLabel" destination="wxY-TQ-cBk" id="pAm-MP-AC5"/>
<outlet property="issueDateStackView" destination="yM7-a3-ulY" id="wjw-l8-onO"/>
<outlet property="issueDateTextField" destination="kUi-PF-GWY" id="gSf-zN-hf6"/> <outlet property="issueDateTextField" destination="kUi-PF-GWY" id="gSf-zN-hf6"/>
<outlet property="sourceOfFundErrorLabel" destination="lNc-Z7-jX6" id="Hld-MK-nnR"/> <outlet property="sourceOfFundErrorLabel" destination="lNc-Z7-jX6" id="Hld-MK-nnR"/>
<outlet property="sourceOfFundTextField" destination="gnX-qG-gpP" id="BwJ-Kl-Un7"/> <outlet property="sourceOfFundTextField" destination="gnX-qG-gpP" id="BwJ-Kl-Un7"/>

61
GMERemittance/Module/New Group/kycForm2/User Interface/View/kycForm2ViewController.swift

@ -18,6 +18,8 @@ class KycForm2Model {
var expiryDate = "" var expiryDate = ""
var sourceOfFund = "" var sourceOfFund = ""
var issueDate = "" var issueDate = ""
var checkIssueDate = false
var checkExpiryDate = false
} }
struct KycForm2FieldKeys { struct KycForm2FieldKeys {
@ -33,9 +35,15 @@ struct KycForm2FieldKeys {
class KycForm2ViewController: UIViewController { class KycForm2ViewController: UIViewController {
struct Constants { struct Constants {
static let stateRedColor = UIColor.init(hex: "#EC1C24") static let stateRedColor = UIColor.init(hex: "#EC1C24")
static let clearColor = UIColor.clear static let clearColor = UIColor.clear
static let issueDateText = "docIssueDate"
static let expiryDateText = "docExpiryDate"
static let issueDateTag = 30001
static let expiryDateTag = 30002
} }
// MARK: IBOutlets // MARK: IBOutlets
@ -62,6 +70,10 @@ class KycForm2ViewController: UIViewController {
@IBOutlet weak var issueDateTextField: UITextField! @IBOutlet weak var issueDateTextField: UITextField!
// stackViews
@IBOutlet weak var expiryDateStackView: UIStackView!
@IBOutlet weak var issueDateStackView: UIStackView!
// MARK: Properties // MARK: Properties
var errorLabels: [UILabel] = [] var errorLabels: [UILabel] = []
@ -70,6 +82,10 @@ class KycForm2ViewController: UIViewController {
var errorTextFieldDict: [String: UITextField] = [:] var errorTextFieldDict: [String: UITextField] = [:]
var errorLabelsDict: [String: UILabel] = [:] var errorLabelsDict: [String: UILabel] = [:]
var hiddenFieldsDict: [String: UIStackView]?
var hiddenFields: [UIStackView]?
var kycModel: KycModel? { var kycModel: KycModel? {
didSet { didSet {
self.banks = kycModel?.bank self.banks = kycModel?.bank
@ -80,7 +96,12 @@ class KycForm2ViewController: UIViewController {
var banks: [KeyValueModel]? var banks: [KeyValueModel]?
var verificationIdTypes: [KeyValueModel]?
var verificationIdTypes: [VerificationIdType]? {
didSet {
}
}
var sourceOfFunds:[KeyValueModel]? var sourceOfFunds:[KeyValueModel]?
@ -91,10 +112,26 @@ class KycForm2ViewController: UIViewController {
} }
} }
var slectedVerificationIdType: KeyValueModel? {
var selectedVerificationIdType: VerificationIdType? {
didSet { didSet {
self.verificationIdTextField.text = self.slectedVerificationIdType?.text
self.kycForm2Model.verificationId = self.slectedVerificationIdType?.id ?? ""
self.verificationIdTextField.text = self.selectedVerificationIdType?.text
self.kycForm2Model.verificationId = self.selectedVerificationIdType?.id ?? ""
var _views: [UIStackView] = []
_views = (self.selectedVerificationIdType?.dependent ?? []).compactMap({
print($0)
return self.hiddenFieldsDict?[$0]
})
self.hiddenFields?.forEach({
if _views.contains($0) {
self.kycForm2Model.checkIssueDate = $0.tag == Constants.issueDateTag
self.kycForm2Model.checkExpiryDate = $0.tag == Constants.expiryDateTagi
$0.isHidden = false
}else {
$0.isHidden = true
}
})
} }
} }
@ -150,6 +187,20 @@ class KycForm2ViewController: UIViewController {
setupErrorTextFields() setupErrorTextFields()
setupDatePicker() setupDatePicker()
setupDelegates() setupDelegates()
setupHiddenFields()
}
private func setupHiddenFields() {
self.hiddenFields = [issueDateStackView, expiryDateStackView]
issueDateStackView.tag = Constants.issueDateTag
expiryDateStackView.tag = Constants.expiryDateTag
self.hiddenFieldsDict = [
Constants.issueDateText : issueDateStackView,
Constants.expiryDateText: expiryDateStackView
]
self.hiddenFieldsDict?.forEach({
$0.value.isHidden = true
})
} }
private func validate() { private func validate() {
@ -383,7 +434,7 @@ extension KycForm2ViewController {
func cardTypeSelected(models: [String]) { func cardTypeSelected(models: [String]) {
let _model = self.verificationIdTypes?.filter({($0.text ?? "") == (models.first ?? "") }).first let _model = self.verificationIdTypes?.filter({($0.text ?? "") == (models.first ?? "") }).first
self.slectedVerificationIdType = _model
self.selectedVerificationIdType = _model
} }
private func showSourceOfFundPicker() { private func showSourceOfFundPicker() {

2
GMERemittance/Module/Register/Application Logic/Interactor/RegisterInteractor.swift

@ -106,6 +106,7 @@ class RegisterInteractor {
if !isValidLength() { if !isValidLength() {
error = error + "\n Password should be greater than 8 character." error = error + "\n Password should be greater than 8 character."
isValid = false isValid = false
return (isValid, error)
} }
let validPassword = hasNumber() && hasLetter() && hasSpecialCharacter() let validPassword = hasNumber() && hasLetter() && hasSpecialCharacter()
@ -113,6 +114,7 @@ class RegisterInteractor {
if !validPassword { if !validPassword {
isValid = false isValid = false
error = error + "\n Password should contain at least 1 number, 1 letter and 1 special character" error = error + "\n Password should contain at least 1 number, 1 letter and 1 special character"
return (isValid, error)
} }
if password != confirmPassword { if password != confirmPassword {

Loading…
Cancel
Save