diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js
index 7d594374a..bf8f3305c 100644
--- a/apps/common/main/lib/view/Header.js
+++ b/apps/common/main/lib/view/Header.js
@@ -54,6 +54,7 @@ define([
var storeUsers, appConfig;
var $userList, $panelUsers, $btnUsers;
var $saveStatus;
+ var _readonlyRights = false;
var templateUserItem =
'
" class="<% if (!user.get("online")) { %> offline <% } if (user.get("view")) {%> viewmode <% } %>">' +
@@ -165,7 +166,7 @@ define([
.removeClass('dropdown-toggle')
.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')
@@ -180,6 +181,12 @@ define([
}
}
+ function onLostEditRights() {
+ _readonlyRights = true;
+ $panelUsers.find('#tlb-change-rights').hide();
+ $btnUsers && !$btnUsers.menu && $panelUsers.hide();
+ }
+
function onUsersClick(e) {
if ( !$btnUsers.menu ) {
$panelUsers.removeClass('open');
@@ -390,6 +397,7 @@ define([
Common.NotificationCenter.on('app:face', function(mode) {
Common.Utils.asyncCall(onAppShowed, me, mode);
});
+ Common.NotificationCenter.on('collaboration:sharingdeny', onLostEditRights);
},
render: function (el, role) {
diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js
index df09ddc93..e32795458 100644
--- a/apps/documenteditor/main/app/controller/Main.js
+++ b/apps/documenteditor/main/app/controller/Main.js
@@ -408,7 +408,7 @@ define([
old_rights = this._state.lostEditingRights;
this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect();
- this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights();
+ Common.NotificationCenter.trigger('collaboration:sharingdeny');
Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights)
Common.UI.warning({
@@ -1407,6 +1407,7 @@ define([
}
this._state.lostEditingRights = true;
config.msg = this.errorUserDrop;
+ Common.NotificationCenter.trigger('collaboration:sharingdeny');
break;
case Asc.c_oAscError.ID.MailMergeLoadFile:
diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js
index 539eaa81b..3154ccfd8 100644
--- a/apps/documenteditor/main/app/view/FileMenuPanels.js
+++ b/apps/documenteditor/main/app/view/FileMenuPanels.js
@@ -945,6 +945,7 @@ define([
}
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
+ Common.NotificationCenter.on('collaboration:sharingdeny', _.bind(this.onLostEditRights, this));
return this;
},
diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js
index 328aa91e6..c8a32420c 100644
--- a/apps/presentationeditor/main/app/controller/Main.js
+++ b/apps/presentationeditor/main/app/controller/Main.js
@@ -381,7 +381,7 @@ define([
old_rights = this._state.lostEditingRights;
this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect();
- this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights();
+ Common.NotificationCenter.trigger('collaboration:sharingdeny');
Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights)
Common.UI.warning({
@@ -1140,6 +1140,7 @@ define([
}
this._state.lostEditingRights = true;
config.msg = this.errorUserDrop;
+ Common.NotificationCenter.trigger('collaboration:sharingdeny');
break;
case Asc.c_oAscError.ID.Warning:
diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js
index c3d19f6ce..3a7d31bd7 100644
--- a/apps/presentationeditor/main/app/view/FileMenuPanels.js
+++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js
@@ -762,6 +762,7 @@ define([
}
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
+ Common.NotificationCenter.on('collaboration:sharingdeny', _.bind(this.onLostEditRights, this));
return this;
},
diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js
index 4786254bc..d359cea10 100644
--- a/apps/spreadsheeteditor/main/app/controller/Main.js
+++ b/apps/spreadsheeteditor/main/app/controller/Main.js
@@ -404,7 +404,7 @@ define([
old_rights = this._state.lostEditingRights;
this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect();
- this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights();
+ Common.NotificationCenter.trigger('collaboration:sharingdeny');
Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights)
Common.UI.warning({
@@ -1276,6 +1276,7 @@ define([
}
this._state.lostEditingRights = true;
config.msg = this.errorUserDrop;
+ Common.NotificationCenter.trigger('collaboration:sharingdeny');
break;
case Asc.c_oAscError.ID.InvalidReferenceOrName:
diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
index 919be95ad..65731d5a8 100644
--- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
+++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
@@ -1217,6 +1217,7 @@ define([
}
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
+ Common.NotificationCenter.on('collaboration:sharingdeny', _.bind(this.onLostEditRights, this));
return this;
},