diff --git a/apps/common/main/lib/controller/Chat.js b/apps/common/main/lib/controller/Chat.js index 767f44742..74d51fcc8 100644 --- a/apps/common/main/lib/controller/Chat.js +++ b/apps/common/main/lib/controller/Chat.js @@ -80,14 +80,17 @@ define([ setMode: function(mode) { this.mode = mode; - if (this.api && this.mode.canCoAuthoring) { - if (this.mode.canChat) + if (this.api) { + if (this.mode.canCoAuthoring && this.mode.canChat) this.api.asc_registerCallback('asc_onCoAuthoringChatReceiveMessage', _.bind(this.onReceiveMessage, this)); - this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onUsersChanged, this)); - this.api.asc_registerCallback('asc_onConnectionStateChanged', _.bind(this.onUserConnection, this)); - this.api.asc_coAuthoringGetUsers(); - if (this.mode.canChat) + if ( !this.mode.isEditDiagram && !this.mode.isEditMailMerge ) { + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onUsersChanged, this)); + this.api.asc_registerCallback('asc_onConnectionStateChanged', _.bind(this.onUserConnection, this)); + this.api.asc_coAuthoringGetUsers(); + } + + if (this.mode.canCoAuthoring && this.mode.canChat) this.api.asc_coAuthoringChatGetMessages(); } return this; @@ -100,7 +103,7 @@ define([ }, onUsersChanged: function(users){ - if (!this.mode.canLicense) { + if (!this.mode.canLicense || !this.mode.canCoAuthoring) { var len = 0; for (name in users) { if (undefined !== name) len++; diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 867b7de8a..6b38ea688 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -837,11 +837,9 @@ define([ application.getController('Common.Controllers.ExternalDiagramEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization}); application.getController('Common.Controllers.ExternalMergeEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization}); - if (!me.appOptions.isLightVersion) { - pluginsController.setApi(me.api); - me.updatePluginsList(me.plugins); - me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me)); - } + pluginsController.setApi(me.api); + me.updatePluginsList(me.plugins); + me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me)); documentHolderController.setApi(me.api); documentHolderController.createDelayedElements(); @@ -934,13 +932,13 @@ define([ }, onEditorPermissions: function(params) { - /** coauthoring begin **/ - this.appOptions.canCoAuthoring = true; - /** coauthoring end **/ this.permissions.review = (this.permissions.review === undefined) ? (this.permissions.edit !== false) : this.permissions.review; this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable(); this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false; this.appOptions.isLightVersion = params.asc_getIsLight(); + /** coauthoring begin **/ + this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion; + /** coauthoring end **/ this.appOptions.isOffline = this.api.asc_isOffline(); this.appOptions.isReviewOnly = (this.permissions.review === true) && (this.permissions.edit === false); this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights; @@ -949,7 +947,7 @@ define([ (!this.appOptions.isReviewOnly || this.appOptions.canLicense); // if isReviewOnly==true -> canLicense must be true this.appOptions.isEdit = this.appOptions.canLicense && this.appOptions.canEdit && this.editorConfig.mode !== 'view'; this.appOptions.canReview = this.appOptions.canLicense && this.appOptions.isEdit && (this.permissions.review===true); - this.appOptions.canUseHistory = this.appOptions.canLicense && this.editorConfig.canUseHistory && (this.permissions.edit !== false) && this.appOptions.canCoAuthoring && !this.appOptions.isDesktopApp; + this.appOptions.canUseHistory = this.appOptions.canLicense && !this.appOptions.isLightVersion && this.editorConfig.canUseHistory && (this.permissions.edit !== false) && this.appOptions.canCoAuthoring && !this.appOptions.isDesktopApp; this.appOptions.canHistoryClose = this.editorConfig.canHistoryClose; this.appOptions.canUseMailMerge= this.appOptions.canLicense && this.appOptions.canEdit && !this.appOptions.isDesktopApp; this.appOptions.canSendEmailAddresses = this.appOptions.canLicense && this.editorConfig.canSendEmailAddresses && this.appOptions.canEdit && this.appOptions.canCoAuthoring; diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index dee6c72d6..f539a9077 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -715,12 +715,12 @@ define([ }, onEditorPermissions: function(params) { - /** coauthoring begin **/ - this.appOptions.canCoAuthoring = true; - /** coauthoring end **/ this.appOptions.isOffline = this.api.asc_isOffline(); this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false; this.appOptions.isLightVersion = params.asc_getIsLight(); + /** coauthoring begin **/ + this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion; + /** coauthoring end **/ this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights; this.appOptions.canEdit = this.permissions.edit !== false && // can edit (this.editorConfig.canRequestEditRights || this.editorConfig.mode !== 'view'); // if mode=="view" -> canRequestEditRights must be defined diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 49932f45a..0be88d8ae 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -595,7 +595,7 @@ define([ leftMenuView.getMenu('file').loadDocument({doc:me.appOptions.spreadsheet}); leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api); - if (!me.appOptions.isLightVersion && !me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram) { + if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram) { pluginsController.setApi(me.api); me.updatePluginsList(me.plugins); me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me)); @@ -735,12 +735,12 @@ define([ this.appOptions.canAutosave = true; this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable(); - /** coauthoring begin **/ - this.appOptions.canCoAuthoring = true; - /** coauthoring end **/ this.appOptions.isOffline = this.api.asc_isOffline(); this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false; this.appOptions.isLightVersion = params.asc_getIsLight(); + /** coauthoring begin **/ + this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion; + /** coauthoring end **/ this.appOptions.canComments = this.appOptions.canLicense && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.comments===false); this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.chat===false);