diff --git a/dev/Model/SieveScript.js b/dev/Model/SieveScript.js index 1749a1f31..cdc302949 100644 --- a/dev/Model/SieveScript.js +++ b/dev/Model/SieveScript.js @@ -16,7 +16,7 @@ class SieveScriptModel extends AbstractModel nameError: false, bodyError: false, deleteAccess: false, - canBeDeleted: false, + canBeDeleted: true, hasChanges: false }); diff --git a/dev/Settings/User/Filters.js b/dev/Settings/User/Filters.js index 90895a997..3941cbddb 100644 --- a/dev/Settings/User/Filters.js +++ b/dev/Settings/User/Filters.js @@ -67,26 +67,11 @@ class FiltersUserSettings { } addScript() { - const script = new SieveScriptModel(); - showScreenPopup(require('View/Popup/SieveScript'), [ - script, - () => { - if (!this.scripts[script.name]) { - this.scripts[script.name] = script.name; - } - }, - false - ]); + showScreenPopup(require('View/Popup/SieveScript'), [new SieveScriptModel()]); } editScript(script) { - showScreenPopup(require('View/Popup/SieveScript'), [ - script, - () => { - // TODO on save - }, - true - ]); + showScreenPopup(require('View/Popup/SieveScript'), [script]); } deleteScript(script) { diff --git a/dev/View/Popup/SieveScript.js b/dev/View/Popup/SieveScript.js index e96649c66..87fda71b9 100644 --- a/dev/View/Popup/SieveScript.js +++ b/dev/View/Popup/SieveScript.js @@ -42,6 +42,11 @@ class SieveScriptPopupView extends AbstractViewNext { return false; } + if (this.isNew() && SieveStore.scripts.find(item => item.name() === script.name())) { + script.nameError(true); + return false; + } + this.saving = true; this.saveError(false); @@ -51,6 +56,7 @@ class SieveScriptPopupView extends AbstractViewNext { if (StorageResultType.Success === result && data && data.Result) { script.hasChanges(false); + SieveStore.scripts.push(script); } else { this.saveError(true); this.saveErrorText((data && data.ErrorCode) @@ -110,11 +116,10 @@ class SieveScriptPopupView extends AbstractViewNext { }); } - onShow(oScript, fTrueCallback, bEdit) { - this.fTrueCallback = fTrueCallback; + onShow(oScript) { this.script(oScript); this.rawActive(!oScript.allowFilters()); - this.isNew(!bEdit); + this.isNew(!oScript.name()); this.saveError(false); } diff --git a/snappymail/v/0.0.0/app/localization/webmail/_source.en.yml b/snappymail/v/0.0.0/app/localization/webmail/_source.en.yml index f50a606d8..d37570b7e 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/_source.en.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/_source.en.yml @@ -440,6 +440,7 @@ en: BUTTON_BACK: "Back" SETTINGS_FILTERS: LEGEND_FILTERS: "Filters" + BUTTON_ADD_SCRIPT: "Add a Script" BUTTON_DELETE: "Delete" SUBNAME_NONE: "None" SUBNAME_MOVE_TO: "Move to \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/de_DE.yml b/snappymail/v/0.0.0/app/localization/webmail/de_DE.yml index 304084e3c..d8b9f9f8e 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/de_DE.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/de_DE.yml @@ -440,6 +440,7 @@ de_DE: BUTTON_BACK: "Zurück" SETTINGS_FILTERS: LEGEND_FILTERS: "Filter" + BUTTON_ADD_SCRIPT: "Skript hinzufügen" BUTTON_DELETE: "Löschen" SUBNAME_NONE: "Keine" SUBNAME_MOVE_TO: "Verschieben nach \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/en_GB.yml b/snappymail/v/0.0.0/app/localization/webmail/en_GB.yml index f05daa844..1b1caa407 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/en_GB.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/en_GB.yml @@ -440,6 +440,7 @@ en_GB: BUTTON_BACK: "Back" SETTINGS_FILTERS: LEGEND_FILTERS: "Filters" + BUTTON_ADD_SCRIPT: "Add a Script" BUTTON_DELETE: "Delete" SUBNAME_NONE: "None" SUBNAME_MOVE_TO: "Move to \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/en_US.yml b/snappymail/v/0.0.0/app/localization/webmail/en_US.yml index bc2d2ded5..195714b1d 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/en_US.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/en_US.yml @@ -440,6 +440,7 @@ en_US: BUTTON_BACK: "Back" SETTINGS_FILTERS: LEGEND_FILTERS: "Filters" + BUTTON_ADD_SCRIPT: "Add a Script" BUTTON_DELETE: "Delete" SUBNAME_NONE: "None" SUBNAME_MOVE_TO: "Move to \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/es_ES.yml b/snappymail/v/0.0.0/app/localization/webmail/es_ES.yml index 0fdb4b2ed..6ba476264 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/es_ES.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/es_ES.yml @@ -441,6 +441,7 @@ es_ES: BUTTON_BACK: "Atrás" SETTINGS_FILTERS: LEGEND_FILTERS: "Filtros" + BUTTON_ADD_SCRIPT: "Añadir un Script" BUTTON_DELETE: "Borrar" SUBNAME_NONE: "Ninguno" SUBNAME_MOVE_TO: "Mover a \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/fr_FR.yml b/snappymail/v/0.0.0/app/localization/webmail/fr_FR.yml index b07f4da3c..89e3e1b0b 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/fr_FR.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/fr_FR.yml @@ -441,6 +441,7 @@ fr_FR: BUTTON_BACK: "Retour" SETTINGS_FILTERS: LEGEND_FILTERS: "Filtres" + BUTTON_ADD_SCRIPT: "Ajouter un Script" BUTTON_DELETE: "Effacer" SUBNAME_NONE: "Aucun" SUBNAME_MOVE_TO: "Déplacer vers \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/nl_NL.yml b/snappymail/v/0.0.0/app/localization/webmail/nl_NL.yml index 6f432e604..8d971fc30 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/nl_NL.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/nl_NL.yml @@ -439,6 +439,7 @@ nl_NL: BUTTON_BACK: "Terug" SETTINGS_FILTERS: LEGEND_FILTERS: "Filters" + BUTTON_ADD_SCRIPT: "Script toevoegen" BUTTON_DELETE: "Verwijder" SUBNAME_NONE: "Geen" SUBNAME_MOVE_TO: "Verplaats naar map \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/localization/webmail/zh_CN.yml b/snappymail/v/0.0.0/app/localization/webmail/zh_CN.yml index 073ab5092..600994abf 100644 --- a/snappymail/v/0.0.0/app/localization/webmail/zh_CN.yml +++ b/snappymail/v/0.0.0/app/localization/webmail/zh_CN.yml @@ -438,6 +438,7 @@ zh_CN: BUTTON_BACK: "返回" SETTINGS_FILTERS: LEGEND_FILTERS: "筛选器" + BUTTON_ADD_SCRIPT: "Add a Script" BUTTON_DELETE: "删除" SUBNAME_NONE: "无" SUBNAME_MOVE_TO: "移动到 \"%FOLDER%\"" diff --git a/snappymail/v/0.0.0/app/templates/Views/User/SettingsFilters.html b/snappymail/v/0.0.0/app/templates/Views/User/SettingsFilters.html index 81504b0ba..475d4ab51 100644 --- a/snappymail/v/0.0.0/app/templates/Views/User/SettingsFilters.html +++ b/snappymail/v/0.0.0/app/templates/Views/User/SettingsFilters.html @@ -21,7 +21,6 @@ data-bind="i18nUpdate: scripts"> - @@ -47,6 +46,11 @@ + + +    + +