You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.3 KiB
106 lines
3.3 KiB
//
|
|
// FillRecoveryCodeViewController.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by Sujal on 12/20/17.
|
|
// Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
|
|
class FillRecoveryCodeViewController: UIViewController {
|
|
|
|
private var fillrecoverycodeviewmodel = FillRecoveryCodeViewModel()
|
|
private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
|
|
|
|
|
|
@IBOutlet weak var textFieldRecoveryCode: UITextField!
|
|
|
|
@IBAction func gotoPreviousView(_ sender: Any) {
|
|
|
|
_ = navigationController?.popViewController(animated: true)
|
|
}
|
|
|
|
|
|
@IBAction func submitRecoveryCode(_ sender: Any) {
|
|
|
|
let recoverycode: String = textFieldRecoveryCode.text!
|
|
fillrecoverycodeviewmodel.setCode(code: recoverycode)
|
|
|
|
switch fillrecoverycodeviewmodel.checkCodeLength() {
|
|
case .Valid:
|
|
disableUserInteractions()
|
|
showActivityIndicator(activityIndicator: activityIndicator)
|
|
fillrecoverycodeviewmodel.resetUser()
|
|
case .InValid(let error):
|
|
self.popUpMessageError(value: 11, message: error)
|
|
}
|
|
}
|
|
|
|
override func viewDidLoad() {
|
|
|
|
super.viewDidLoad()
|
|
|
|
self.hideKeyboardWhenTappedAround()
|
|
|
|
textFieldRecoveryCode.delegate = self
|
|
|
|
fillrecoverycodeviewmodel.authenticated.value = nil
|
|
|
|
fillrecoverycodeviewmodel.internetConnection.value = nil
|
|
|
|
fillrecoverycodeviewmodel.fillCodeConnectionTimeOut.value = nil
|
|
/**
|
|
connection timeout
|
|
*/
|
|
fillrecoverycodeviewmodel.fillCodeConnectionTimeOut.bind { [unowned self] in
|
|
guard $0 != nil else {
|
|
return
|
|
}
|
|
self.enableUserInteractions()
|
|
self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
|
|
self.popUpMessage(value: 20)
|
|
}
|
|
|
|
/**
|
|
Internet Check
|
|
*/
|
|
fillrecoverycodeviewmodel.internetConnection.bind { [unowned self] in
|
|
guard $0 != nil else {
|
|
return
|
|
}
|
|
self.enableUserInteractions()
|
|
self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
|
|
self.popUpMessage(value: 15)
|
|
|
|
}
|
|
|
|
/**
|
|
Check the authenticated code
|
|
*/
|
|
fillrecoverycodeviewmodel.authenticated.bind { [unowned self] in
|
|
guard $0 != nil else {
|
|
return
|
|
}
|
|
self.dismissActivityIndicator(activityIndicator: self.activityIndicator)
|
|
self.enableUserInteractions()
|
|
guard $0! else {
|
|
self.popUpMessageError(value: 10, message: self.fillrecoverycodeviewmodel.getErrorMessage())
|
|
return
|
|
}
|
|
self.performSegue(withIdentifier: "changePassword", sender: nil)
|
|
}
|
|
}
|
|
}
|
|
|
|
extension FillRecoveryCodeViewController: UITextFieldDelegate {
|
|
|
|
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
|
|
guard let code = textField.text else {
|
|
return true
|
|
}
|
|
let length = code.characters.count + string.characters.count - range.length
|
|
return length <= 4
|
|
}
|
|
}
|