Disable removal of rainloop.user script

This commit is contained in:
djmaze 2021-01-19 17:42:38 +01:00
parent ee37ad67bb
commit 76bc8aa107
3 changed files with 9 additions and 7 deletions

View file

@ -13,6 +13,7 @@ class SieveScriptModel extends AbstractModel
active: false, active: false,
body: '', body: '',
exists: false,
nameError: false, nameError: false,
bodyError: false, bodyError: false,
deleteAccess: false, deleteAccess: false,
@ -72,6 +73,8 @@ class SieveScriptModel extends AbstractModel
} else { } else {
script.filters([]); script.filters([]);
} }
script.canBeDeleted(0 !== json.name.indexOf('rainloop.user'));
script.exists(true);
script.hasChanges(false); script.hasChanges(false);
} }
return script; return script;

View file

@ -21,7 +21,6 @@ class SieveScriptPopupView extends AbstractViewNext {
super(); super();
ko.addObservablesTo(this, { ko.addObservablesTo(this, {
isNew: true,
saveError: false, saveError: false,
saveErrorText: '', saveErrorText: '',
rawActive: false, rawActive: false,
@ -42,7 +41,7 @@ class SieveScriptPopupView extends AbstractViewNext {
return false; return false;
} }
if (this.isNew() && SieveStore.scripts.find(item => item.name() === script.name())) { if (!script.exists() && SieveStore.scripts.find(item => item.name() === script.name())) {
script.nameError(true); script.nameError(true);
return false; return false;
} }
@ -55,6 +54,7 @@ class SieveScriptPopupView extends AbstractViewNext {
this.saving = false; this.saving = false;
if (StorageResultType.Success === result && data && data.Result) { if (StorageResultType.Success === result && data && data.Result) {
script.exists(true);
script.hasChanges(false); script.hasChanges(false);
SieveStore.scripts.push(script); SieveStore.scripts.push(script);
} else { } else {
@ -119,7 +119,6 @@ class SieveScriptPopupView extends AbstractViewNext {
onShow(oScript) { onShow(oScript) {
this.script(oScript); this.script(oScript);
this.rawActive(!oScript.allowFilters()); this.rawActive(!oScript.allowFilters());
this.isNew(!oScript.name());
this.saveError(false); this.saveError(false);
} }

View file

@ -3,8 +3,8 @@
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-bind="command: $root.cancelCommand">×</button> <button type="button" class="close" data-bind="command: $root.cancelCommand">×</button>
<h3> <h3>
<span class="i18n" data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_CREATE" data-bind="visible: $root.isNew"></span> <span class="i18n" data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_CREATE" data-bind="visible: !exists()"></span>
<span class="i18n" data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_EDIT" data-bind="visible: !$root.isNew()"></span> <span class="i18n" data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_EDIT" data-bind="visible: exists"></span>
</h3> </h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -12,11 +12,11 @@
<div class="control-group" data-bind="css: {'error': nameError}"> <div class="control-group" data-bind="css: {'error': nameError}">
<div class="controls"> <div class="controls">
<input type="text" class="i18n span5" <input type="text" class="i18n span5"
data-bind="value: name, hasFocus: $root.isNew, visible: $root.isNew" data-bind="value: name, hasFocus: !exists(), visible: !exists()"
autocorrect="off" autocapitalize="off" spellcheck="false" autocorrect="off" autocapitalize="off" spellcheck="false"
data-i18n="[placeholder]POPUPS_SIEVE_SCRIPT/SCRIPT_NAME" data-i18n="[placeholder]POPUPS_SIEVE_SCRIPT/SCRIPT_NAME"
/> />
<span data-bind="text: name, visible: !$root.isNew()"></span> <span data-bind="text: name, visible: exists"></span>
</div> </div>
</div> </div>