mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-11-01 09:58:49 +03:00
Merge pull request #1863 from SergeyMosin/pgp-improvements
PGP improvements
This commit is contained in:
commit
77be04d427
15 changed files with 258 additions and 22 deletions
|
|
@ -51,6 +51,13 @@ export const GnuPGUserStore = new class {
|
|||
key.for = email => aEmails.includes(IDN.toASCII(email));
|
||||
key.askDelete = ko.observable(false);
|
||||
key.openForDeletion = ko.observable(null).askDeleteHelper();
|
||||
key.askForgetPass = ko.observable(false);
|
||||
key.openForPassForget = ko.observable(null).askDeleteHelper('askForgetPass');
|
||||
key.forgetPass = () => {
|
||||
Passphrases.delete(key);
|
||||
key.hasStoredPass(false);
|
||||
};
|
||||
key.hasStoredPass = ko.observable(Passphrases.hasInLocalStorage(key));
|
||||
key.remove = () => {
|
||||
if (key.askDelete()) {
|
||||
Remote.request('GnupgDeleteKey',
|
||||
|
|
@ -69,6 +76,7 @@ export const GnuPGUserStore = new class {
|
|||
isPrivate: isPrivate
|
||||
}
|
||||
);
|
||||
isPrivate && key.forgetPass();
|
||||
}
|
||||
};
|
||||
if (isPrivate) {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import { OpenPgpKeyPopupView } from 'View/Popup/OpenPgpKey';
|
|||
|
||||
import { Passphrases } from 'Storage/Passphrases';
|
||||
|
||||
import { baseCollator } from 'Common/Translator';
|
||||
import { baseCollator, getNotification } from 'Common/Translator';
|
||||
|
||||
const
|
||||
loaded = () => !!window.openpgp,
|
||||
|
|
@ -90,6 +90,9 @@ class OpenPgpKeyModel {
|
|||
this.armor = armor;
|
||||
this.askDelete = ko.observable(false);
|
||||
this.openForDeletion = ko.observable(null).askDeleteHelper();
|
||||
this.hasStoredPass = ko.observable(Passphrases.hasInLocalStorage(this));
|
||||
this.askForgetPass = ko.observable(false);
|
||||
this.openForPassForget = ko.observable(null).askDeleteHelper('askForgetPass');
|
||||
// key.getUserIDs()
|
||||
// key.getPrimaryUser()
|
||||
}
|
||||
|
|
@ -115,12 +118,29 @@ class OpenPgpKeyModel {
|
|||
if (this.key.isPrivate()) {
|
||||
OpenPGPUserStore.privateKeys.remove(this);
|
||||
storeOpenPgpKeys(OpenPGPUserStore.privateKeys, privateKeysItem);
|
||||
this.forgetPass()
|
||||
} else {
|
||||
OpenPGPUserStore.publicKeys.remove(this);
|
||||
storeOpenPgpKeys(OpenPGPUserStore.publicKeys, publicKeysItem);
|
||||
}
|
||||
Remote.request('DeletePGPKey',
|
||||
(iError, oData) => {
|
||||
if (oData) {
|
||||
if (iError || oData.Result === false) {
|
||||
alert(oData.message || getNotification(iError));
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: this.armor
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
forgetPass() {
|
||||
Passphrases.delete(this);
|
||||
this.hasStoredPass(false);
|
||||
}
|
||||
/*
|
||||
toJSON() {
|
||||
return this.armor;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue