From 8ed8223758bdf260e9f60db654515e9111468806 Mon Sep 17 00:00:00 2001 From: Yishi Lin Date: Thu, 27 Jul 2017 21:12:58 +0800 Subject: [PATCH] Fix PGP key setting checks --- ...GPKeyArmorSettingTableViewController.swift | 22 +++++++------------ .../PGPKeySettingTableViewController.swift | 14 ++++-------- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/pass/Controllers/PGPKeyArmorSettingTableViewController.swift b/pass/Controllers/PGPKeyArmorSettingTableViewController.swift index 5e28b73..30705b2 100644 --- a/pass/Controllers/PGPKeyArmorSettingTableViewController.swift +++ b/pass/Controllers/PGPKeyArmorSettingTableViewController.swift @@ -107,21 +107,15 @@ class PGPKeyArmorSettingTableViewController: UITableViewController, UITextViewDe scanPrivateKeyCell?.accessoryType = .disclosureIndicator } - override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { - if identifier == "savePGPKeySegue" { - if armorPublicKeyTextView.text.isEmpty { - Utils.alert(title: "Cannot Save", message: "Please set public key first.", controller: self, completion: nil) - return false - } - if armorPrivateKeyTextView.text.isEmpty { - Utils.alert(title: "Cannot Save", message: "Please set private key first.", controller: self, completion: nil) - return false - } - } - return true - } - @IBAction func save(_ sender: Any) { + guard armorPublicKeyTextView.text.isEmpty == false else { + Utils.alert(title: "Cannot Save", message: "Please set public key first.", controller: self, completion: nil) + return + } + guard armorPrivateKeyTextView.text.isEmpty == false else { + Utils.alert(title: "Cannot Save", message: "Please set private key first.", controller: self, completion: nil) + return + } let savePassphraseAlert = UIAlertController(title: "Passphrase", message: "Do you want to save the passphrase for later decryption?", preferredStyle: UIAlertControllerStyle.alert) // no savePassphraseAlert.addAction(UIAlertAction(title: "No", style: UIAlertActionStyle.default) { _ in diff --git a/pass/Controllers/PGPKeySettingTableViewController.swift b/pass/Controllers/PGPKeySettingTableViewController.swift index 54dfa9e..364b82a 100644 --- a/pass/Controllers/PGPKeySettingTableViewController.swift +++ b/pass/Controllers/PGPKeySettingTableViewController.swift @@ -24,16 +24,6 @@ class PGPKeySettingTableViewController: UITableViewController { pgpPassphrase = passwordStore.pgpKeyPassphrase } - override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { - if identifier == "savePGPKeySegue" { - guard validatePGPKeyURL(input: pgpPublicKeyURLTextField.text) == true, - validatePGPKeyURL(input: pgpPrivateKeyURLTextField.text) == true else { - return false - } - } - return true - } - private func validatePGPKeyURL(input: String?) -> Bool { guard let path = input, let url = URL(string: path) else { Utils.alert(title: "Cannot Save PGP Key", message: "Please set PGP Key URL first.", controller: self, completion: nil) @@ -47,6 +37,10 @@ class PGPKeySettingTableViewController: UITableViewController { } @IBAction func save(_ sender: Any) { + guard validatePGPKeyURL(input: pgpPublicKeyURLTextField.text) == true, + validatePGPKeyURL(input: pgpPrivateKeyURLTextField.text) == true else { + return + } let savePassphraseAlert = UIAlertController(title: "Passphrase", message: "Do you want to save the passphrase for later decryption?", preferredStyle: UIAlertControllerStyle.alert) // no savePassphraseAlert.addAction(UIAlertAction(title: "No", style: UIAlertActionStyle.default) { _ in