From 39343d71f9d98976ecc5f8f7e383d8aa077b2b2c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 23 Oct 2017 12:06:27 +0300 Subject: [PATCH 1/2] [PE] Bug with opening presenter view. --- apps/presentationeditor/main/app.reporter.js | 2 +- apps/presentationeditor/main/app_dev.reporter.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/presentationeditor/main/app.reporter.js b/apps/presentationeditor/main/app.reporter.js index f684322c6..383955224 100644 --- a/apps/presentationeditor/main/app.reporter.js +++ b/apps/presentationeditor/main/app.reporter.js @@ -107,7 +107,7 @@ require([ docInfo.put_VKey(data.vkey); docInfo.put_Options(data.options); docInfo.put_Token(data.token); - docInfo.put_Permissions( data.doc.permissions); + docInfo.put_Permissions( data.permissions); } api.preloadReporter(data); diff --git a/apps/presentationeditor/main/app_dev.reporter.js b/apps/presentationeditor/main/app_dev.reporter.js index c65824685..95d58fdc3 100644 --- a/apps/presentationeditor/main/app_dev.reporter.js +++ b/apps/presentationeditor/main/app_dev.reporter.js @@ -108,7 +108,7 @@ require([ docInfo.put_VKey(data.vkey); docInfo.put_Options(data.options); docInfo.put_Token(data.token); - docInfo.put_Permissions( data.doc.permissions); + docInfo.put_Permissions( data.permissions); } api.preloadReporter(data); From 4b83f6a2fd9c0536720cb0de47b6eac913101ba5 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 23 Oct 2017 15:19:07 +0300 Subject: [PATCH 2/2] Fix Bug 36122. --- apps/api/documents/api.js | 3 --- apps/documenteditor/embed/js/ApplicationController.js | 10 ++++++++-- apps/documenteditor/main/app/controller/Main.js | 10 ++++++++-- apps/documenteditor/mobile/app/controller/Main.js | 10 ++++++++-- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 453eaf219..7e18427ef 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -334,9 +334,6 @@ var type = /^(?:(pdf|djvu|xps))$/.exec(_config.document.fileType); if (type && typeof type[1] === 'string') { - if (!_config.document.permissions) - _config.document.permissions = {}; - _config.document.permissions.edit = _config.document.permissions.review = false; _config.editorConfig.canUseHistory = false; } diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js index 0c6902290..12dc6f7ea 100644 --- a/apps/documenteditor/embed/js/ApplicationController.js +++ b/apps/documenteditor/embed/js/ApplicationController.js @@ -90,14 +90,20 @@ var ApplicationController = new(function(){ if (docConfig) { permissions = $.extend(permissions, docConfig.permissions); - var docInfo = new Asc.asc_CDocInfo(); + var _permissions = $.extend({}, docConfig.permissions), + docInfo = new Asc.asc_CDocInfo(); docInfo.put_Id(docConfig.key); docInfo.put_Url(docConfig.url); docInfo.put_Title(docConfig.title); docInfo.put_Format(docConfig.fileType); docInfo.put_VKey(docConfig.vkey); docInfo.put_Token(docConfig.token); - docInfo.put_Permissions(permissions); + docInfo.put_Permissions(_permissions); + + var type = /^(?:(pdf|djvu|xps))$/.exec(docConfig.fileType); + if (type && typeof type[1] === 'string') { + permissions.edit = permissions.review = false; + } if (api) { api.asc_registerCallback('asc_onGetEditorPermissions', onEditorPermissions); diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index b03ec677c..c407a4631 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -305,7 +305,8 @@ define([ if (data.doc) { this.permissions = $.extend(this.permissions, data.doc.permissions); - var _user = new Asc.asc_CUserInfo(); + var _permissions = $.extend({}, data.doc.permissions), + _user = new Asc.asc_CUserInfo(); _user.put_Id(this.appOptions.user.id); _user.put_FullName(this.appOptions.user.fullname); @@ -319,9 +320,14 @@ define([ docInfo.put_UserInfo(_user); docInfo.put_CallbackUrl(this.editorConfig.callbackUrl); docInfo.put_Token(data.doc.token); - docInfo.put_Permissions(this.permissions); + docInfo.put_Permissions(_permissions); // docInfo.put_Review(this.permissions.review); // docInfo.put_OfflineApp(this.editorConfig.nativeApp === true); // used in sdk for testing + + var type = /^(?:(pdf|djvu|xps))$/.exec(data.doc.fileType); + if (type && typeof type[1] === 'string') { + this.permissions.edit = this.permissions.review = false; + } } this.api.asc_registerCallback('asc_onGetEditorPermissions', _.bind(this.onEditorPermissions, this)); diff --git a/apps/documenteditor/mobile/app/controller/Main.js b/apps/documenteditor/mobile/app/controller/Main.js index a7f6d7653..3aa2febc6 100644 --- a/apps/documenteditor/mobile/app/controller/Main.js +++ b/apps/documenteditor/mobile/app/controller/Main.js @@ -213,7 +213,8 @@ define([ if (data.doc) { this.permissions = $.extend(this.permissions, data.doc.permissions); - var _user = new Asc.asc_CUserInfo(); + var _permissions = $.extend({}, data.doc.permissions), + _user = new Asc.asc_CUserInfo(); _user.put_Id(this.appOptions.user.id); _user.put_FullName(this.appOptions.user.fullname); @@ -227,7 +228,12 @@ define([ docInfo.put_UserInfo(_user); docInfo.put_CallbackUrl(this.editorConfig.callbackUrl); docInfo.put_Token(data.doc.token); - docInfo.put_Permissions(this.permissions); + docInfo.put_Permissions(_permissions); + + var type = /^(?:(pdf|djvu|xps))$/.exec(data.doc.fileType); + if (type && typeof type[1] === 'string') { + this.permissions.edit = this.permissions.review = false; + } } this.api.asc_registerCallback('asc_onGetEditorPermissions', _.bind(this.onEditorPermissions, this));