Refactoring change access rights. Fix Bug 43103, Bug 43105
This commit is contained in:
parent
6589ca76c2
commit
611c12e885
|
@ -101,6 +101,8 @@ define([
|
|||
Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this));
|
||||
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
||||
Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this));
|
||||
Common.NotificationCenter.on('collaboration:sharing', this.changeAccessRights.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingdeny', this.onLostEditRights.bind(this));
|
||||
|
||||
this.userCollection.on('reset', _.bind(this.onUpdateUsers, this));
|
||||
this.userCollection.on('add', _.bind(this.onUpdateUsers, this));
|
||||
|
@ -112,6 +114,7 @@ define([
|
|||
this.currentUserId = data.config.user.id;
|
||||
this.sdkViewName = data['sdkviewname'] || this.sdkViewName;
|
||||
}
|
||||
return this;
|
||||
},
|
||||
setApi: function (api) {
|
||||
if (api) {
|
||||
|
@ -130,9 +133,16 @@ define([
|
|||
this.popoverChanges = new Common.Collections.ReviewChanges();
|
||||
this.view = this.createView('Common.Views.ReviewChanges', { mode: mode });
|
||||
|
||||
!!this.appConfig.sharingSettingsUrl && this.appConfig.sharingSettingsUrl.length && Common.Gateway.on('showsharingsettings', _.bind(this.changeAccessRights, this));
|
||||
!!this.appConfig.sharingSettingsUrl && this.appConfig.sharingSettingsUrl.length && Common.Gateway.on('setsharingsettings', _.bind(this.setSharingSettings, this));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
loadDocument: function(data) {
|
||||
this.document = data.doc;
|
||||
},
|
||||
|
||||
SetDisabled: function(state) {
|
||||
if (this.dlgChanges)
|
||||
this.dlgChanges.close();
|
||||
|
@ -724,9 +734,34 @@ define([
|
|||
},
|
||||
|
||||
onLostEditRights: function() {
|
||||
this._readonlyRights = true;
|
||||
this.view && this.view.onLostEditRights();
|
||||
},
|
||||
|
||||
changeAccessRights: function(btn,event,opts) {
|
||||
if (this._docAccessDlg || this._readonlyRights) return;
|
||||
|
||||
var me = this;
|
||||
me._docAccessDlg = new Common.Views.DocumentAccessDialog({
|
||||
settingsurl: this.appConfig.sharingSettingsUrl
|
||||
});
|
||||
me._docAccessDlg.on('accessrights', function(obj, rights){
|
||||
me.setSharingSettings({sharingSettings: rights});
|
||||
}).on('close', function(obj){
|
||||
me._docAccessDlg = undefined;
|
||||
});
|
||||
|
||||
me._docAccessDlg.show();
|
||||
},
|
||||
|
||||
setSharingSettings: function(data) {
|
||||
if (data) {
|
||||
this.document.info.sharingSettings = data.sharingSettings;
|
||||
Common.NotificationCenter.trigger('collaboration:sharingupdate', data.sharingSettings);
|
||||
Common.NotificationCenter.trigger('mentions:clearusers', this);
|
||||
}
|
||||
},
|
||||
|
||||
onCoAuthoringDisconnect: function() {
|
||||
this.SetDisabled(true);
|
||||
},
|
||||
|
|
|
@ -190,7 +190,7 @@ define([
|
|||
function onUsersClick(e) {
|
||||
if ( !$btnUsers.menu ) {
|
||||
$panelUsers.removeClass('open');
|
||||
this.fireEvent('click:users', this);
|
||||
Common.NotificationCenter.trigger('collaboration:sharing');
|
||||
} else {
|
||||
var usertip = $btnUsers.data('bs.tooltip');
|
||||
if ( usertip ) {
|
||||
|
@ -245,7 +245,7 @@ define([
|
|||
var $labelChangeRights = $panelUsers.find('#tlb-change-rights');
|
||||
$labelChangeRights.on('click', function(e) {
|
||||
$panelUsers.removeClass('open');
|
||||
me.fireEvent('click:users', me);
|
||||
Common.NotificationCenter.trigger('collaboration:sharing');
|
||||
});
|
||||
|
||||
$labelChangeRights[(!mode.isOffline && !mode.isReviewOnly && mode.sharingSettingsUrl && mode.sharingSettingsUrl.length)?'show':'hide']();
|
||||
|
|
|
@ -62,7 +62,6 @@ define([
|
|||
'hide': _.bind(this.onHideChat, this)
|
||||
},
|
||||
'Common.Views.Header': {
|
||||
'click:users': _.bind(this.clickStatusbarUsers, this),
|
||||
'file:settings': _.bind(this.clickToolbarSettings,this),
|
||||
'history:show': function () {
|
||||
if ( !this.leftMenu.panelHistory.isVisible() )
|
||||
|
@ -532,10 +531,6 @@ define([
|
|||
},
|
||||
|
||||
/** coauthoring begin **/
|
||||
clickStatusbarUsers: function() {
|
||||
this.leftMenu.menuFile.panels['rights'].changeAccessRights();
|
||||
},
|
||||
|
||||
onHideChat: function() {
|
||||
$(this.leftMenu.btnChat.el).blur();
|
||||
Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
|
||||
|
|
|
@ -1260,7 +1260,7 @@ define([
|
|||
var me = this,
|
||||
application = this.getApplication(),
|
||||
reviewController = application.getController('Common.Controllers.ReviewChanges');
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api).loadDocument({doc:me.document});
|
||||
|
||||
if (this.appOptions.isEdit || this.appOptions.isRestrictedEdit) { // set api events for toolbar in the Restricted Editing mode
|
||||
var toolbarController = application.getController('Toolbar');
|
||||
|
@ -2074,6 +2074,7 @@ define([
|
|||
var filemenu = this.getApplication().getController('LeftMenu').getView('LeftMenu').getMenu('file');
|
||||
filemenu.loadDocument({doc:this.document});
|
||||
filemenu.panels && filemenu.panels['info'] && filemenu.panels['info'].updateInfo(this.document);
|
||||
this.getApplication().getController('Common.Controllers.ReviewChanges').loadDocument({doc:this.document});
|
||||
Common.Gateway.metaChange(meta);
|
||||
},
|
||||
|
||||
|
|
|
@ -1192,7 +1192,7 @@ define([
|
|||
|
||||
this.updateInfo(this.doc);
|
||||
|
||||
Common.NotificationCenter.on('collaboration:sharing', this.changeAccessRights.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingupdate', this.updateSharingSettings.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingdeny', this.onLostEditRights.bind(this));
|
||||
|
||||
this.$el = $(node).html($markup);
|
||||
|
@ -1245,36 +1245,16 @@ define([
|
|||
|
||||
setMode: function(mode) {
|
||||
this.sharingSettingsUrl = mode.sharingSettingsUrl;
|
||||
!!this.sharingSettingsUrl && this.sharingSettingsUrl.length && Common.Gateway.on('showsharingsettings', _.bind(this.changeAccessRights, this));
|
||||
!!this.sharingSettingsUrl && this.sharingSettingsUrl.length && Common.Gateway.on('setsharingsettings', _.bind(this.setSharingSettings, this));
|
||||
return this;
|
||||
},
|
||||
|
||||
changeAccessRights: function(btn,event,opts) {
|
||||
if (this._docAccessDlg || this._readonlyRights) return;
|
||||
|
||||
var me = this;
|
||||
me._docAccessDlg = new Common.Views.DocumentAccessDialog({
|
||||
settingsurl: this.sharingSettingsUrl
|
||||
});
|
||||
me._docAccessDlg.on('accessrights', function(obj, rights){
|
||||
me.updateSharingSettings(rights);
|
||||
}).on('close', function(obj){
|
||||
me._docAccessDlg = undefined;
|
||||
});
|
||||
|
||||
me._docAccessDlg.show();
|
||||
},
|
||||
|
||||
setSharingSettings: function(data) {
|
||||
data && this.updateSharingSettings(data.sharingSettings);
|
||||
Common.NotificationCenter.trigger('collaboration:sharing');
|
||||
},
|
||||
|
||||
updateSharingSettings: function(rights) {
|
||||
this.doc.info.sharingSettings = rights;
|
||||
this._ShowHideInfoItem('rights', this.doc.info.sharingSettings!==undefined && this.doc.info.sharingSettings!==null && this.doc.info.sharingSettings.length>0);
|
||||
this.cntRights.html(this.templateRights({users: this.doc.info.sharingSettings}));
|
||||
Common.NotificationCenter.trigger('mentions:clearusers', this);
|
||||
},
|
||||
|
||||
onLostEditRights: function() {
|
||||
|
|
|
@ -62,8 +62,7 @@ define([
|
|||
'hide': _.bind(this.onHideChat, this)
|
||||
},
|
||||
'Common.Views.Header': {
|
||||
'file:settings': _.bind(this.clickToolbarSettings,this),
|
||||
'click:users': _.bind(this.clickStatusbarUsers, this)
|
||||
'file:settings': _.bind(this.clickToolbarSettings,this)
|
||||
},
|
||||
'Common.Views.Plugins': {
|
||||
'plugin:open': _.bind(this.onPluginOpen, this),
|
||||
|
@ -368,10 +367,6 @@ define([
|
|||
},
|
||||
|
||||
/** coauthoring begin **/
|
||||
clickStatusbarUsers: function() {
|
||||
this.leftMenu.menuFile.panels['rights'].changeAccessRights();
|
||||
},
|
||||
|
||||
onHideChat: function() {
|
||||
$(this.leftMenu.btnChat.el).blur();
|
||||
Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
|
||||
|
|
|
@ -970,22 +970,21 @@ define([
|
|||
commentsController.setConfig({config: this.editorConfig, sdkviewname: '#id_main_parent'}, this.api);
|
||||
}
|
||||
/** coauthoring end **/
|
||||
var me = this,
|
||||
application = this.getApplication(),
|
||||
reviewController = application.getController('Common.Controllers.ReviewChanges');
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api).loadDocument({doc:me.document});
|
||||
|
||||
if (this.appOptions.isEdit) {
|
||||
var me = this,
|
||||
application = this.getApplication(),
|
||||
toolbarController = application.getController('Toolbar'),
|
||||
var toolbarController = application.getController('Toolbar'),
|
||||
rightmenuController = application.getController('RightMenu'),
|
||||
fontsControllers = application.getController('Common.Controllers.Fonts'),
|
||||
reviewController = application.getController('Common.Controllers.ReviewChanges');
|
||||
fontsControllers = application.getController('Common.Controllers.Fonts');
|
||||
|
||||
// me.getStore('SlideLayouts');
|
||||
fontsControllers && fontsControllers.setApi(me.api);
|
||||
toolbarController && toolbarController.setApi(me.api);
|
||||
|
||||
rightmenuController && rightmenuController.setApi(me.api);
|
||||
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
|
||||
if (me.appOptions.canProtect)
|
||||
application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
|
||||
|
@ -1766,6 +1765,7 @@ define([
|
|||
var filemenu = this.getApplication().getController('LeftMenu').getView('LeftMenu').getMenu('file');
|
||||
filemenu.loadDocument({doc:this.document});
|
||||
filemenu.panels && filemenu.panels['info'] && filemenu.panels['info'].updateInfo(this.document);
|
||||
this.getApplication().getController('Common.Controllers.ReviewChanges').loadDocument({doc:this.document});
|
||||
Common.Gateway.metaChange(meta);
|
||||
},
|
||||
|
||||
|
|
|
@ -1010,7 +1010,7 @@ define([
|
|||
});
|
||||
}
|
||||
|
||||
Common.NotificationCenter.on('collaboration:sharing', this.changeAccessRights.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingupdate', this.updateSharingSettings.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingdeny', this.onLostEditRights.bind(this));
|
||||
|
||||
return this;
|
||||
|
@ -1051,36 +1051,16 @@ define([
|
|||
|
||||
setMode: function(mode) {
|
||||
this.sharingSettingsUrl = mode.sharingSettingsUrl;
|
||||
!!this.sharingSettingsUrl && this.sharingSettingsUrl.length && Common.Gateway.on('showsharingsettings', _.bind(this.changeAccessRights, this));
|
||||
!!this.sharingSettingsUrl && this.sharingSettingsUrl.length && Common.Gateway.on('setsharingsettings', _.bind(this.setSharingSettings, this));
|
||||
return this;
|
||||
},
|
||||
|
||||
changeAccessRights: function(btn,event,opts) {
|
||||
if (this._docAccessDlg || this._readonlyRights) return;
|
||||
|
||||
var me = this;
|
||||
me._docAccessDlg = new Common.Views.DocumentAccessDialog({
|
||||
settingsurl: this.sharingSettingsUrl
|
||||
});
|
||||
me._docAccessDlg.on('accessrights', function(obj, rights){
|
||||
me.updateSharingSettings(rights);
|
||||
}).on('close', function(obj){
|
||||
me._docAccessDlg = undefined;
|
||||
});
|
||||
|
||||
me._docAccessDlg.show();
|
||||
},
|
||||
|
||||
setSharingSettings: function(data) {
|
||||
data && this.updateSharingSettings(data.sharingSettings);
|
||||
Common.NotificationCenter.trigger('collaboration:sharing');
|
||||
},
|
||||
|
||||
updateSharingSettings: function(rights) {
|
||||
this.doc.info.sharingSettings = rights;
|
||||
this._ShowHideInfoItem('rights', this.doc.info.sharingSettings!==undefined && this.doc.info.sharingSettings!==null && this.doc.info.sharingSettings.length>0);
|
||||
this.cntRights.html(this.templateRights({users: this.doc.info.sharingSettings}));
|
||||
Common.NotificationCenter.trigger('mentions:clearusers', this);
|
||||
},
|
||||
|
||||
onLostEditRights: function() {
|
||||
|
|
|
@ -56,8 +56,7 @@ define([
|
|||
'hide': _.bind(this.onHidePlugins, this)
|
||||
},
|
||||
'Common.Views.Header': {
|
||||
'file:settings': _.bind(this.clickToolbarSettings,this),
|
||||
'click:users': _.bind(this.clickStatusbarUsers, this)
|
||||
'file:settings': _.bind(this.clickToolbarSettings,this)
|
||||
},
|
||||
'LeftMenu': {
|
||||
'file:show': _.bind(this.fileShowHide, this, true),
|
||||
|
@ -432,10 +431,6 @@ define([
|
|||
},
|
||||
|
||||
/** coauthoring begin **/
|
||||
clickStatusbarUsers: function() {
|
||||
this.leftMenu.menuFile.panels['rights'].changeAccessRights();
|
||||
},
|
||||
|
||||
onHideChat: function() {
|
||||
$(this.leftMenu.btnChat.el).blur();
|
||||
Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
|
||||
|
|
|
@ -1044,24 +1044,22 @@ define([
|
|||
this.api);
|
||||
}
|
||||
/** coauthoring end **/
|
||||
var me = this,
|
||||
application = this.getApplication(),
|
||||
reviewController = application.getController('Common.Controllers.ReviewChanges');
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api).loadDocument({doc:me.appOptions.spreadsheet});
|
||||
|
||||
if (this.appOptions.isEdit) {
|
||||
var me = this,
|
||||
application = this.getApplication(),
|
||||
toolbarController = application.getController('Toolbar'),
|
||||
var toolbarController = application.getController('Toolbar'),
|
||||
statusbarController = application.getController('Statusbar'),
|
||||
rightmenuController = application.getController('RightMenu'),
|
||||
fontsControllers = application.getController('Common.Controllers.Fonts'),
|
||||
reviewController = application.getController('Common.Controllers.ReviewChanges');
|
||||
fontsControllers = application.getController('Common.Controllers.Fonts');
|
||||
|
||||
fontsControllers && fontsControllers.setApi(me.api);
|
||||
toolbarController && toolbarController.setApi(me.api);
|
||||
// statusbarController && statusbarController.setApi(me.api);
|
||||
|
||||
rightmenuController && rightmenuController.setApi(me.api);
|
||||
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
|
||||
if (me.appOptions.canProtect)
|
||||
application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
|
||||
|
@ -2046,6 +2044,7 @@ define([
|
|||
this.appOptions.spreadsheet.title = meta.title;
|
||||
filemenu.loadDocument({doc:this.appOptions.spreadsheet});
|
||||
filemenu.panels && filemenu.panels['info'] && filemenu.panels['info'].updateInfo(this.appOptions.spreadsheet);
|
||||
app.getController('Common.Controllers.ReviewChanges').loadDocument({doc:this.appOptions.spreadsheet});
|
||||
Common.Gateway.metaChange(meta);
|
||||
},
|
||||
|
||||
|
|
|
@ -1461,7 +1461,7 @@ define([
|
|||
});
|
||||
}
|
||||
|
||||
Common.NotificationCenter.on('collaboration:sharing', this.changeAccessRights.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingupdate', this.updateSharingSettings.bind(this));
|
||||
Common.NotificationCenter.on('collaboration:sharingdeny', this.onLostEditRights.bind(this));
|
||||
|
||||
return this;
|
||||
|
@ -1501,36 +1501,16 @@ define([
|
|||
|
||||
setMode: function(mode) {
|
||||
this.sharingSettingsUrl = mode.sharingSettingsUrl;
|
||||
!!this.sharingSettingsUrl && this.sharingSettingsUrl.length && Common.Gateway.on('showsharingsettings', _.bind(this.changeAccessRights, this));
|
||||
!!this.sharingSettingsUrl && this.sharingSettingsUrl.length && Common.Gateway.on('setsharingsettings', _.bind(this.setSharingSettings, this));
|
||||
return this;
|
||||
},
|
||||
|
||||
changeAccessRights: function(btn,event,opts) {
|
||||
if (this._docAccessDlg || this._readonlyRights) return;
|
||||
|
||||
var me = this;
|
||||
me._docAccessDlg = new Common.Views.DocumentAccessDialog({
|
||||
settingsurl: this.sharingSettingsUrl
|
||||
});
|
||||
me._docAccessDlg.on('accessrights', function(obj, rights){
|
||||
me.updateSharingSettings(rights);
|
||||
}).on('close', function(obj){
|
||||
me._docAccessDlg = undefined;
|
||||
});
|
||||
|
||||
me._docAccessDlg.show();
|
||||
},
|
||||
|
||||
setSharingSettings: function(data) {
|
||||
data && this.updateSharingSettings(data.sharingSettings);
|
||||
Common.NotificationCenter.trigger('collaboration:sharing');
|
||||
},
|
||||
|
||||
updateSharingSettings: function(rights) {
|
||||
this.doc.info.sharingSettings = rights;
|
||||
this._ShowHideInfoItem('rights', this.doc.info.sharingSettings!==undefined && this.doc.info.sharingSettings!==null && this.doc.info.sharingSettings.length>0);
|
||||
this.cntRights.html(this.templateRights({users: this.doc.info.sharingSettings}));
|
||||
Common.NotificationCenter.trigger('mentions:clearusers', this);
|
||||
},
|
||||
|
||||
onLostEditRights: function() {
|
||||
|
|
Loading…
Reference in a new issue