[DE] Lock controls when document is protected (review only)
This commit is contained in:
parent
7f703b6294
commit
8f1f89ee31
|
@ -167,13 +167,15 @@ define([
|
||||||
SetDisabled: function(state, reviewMode, fillFormMode) {
|
SetDisabled: function(state, reviewMode, fillFormMode) {
|
||||||
if (this.dlgChanges)
|
if (this.dlgChanges)
|
||||||
this.dlgChanges.close();
|
this.dlgChanges.close();
|
||||||
if (reviewMode)
|
if (reviewMode) {
|
||||||
this.lockToolbar(Common.enumLock.previewReviewMode, state);
|
this.lockToolbar(Common.enumLock.previewReviewMode, state);
|
||||||
else if (fillFormMode)
|
this.dlgChanges && Common.Utils.lockControls(Common.enumLock.previewReviewMode, state, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
|
} else if (fillFormMode) {
|
||||||
this.lockToolbar(Common.enumLock.viewFormMode, state);
|
this.lockToolbar(Common.enumLock.viewFormMode, state);
|
||||||
else
|
this.dlgChanges && Common.Utils.lockControls(Common.enumLock.viewFormMode, state, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
|
} else {
|
||||||
this.lockToolbar(Common.enumLock.viewMode, state);
|
this.lockToolbar(Common.enumLock.viewMode, state);
|
||||||
|
}
|
||||||
this.setPreviewMode(state);
|
this.setPreviewMode(state);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -218,17 +220,14 @@ define([
|
||||||
onApiShowChange: function (sdkchange, isShow) {
|
onApiShowChange: function (sdkchange, isShow) {
|
||||||
var btnlock = true,
|
var btnlock = true,
|
||||||
changes;
|
changes;
|
||||||
if (this.appConfig.canReview && !this.appConfig.isReviewOnly) {
|
if (this.appConfig.canReview && !(this.appConfig.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly)) {
|
||||||
if (sdkchange && sdkchange.length>0) {
|
if (sdkchange && sdkchange.length>0) {
|
||||||
changes = this.readSDKChange(sdkchange);
|
changes = this.readSDKChange(sdkchange);
|
||||||
btnlock = this.isSelectedChangesLocked(changes, isShow);
|
btnlock = this.isSelectedChangesLocked(changes, isShow);
|
||||||
}
|
}
|
||||||
if (this._state.lock !== btnlock) {
|
if (this._state.lock !== btnlock) {
|
||||||
Common.Utils.lockControls(Common.enumLock.reviewChangelock, btnlock, {array: [this.view.btnAccept, this.view.btnReject]});
|
Common.Utils.lockControls(Common.enumLock.reviewChangelock, btnlock, {array: [this.view.btnAccept, this.view.btnReject]});
|
||||||
if (this.dlgChanges) {
|
this.dlgChanges && Common.Utils.lockControls(Common.enumLock.reviewChangelock, btnlock, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
this.dlgChanges.btnAccept.setDisabled(btnlock);
|
|
||||||
this.dlgChanges.btnReject.setDisabled(btnlock);
|
|
||||||
}
|
|
||||||
this._state.lock = btnlock;
|
this._state.lock = btnlock;
|
||||||
Common.Utils.InternalSettings.set(this.view.appPrefix + "accept-reject-lock", btnlock);
|
Common.Utils.InternalSettings.set(this.view.appPrefix + "accept-reject-lock", btnlock);
|
||||||
}
|
}
|
||||||
|
@ -496,6 +495,7 @@ define([
|
||||||
}
|
}
|
||||||
var date = (item.get_DateTime() == '') ? new Date() : new Date(item.get_DateTime()),
|
var date = (item.get_DateTime() == '') ? new Date() : new Date(item.get_DateTime()),
|
||||||
user = me.userCollection.findOriginalUser(item.get_UserId()),
|
user = me.userCollection.findOriginalUser(item.get_UserId()),
|
||||||
|
isProtectedReview = !!Common.Utils.Store.get('docProtection', {}).isReviewOnly,
|
||||||
change = new Common.Models.ReviewChange({
|
change = new Common.Models.ReviewChange({
|
||||||
uid : Common.UI.getId(),
|
uid : Common.UI.getId(),
|
||||||
userid : item.get_UserId(),
|
userid : item.get_UserId(),
|
||||||
|
@ -511,7 +511,7 @@ define([
|
||||||
scope : me.view,
|
scope : me.view,
|
||||||
hint : !me.appConfig.canReview,
|
hint : !me.appConfig.canReview,
|
||||||
goto : (item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveTo || item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveFrom),
|
goto : (item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveTo || item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveFrom),
|
||||||
editable : me.appConfig.isReviewOnly && (item.get_UserId() == me.currentUserId) || !me.appConfig.isReviewOnly && (!me.appConfig.canUseReviewPermissions || AscCommon.UserInfoParser.canEditReview(item.get_UserName()))
|
editable : (me.appConfig.isReviewOnly || isProtectedReview) && (item.get_UserId() == me.currentUserId) || !(me.appConfig.isReviewOnly || isProtectedReview) && (!me.appConfig.canUseReviewPermissions || AscCommon.UserInfoParser.canEditReview(item.get_UserName()))
|
||||||
});
|
});
|
||||||
|
|
||||||
arr.push(change);
|
arr.push(change);
|
||||||
|
@ -600,7 +600,7 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
onTurnPreview: function(state, global, fromApi) {
|
onTurnPreview: function(state, global, fromApi) {
|
||||||
if ( this.appConfig.isReviewOnly ) {
|
if ( this.appConfig.isReviewOnly) {
|
||||||
this.view.turnChanges(true);
|
this.view.turnChanges(true);
|
||||||
} else
|
} else
|
||||||
if ( this.appConfig.canReview ) {
|
if ( this.appConfig.canReview ) {
|
||||||
|
@ -614,7 +614,7 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
onApiTrackRevisionsChange: function(localFlag, globalFlag, userId) {
|
onApiTrackRevisionsChange: function(localFlag, globalFlag, userId) {
|
||||||
if ( this.appConfig.isReviewOnly ) {
|
if ( this.appConfig.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly) {
|
||||||
this.view.turnChanges(true);
|
this.view.turnChanges(true);
|
||||||
} else
|
} else
|
||||||
if ( this.appConfig.canReview ) {
|
if ( this.appConfig.canReview ) {
|
||||||
|
@ -983,7 +983,8 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
onCoAuthoringDisconnect: function() {
|
onCoAuthoringDisconnect: function() {
|
||||||
this.lockToolbar(Common.enumLock.lostConnect, true)
|
this.lockToolbar(Common.enumLock.lostConnect, true);
|
||||||
|
this.dlgChanges && Common.Utils.lockControls(Common.enumLock.lostConnect, true, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
},
|
},
|
||||||
|
|
||||||
onUpdateUsers: function() {
|
onUpdateUsers: function() {
|
||||||
|
@ -1034,6 +1035,22 @@ define([
|
||||||
this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly);
|
this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly);
|
||||||
this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly);
|
this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly);
|
||||||
this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly);
|
this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly);
|
||||||
|
if (this.dlgChanges) {
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]});
|
||||||
|
}
|
||||||
|
if (this.appConfig.canReview) {
|
||||||
|
if (docProtection.isReviewOnly) {
|
||||||
|
this.onTurnPreview(true);
|
||||||
|
this.onApiShowChange();
|
||||||
|
} else if (this._state.prevReviewProtected) {
|
||||||
|
this.onTurnPreview(false);
|
||||||
|
this.onApiShowChange();
|
||||||
|
}
|
||||||
|
this._state.prevReviewProtected = docProtection.isReviewOnly;
|
||||||
|
}
|
||||||
this.updatePreviewMode();
|
this.updatePreviewMode();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<div class="btn-goto img-commonctrl"></div>
|
<div class="btn-goto img-commonctrl"></div>
|
||||||
<% } %>
|
<% } %>
|
||||||
<% if (!hint) { %>
|
<% if (!hint) { %>
|
||||||
<% if (scope.appConfig.isReviewOnly) { %>
|
<% if (scope.appConfig.isReviewOnly || Common.Utils.Store.get("docProtection", {}).isReviewOnly) { %>
|
||||||
<% if (editable) { %>
|
<% if (editable) { %>
|
||||||
<div class="btn-delete img-commonctrl"></div>
|
<div class="btn-delete img-commonctrl"></div>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
|
@ -259,7 +259,7 @@ define([
|
||||||
caption: this.txtAccept,
|
caption: this.txtAccept,
|
||||||
split: !this.appConfig.canUseReviewPermissions,
|
split: !this.appConfig.canUseReviewPermissions,
|
||||||
iconCls: 'toolbar__icon btn-review-save',
|
iconCls: 'toolbar__icon btn-review-save',
|
||||||
lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments],
|
lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview],
|
||||||
dataHint: '1',
|
dataHint: '1',
|
||||||
dataHintDirection: 'bottom',
|
dataHintDirection: 'bottom',
|
||||||
dataHintOffset: 'small'
|
dataHintOffset: 'small'
|
||||||
|
@ -271,7 +271,7 @@ define([
|
||||||
caption: this.txtReject,
|
caption: this.txtReject,
|
||||||
split: !this.appConfig.canUseReviewPermissions,
|
split: !this.appConfig.canUseReviewPermissions,
|
||||||
iconCls: 'toolbar__icon btn-review-deny',
|
iconCls: 'toolbar__icon btn-review-deny',
|
||||||
lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments],
|
lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview],
|
||||||
dataHint: '1',
|
dataHint: '1',
|
||||||
dataHintDirection: 'bottom',
|
dataHintDirection: 'bottom',
|
||||||
dataHintOffset: 'small'
|
dataHintOffset: 'small'
|
||||||
|
@ -294,7 +294,7 @@ define([
|
||||||
this.btnTurnOn = new Common.UI.Button({
|
this.btnTurnOn = new Common.UI.Button({
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
iconCls: 'toolbar__icon btn-ic-review',
|
iconCls: 'toolbar__icon btn-ic-review',
|
||||||
lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments],
|
lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview],
|
||||||
caption: this.txtTurnon,
|
caption: this.txtTurnon,
|
||||||
split: !this.appConfig.isReviewOnly,
|
split: !this.appConfig.isReviewOnly,
|
||||||
enableToggle: true,
|
enableToggle: true,
|
||||||
|
@ -731,7 +731,7 @@ define([
|
||||||
var button = new Common.UI.Button({
|
var button = new Common.UI.Button({
|
||||||
cls : 'btn-toolbar',
|
cls : 'btn-toolbar',
|
||||||
iconCls : 'toolbar__icon btn-ic-review',
|
iconCls : 'toolbar__icon btn-ic-review',
|
||||||
lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments],
|
lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments, Common.enumLock.docLockReview],
|
||||||
hintAnchor : 'top',
|
hintAnchor : 'top',
|
||||||
hint : this.tipReview,
|
hint : this.tipReview,
|
||||||
split : !this.appConfig.isReviewOnly,
|
split : !this.appConfig.isReviewOnly,
|
||||||
|
@ -983,6 +983,7 @@ define([
|
||||||
render: function() {
|
render: function() {
|
||||||
Common.UI.Window.prototype.render.call(this);
|
Common.UI.Window.prototype.render.call(this);
|
||||||
|
|
||||||
|
var _set = Common.enumLock;
|
||||||
this.btnPrev = new Common.UI.Button({
|
this.btnPrev = new Common.UI.Button({
|
||||||
cls: 'dlg-btn iconic',
|
cls: 'dlg-btn iconic',
|
||||||
iconCls: 'img-commonctrl prev',
|
iconCls: 'img-commonctrl prev',
|
||||||
|
@ -1003,7 +1004,8 @@ define([
|
||||||
cls : 'btn-toolbar',
|
cls : 'btn-toolbar',
|
||||||
caption : this.txtAccept,
|
caption : this.txtAccept,
|
||||||
split : true,
|
split : true,
|
||||||
disabled : this.mode.isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"),
|
disabled : this.mode.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"),
|
||||||
|
lock : [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview],
|
||||||
menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({
|
menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({
|
||||||
items: [
|
items: [
|
||||||
this.mnuAcceptCurrent = new Common.UI.MenuItem({
|
this.mnuAcceptCurrent = new Common.UI.MenuItem({
|
||||||
|
@ -1023,7 +1025,7 @@ define([
|
||||||
cls : 'btn-toolbar',
|
cls : 'btn-toolbar',
|
||||||
caption : this.txtReject,
|
caption : this.txtReject,
|
||||||
split : true,
|
split : true,
|
||||||
disabled : this.mode.isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"),
|
lock : [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview],
|
||||||
menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({
|
menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({
|
||||||
items: [
|
items: [
|
||||||
this.mnuRejectCurrent = new Common.UI.MenuItem({
|
this.mnuRejectCurrent = new Common.UI.MenuItem({
|
||||||
|
@ -1038,6 +1040,14 @@ define([
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
this.btnReject.render(this.$window.find('#id-review-button-reject'));
|
this.btnReject.render(this.$window.find('#id-review-button-reject'));
|
||||||
|
var arr = [this.btnAccept, this.btnReject];
|
||||||
|
Common.Utils.lockControls(Common.enumLock.isReviewOnly, this.mode.isReviewOnly, {array: arr});
|
||||||
|
var docProtection = Common.Utils.Store.get('docProtection', {});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: arr});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: arr});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: arr});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: arr});
|
||||||
|
Common.Utils.lockControls(Common.enumLock.reviewChangelock, !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), {array: arr});
|
||||||
|
|
||||||
var me = this;
|
var me = this;
|
||||||
this.btnPrev.on('click', function (e) {
|
this.btnPrev.on('click', function (e) {
|
||||||
|
|
Loading…
Reference in a new issue