[DE] Fix Bug 60193

This commit is contained in:
Julia Radzhabova 2022-12-16 21:12:05 +03:00
parent 532b633ae8
commit eaff5a4b7c
2 changed files with 27 additions and 2 deletions

View file

@ -147,6 +147,23 @@ define([
},
onAppReady: function (config) {
var me = this;
(new Promise(function (accept, reject) {
accept();
})).then(function(){
me.onChangeProtectDocument();
Common.NotificationCenter.on('protect:doclock', _.bind(me.onChangeProtectDocument, me));
});
},
onChangeProtectDocument: function(props) {
if (!props) {
var docprotect = this.getApplication().getController('DocProtection');
props = docprotect ? docprotect.getDocProps() : null;
}
if (props && this.view) {
this.view._state.docProtection = props;
}
},
addPassword: function() {

View file

@ -87,10 +87,17 @@ define([
}
if (me.appConfig.isSignatureSupport) {
if (this.btnSignature.menu)
if (this.btnSignature.menu) {
this.btnSignature.menu.on('item:click', function (menu, item, e) {
me.fireEvent('protect:signature', [item.value, false]);
});
this.btnSignature.menu.on('show:after', function (menu, e) {
if (me._state) {
var isProtected = me._state.docProtection ? me._state.docProtection.isReadOnly || me._state.docProtection.isFormsOnly || me._state.docProtection.isCommentsOnly : false;
menu.items && menu.items[1].setDisabled(isProtected || me._state.disabled);
}
});
}
this.btnsInvisibleSignature.forEach(function(button) {
button.on('click', function (b, e) {
@ -314,13 +321,14 @@ define([
SetDisabled: function (state, canProtect) {
this._state.disabled = state;
this._state.invisibleSignDisabled = state && !canProtect;
var isProtected = this._state.docProtection ? this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly || this._state.docProtection.isCommentsOnly : false;
this.btnsInvisibleSignature && this.btnsInvisibleSignature.forEach(function(button) {
if ( button ) {
button.setDisabled(state && !canProtect);
}
}, this);
if (this.btnSignature && this.btnSignature.menu) {
this.btnSignature.menu.items && this.btnSignature.menu.items[1].setDisabled(state); // disable adding signature line
this.btnSignature.menu.items && this.btnSignature.menu.items[1].setDisabled(state || isProtected); // disable adding signature line
this.btnSignature.setDisabled(state && !canProtect); // disable adding any signature
}
this.btnsAddPwd.concat(this.btnsDelPwd, this.btnsChangePwd).forEach(function(button) {