Fix Bug 41097

This commit is contained in:
Julia Radzhabova 2019-04-08 18:40:08 +03:00
parent f89a8674b0
commit 3adde58fde
7 changed files with 18 additions and 4 deletions

View file

@ -54,6 +54,7 @@ define([
var storeUsers, appConfig; var storeUsers, appConfig;
var $userList, $panelUsers, $btnUsers; var $userList, $panelUsers, $btnUsers;
var $saveStatus; var $saveStatus;
var _readonlyRights = false;
var templateUserItem = var templateUserItem =
'<li id="<%= user.get("iid") %>" class="<% if (!user.get("online")) { %> offline <% } if (user.get("view")) {%> viewmode <% } %>">' + '<li id="<%= user.get("iid") %>" class="<% if (!user.get("online")) { %> offline <% } if (user.get("view")) {%> viewmode <% } %>">' +
@ -165,7 +166,7 @@ define([
.removeClass('dropdown-toggle') .removeClass('dropdown-toggle')
.menu = false; .menu = false;
$panelUsers[(appConfig && !appConfig.isReviewOnly && appConfig.sharingSettingsUrl && appConfig.sharingSettingsUrl.length) ? 'show' : 'hide'](); $panelUsers[(!_readonlyRights && appConfig && !appConfig.isReviewOnly && appConfig.sharingSettingsUrl && appConfig.sharingSettingsUrl.length) ? 'show' : 'hide']();
} }
$btnUsers.find('.caption') $btnUsers.find('.caption')
@ -180,6 +181,12 @@ define([
} }
} }
function onLostEditRights() {
_readonlyRights = true;
$panelUsers.find('#tlb-change-rights').hide();
$btnUsers && !$btnUsers.menu && $panelUsers.hide();
}
function onUsersClick(e) { function onUsersClick(e) {
if ( !$btnUsers.menu ) { if ( !$btnUsers.menu ) {
$panelUsers.removeClass('open'); $panelUsers.removeClass('open');
@ -390,6 +397,7 @@ define([
Common.NotificationCenter.on('app:face', function(mode) { Common.NotificationCenter.on('app:face', function(mode) {
Common.Utils.asyncCall(onAppShowed, me, mode); Common.Utils.asyncCall(onAppShowed, me, mode);
}); });
Common.NotificationCenter.on('collaboration:sharingdeny', onLostEditRights);
}, },
render: function (el, role) { render: function (el, role) {

View file

@ -408,7 +408,7 @@ define([
old_rights = this._state.lostEditingRights; old_rights = this._state.lostEditingRights;
this._state.lostEditingRights = !this._state.lostEditingRights; this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect(); this.api.asc_coAuthoringDisconnect();
this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights(); Common.NotificationCenter.trigger('collaboration:sharingdeny');
Common.NotificationCenter.trigger('api:disconnect'); Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights) if (!old_rights)
Common.UI.warning({ Common.UI.warning({
@ -1407,6 +1407,7 @@ define([
} }
this._state.lostEditingRights = true; this._state.lostEditingRights = true;
config.msg = this.errorUserDrop; config.msg = this.errorUserDrop;
Common.NotificationCenter.trigger('collaboration:sharingdeny');
break; break;
case Asc.c_oAscError.ID.MailMergeLoadFile: case Asc.c_oAscError.ID.MailMergeLoadFile:

View file

@ -945,6 +945,7 @@ define([
} }
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this)); Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
Common.NotificationCenter.on('collaboration:sharingdeny', _.bind(this.onLostEditRights, this));
return this; return this;
}, },

View file

@ -381,7 +381,7 @@ define([
old_rights = this._state.lostEditingRights; old_rights = this._state.lostEditingRights;
this._state.lostEditingRights = !this._state.lostEditingRights; this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect(); this.api.asc_coAuthoringDisconnect();
this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights(); Common.NotificationCenter.trigger('collaboration:sharingdeny');
Common.NotificationCenter.trigger('api:disconnect'); Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights) if (!old_rights)
Common.UI.warning({ Common.UI.warning({
@ -1140,6 +1140,7 @@ define([
} }
this._state.lostEditingRights = true; this._state.lostEditingRights = true;
config.msg = this.errorUserDrop; config.msg = this.errorUserDrop;
Common.NotificationCenter.trigger('collaboration:sharingdeny');
break; break;
case Asc.c_oAscError.ID.Warning: case Asc.c_oAscError.ID.Warning:

View file

@ -762,6 +762,7 @@ define([
} }
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this)); Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
Common.NotificationCenter.on('collaboration:sharingdeny', _.bind(this.onLostEditRights, this));
return this; return this;
}, },

View file

@ -404,7 +404,7 @@ define([
old_rights = this._state.lostEditingRights; old_rights = this._state.lostEditingRights;
this._state.lostEditingRights = !this._state.lostEditingRights; this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect(); this.api.asc_coAuthoringDisconnect();
this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights(); Common.NotificationCenter.trigger('collaboration:sharingdeny');
Common.NotificationCenter.trigger('api:disconnect'); Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights) if (!old_rights)
Common.UI.warning({ Common.UI.warning({
@ -1276,6 +1276,7 @@ define([
} }
this._state.lostEditingRights = true; this._state.lostEditingRights = true;
config.msg = this.errorUserDrop; config.msg = this.errorUserDrop;
Common.NotificationCenter.trigger('collaboration:sharingdeny');
break; break;
case Asc.c_oAscError.ID.InvalidReferenceOrName: case Asc.c_oAscError.ID.InvalidReferenceOrName:

View file

@ -1217,6 +1217,7 @@ define([
} }
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this)); Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
Common.NotificationCenter.on('collaboration:sharingdeny', _.bind(this.onLostEditRights, this));
return this; return this;
}, },