From f49404e8b5b78b02f8e5d58f0dfcf6ff228fde05 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 27 Nov 2017 14:15:10 +0300 Subject: [PATCH] Feature/new toolbar signature --- .../main/lib/component/ComboBoxFonts.js | 4 + apps/common/main/lib/util/utils.js | 3 +- apps/common/main/lib/view/SignDialog.js | 347 ++++++++++++++++++ .../main/lib/view/SignSettingsDialog.js | 203 ++++++++++ .../main/app/controller/LeftMenu.js | 41 ++- .../main/app/controller/Main.js | 1 + .../main/app/controller/RightMenu.js | 20 +- .../main/app/template/FileMenu.template | 2 + .../main/app/template/RightMenu.template | 3 + .../app/template/SignatureSettings.template | 27 ++ .../main/app/view/DocumentHolder.js | 33 ++ apps/documenteditor/main/app/view/FileMenu.js | 17 +- .../main/app/view/FileMenuPanels.js | 132 +++++++ .../documenteditor/main/app/view/RightMenu.js | 20 +- .../main/app/view/SignatureSettings.js | 288 +++++++++++++++ apps/documenteditor/main/locale/en.json | 43 +++ .../main/resources/img/toolbar-menu.png | Bin 16375 -> 15274 bytes .../main/resources/img/toolbar-menu@2x.png | Bin 54548 -> 37112 bytes .../main/resources/less/leftmenu.less | 28 ++ .../main/resources/less/rightmenu.less | 1 + .../main/resources/less/toolbar.less | 11 - .../main/app/controller/LeftMenu.js | 29 +- .../main/app/controller/Main.js | 1 + .../main/app/controller/RightMenu.js | 14 +- .../main/app/template/FileMenu.template | 2 + .../main/app/template/RightMenu.template | 3 + .../app/template/SignatureSettings.template | 19 + .../main/app/view/DocumentHolder.js | 32 ++ .../main/app/view/FileMenu.js | 17 +- .../main/app/view/FileMenuPanels.js | 98 +++++ .../main/app/view/RightMenu.js | 22 +- .../main/app/view/SignatureSettings.js | 207 +++++++++++ .../main/app/view/Viewport.js | 2 +- apps/presentationeditor/main/locale/en.json | 38 ++ .../main/resources/img/toolbar-menu.png | Bin 12696 -> 13359 bytes .../main/resources/img/toolbar-menu@2x.png | Bin 33313 -> 35079 bytes .../main/resources/less/leftmenu.less | 28 ++ .../main/resources/less/rightmenu.less | 3 + .../main/app/controller/DocumentHolder.js | 33 ++ .../main/app/controller/LeftMenu.js | 47 ++- .../main/app/controller/Main.js | 1 + .../main/app/controller/RightMenu.js | 22 +- .../main/app/template/FileMenu.template | 2 + .../main/app/template/RightMenu.template | 3 + .../app/template/SignatureSettings.template | 27 ++ .../main/app/view/FileMenu.js | 18 +- .../main/app/view/FileMenuPanels.js | 132 +++++++ .../main/app/view/RightMenu.js | 23 +- .../main/app/view/SignatureSettings.js | 288 +++++++++++++++ .../main/app/view/Viewport.js | 2 +- apps/spreadsheeteditor/main/locale/en.json | 43 +++ .../main/resources/img/toolbar-menu.png | Bin 13889 -> 14618 bytes .../main/resources/img/toolbar-menu@2x.png | Bin 35078 -> 37209 bytes .../main/resources/less/leftmenu.less | 28 ++ .../main/resources/less/rightmenu.less | 3 + 55 files changed, 2360 insertions(+), 51 deletions(-) create mode 100644 apps/common/main/lib/view/SignDialog.js create mode 100644 apps/common/main/lib/view/SignSettingsDialog.js create mode 100644 apps/documenteditor/main/app/template/SignatureSettings.template create mode 100644 apps/documenteditor/main/app/view/SignatureSettings.js create mode 100644 apps/presentationeditor/main/app/template/SignatureSettings.template create mode 100644 apps/presentationeditor/main/app/view/SignatureSettings.js create mode 100644 apps/spreadsheeteditor/main/app/template/SignatureSettings.template create mode 100644 apps/spreadsheeteditor/main/app/view/SignatureSettings.js diff --git a/apps/common/main/lib/component/ComboBoxFonts.js b/apps/common/main/lib/component/ComboBoxFonts.js index c1bf141bd..7ea19885f 100644 --- a/apps/common/main/lib/component/ComboBoxFonts.js +++ b/apps/common/main/lib/component/ComboBoxFonts.js @@ -113,6 +113,8 @@ define([ this._input.on('keyup', _.bind(this.onInputKeyUp, this)); this._input.on('keydown', _.bind(this.onInputKeyDown, this)); + this._modalParents = this.cmpEl.closest('.asc-window'); + return this; }, @@ -319,6 +321,8 @@ define([ var name = (_.isFunction(font.get_Name) ? font.get_Name() : font.asc_getName()); if (this.getRawValue() !== name) { + if (this._modalParents.length > 0) return; + var record = this.store.findWhere({ name: name }); diff --git a/apps/common/main/lib/util/utils.js b/apps/common/main/lib/util/utils.js index da546a159..45d89d50e 100644 --- a/apps/common/main/lib/util/utils.js +++ b/apps/common/main/lib/util/utils.js @@ -101,7 +101,8 @@ Common.Utils = _.extend(new(function() { Shape : 5, Slide : 6, Chart : 7, - MailMerge : 8 + MailMerge : 8, + Signature : 9 }, isMobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera), me = this, diff --git a/apps/common/main/lib/view/SignDialog.js b/apps/common/main/lib/view/SignDialog.js new file mode 100644 index 000000000..c44c3bd1e --- /dev/null +++ b/apps/common/main/lib/view/SignDialog.js @@ -0,0 +1,347 @@ +/* + * + * (c) Copyright Ascensio System Limited 2010-2017 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, + * EU, LV-1021. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * SignDialog.js + * + * Created by Julia Radzhabova on 5/19/17 + * Copyright (c) 2017 Ascensio System SIA. All rights reserved. + * + */ + + +if (Common === undefined) + var Common = {}; + +define([ + 'common/main/lib/util/utils', + 'common/main/lib/component/InputField', + 'common/main/lib/component/Window', + 'common/main/lib/component/ComboBoxFonts' +], function () { 'use strict'; + + Common.Views.SignDialog = Common.UI.Window.extend(_.extend({ + options: { + width: 350, + style: 'min-width: 350px;', + cls: 'modal-dlg' + }, + + initialize : function(options) { + _.extend(this.options, { + title: this.textTitle + }, options || {}); + + this.api = this.options.api; + this.signType = this.options.signType || 'invisible'; + this.signSize = this.options.signSize || {width: 0, height: 0}; + this.certificateId = null; + this.signObject = null; + this.fontStore = this.options.fontStore; + this.font = { + size: 11, + name: 'Arial', + bold: false, + italic: false + }; + + this.template = [ + '
', + '
', + '
', + '', + '
', + '
', + '
', + '
', + '
', + '', + '
', + '
', + '
', + '
', + '
','
', + '
', + '', + '
', + '', + '
', + '', + '
', + '
', + '
', + '', + '', + '' + + '', + '', + '', + '
', + '
', + '' + ].join(''); + + this.templateCertificate = _.template([ + '', + '' + ].join('')); + + this.options.tpl = _.template(this.template)(this.options); + + Common.UI.Window.prototype.initialize.call(this, this.options); + }, + + render: function() { + Common.UI.Window.prototype.render.call(this); + + var me = this, + $window = this.getChild(); + + me.inputPurpose = new Common.UI.InputField({ + el : $('#id-dlg-sign-purpose'), + style : 'width: 100%;' + }); + + me.inputName = new Common.UI.InputField({ + el : $('#id-dlg-sign-name'), + style : 'width: 100%;', + validateOnChange: true + }).on ('changing', _.bind(me.onChangeName, me)); + + me.cmbFonts = new Common.UI.ComboBoxFonts({ + el : $('#id-dlg-sign-fonts'), + cls : 'input-group-nr', + style : 'width: 214px;', + menuCls : 'scrollable-menu', + menuStyle : 'min-width: 55px;max-height: 270px;', + store : new Common.Collections.Fonts(), + recent : 0, + hint : me.tipFontName + }).on('selected', function(combo, record) { + if (me.signObject) { + me.signObject.setText(me.inputName.getValue(), record.name, me.font.size, me.font.italic, me.font.bold); + } + me.font.name = record.name; + }); + + this.cmbFontSize = new Common.UI.ComboBox({ + el: $('#id-dlg-sign-font-size'), + cls: 'input-group-nr', + style: 'width: 55px;', + menuCls : 'scrollable-menu', + menuStyle: 'min-width: 55px;max-height: 270px;', + hint: this.tipFontSize, + data: [ + { value: 8, displayValue: "8" }, + { value: 9, displayValue: "9" }, + { value: 10, displayValue: "10" }, + { value: 11, displayValue: "11" }, + { value: 12, displayValue: "12" }, + { value: 14, displayValue: "14" }, + { value: 16, displayValue: "16" }, + { value: 18, displayValue: "18" }, + { value: 20, displayValue: "20" }, + { value: 22, displayValue: "22" }, + { value: 24, displayValue: "24" }, + { value: 26, displayValue: "26" }, + { value: 28, displayValue: "28" }, + { value: 36, displayValue: "36" }, + { value: 48, displayValue: "48" }, + { value: 72, displayValue: "72" } + ] + }).on('selected', function(combo, record) { + if (me.signObject) { + me.signObject.setText(me.inputName.getValue(), me.font.name, record.value, me.font.italic, me.font.bold); + } + me.font.size = record.value; + }); + this.cmbFontSize.setValue(this.font.size); + + me.btnBold = new Common.UI.Button({ + cls: 'btn-toolbar', + iconCls: 'btn-bold', + enableToggle: true, + hint: me.textBold + }); + me.btnBold.render($('#id-dlg-sign-bold')) ; + me.btnBold.on('click', function(btn, e) { + if (me.signObject) { + me.signObject.setText(me.inputName.getValue(), me.font.name, me.font.size, me.font.italic, btn.pressed); + } + me.font.bold = btn.pressed; + }); + + me.btnItalic = new Common.UI.Button({ + cls: 'btn-toolbar', + iconCls: 'btn-italic', + enableToggle: true, + hint: me.textItalic + }); + me.btnItalic.render($('#id-dlg-sign-italic')) ; + me.btnItalic.on('click', function(btn, e) { + if (me.signObject) { + me.signObject.setText(me.inputName.getValue(), me.font.name, me.font.size, btn.pressed, me.font.bold); + } + me.font.italic = btn.pressed; + }); + + me.btnSelectImage = new Common.UI.Button({ + el: '#id-dlg-sign-image' + }); + me.btnSelectImage.on('click', _.bind(me.onSelectImage, me)); + + me.btnChangeCertificate = new Common.UI.Button({ + el: '#id-dlg-sign-change' + }); + me.btnChangeCertificate.on('click', _.bind(me.onChangeCertificate, me)); + + me.cntCertificate = $('#id-dlg-sign-certificate'); + me.cntVisibleSign = $('#id-dlg-sign-visible'); + me.cntInvisibleSign = $('#id-dlg-sign-invisible'); + + (me.signType == 'visible') ? me.cntInvisibleSign.addClass('hidden') : me.cntVisibleSign.addClass('hidden'); + + $window.find('.dlg-btn').on('click', _.bind(me.onBtnClick, me)); + $window.find('input').on('keypress', _.bind(me.onKeyPress, me)); + + me.afterRender(); + }, + + show: function() { + Common.UI.Window.prototype.show.apply(this, arguments); + + var me = this; + _.delay(function(){ + ((me.signType == 'visible') ? me.inputName : me.inputPurpose).cmpEl.find('input').focus(); + },500); + }, + + hide: function() { + Common.UI.Window.prototype.hide.apply(this, arguments); + + if (this.signObject) + this.signObject.destroy(); + }, + + afterRender: function () { + if (this.api) { + this.api.asc_unregisterCallback('on_signature_defaultcertificate_ret', _.bind(this.onCertificateChanged, this)); + this.api.asc_registerCallback('on_signature_defaultcertificate_ret', _.bind(this.onCertificateChanged, this)); + this.api.asc_unregisterCallback('on_signature_selectsertificate_ret', _.bind(this.onCertificateChanged, this)); + this.api.asc_registerCallback('on_signature_selectsertificate_ret', _.bind(this.onCertificateChanged, this)); + this.api.asc_GetDefaultCertificate(); + } + + if (this.signType == 'visible') { + this.cmbFonts.fillFonts(this.fontStore); + this.cmbFonts.selectRecord(this.fontStore.findWhere({name: this.font.name}) || this.fontStore.at(0)); + + this.signObject = new AscCommon.CSignatureDrawer('signature-preview-img', this.api, this.signSize.width, this.signSize.height); + } + }, + + getSettings: function () { + var props = {}; + props.certificateId = this.certificateId; + if (this.signType == 'invisible') { + props.purpose = this.inputPurpose.getValue(); + } else { + props.images = this.signObject ? this.signObject.getImages() : [null, null]; + } + + return props; + }, + + onBtnClick: function(event) { + this._handleInput(event.currentTarget.attributes['result'].value); + }, + + onKeyPress: function(event) { + if (event.keyCode == Common.UI.Keys.RETURN) { + this._handleInput('ok'); + return false; + } + }, + + _handleInput: function(state) { + if (this.options.handler) { + if (state == 'ok' && this.signObject && !this.signObject.isValid()) + return; + + this.options.handler.call(this, this, state); + } + this.close(); + }, + + onChangeCertificate: function() { + this.api.asc_SelectCertificate(); + }, + + onCertificateChanged: function(certificate) { + this.certificateId = certificate.id; + var date = certificate.date, + arr_date = (typeof date == 'string') ? date.split(' - ') : ['', '']; + this.cntCertificate.html(this.templateCertificate({name: certificate.name, valid: this.textValid.replace('%1', arr_date[0]).replace('%2', arr_date[1])})); + }, + + onSelectImage: function() { + if (!this.signObject) return; + this.signObject.selectImage(); + this.inputName.setValue(''); + }, + + onChangeName: function (input, value) { + if (!this.signObject) return; + this.signObject.setText(value, this.font.name, this.font.size, this.font.italic, this.font.bold); + }, + + textTitle: 'Sign Document', + textPurpose: 'Purpose for signing this document', + textCertificate: 'Certificate', + textValid: 'Valid from %1 to %2', + textChange: 'Change', + cancelButtonText: 'Cancel', + okButtonText: 'Ok', + textInputName: 'Input signer name', + textUseImage: 'or click \'Select Image\' to use a picture as signature', + textSelectImage: 'Select Image', + textSignature: 'Signature looks as', + tipFontName: 'Font Name', + tipFontSize: 'Font Size', + textBold: 'Bold', + textItalic: 'Italic' + + }, Common.Views.SignDialog || {})) +}); \ No newline at end of file diff --git a/apps/common/main/lib/view/SignSettingsDialog.js b/apps/common/main/lib/view/SignSettingsDialog.js new file mode 100644 index 000000000..20f718568 --- /dev/null +++ b/apps/common/main/lib/view/SignSettingsDialog.js @@ -0,0 +1,203 @@ +/* + * + * (c) Copyright Ascensio System Limited 2010-2017 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, + * EU, LV-1021. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * SignSettingsDialog.js + * + * Created by Julia Radzhabova on 5/19/17 + * Copyright (c) 2017 Ascensio System SIA. All rights reserved. + * + */ + + +if (Common === undefined) + var Common = {}; + +define([ + 'common/main/lib/util/utils', + 'common/main/lib/component/InputField', + 'common/main/lib/component/CheckBox', + 'common/main/lib/component/Window' +], function () { 'use strict'; + + Common.Views.SignSettingsDialog = Common.UI.Window.extend(_.extend({ + options: { + width: 350, + style: 'min-width: 350px;', + cls: 'modal-dlg' + }, + + initialize : function(options) { + _.extend(this.options, { + title: this.textTitle + }, options || {}); + + this.template = [ + '
', + '
', + '', + '
', + '
', + '', + '
', + '
', + '
', + '', + '
', + '
', + '
', + '', + '
', + '
', + '
', + '', + '
', + '', + '
', + '
', + '' + ].join(''); + + this.options.tpl = _.template(this.template)(this.options); + this.api = this.options.api; + + Common.UI.Window.prototype.initialize.call(this, this.options); + }, + + render: function() { + Common.UI.Window.prototype.render.call(this); + + var me = this, + $window = this.getChild(); + + me.inputName = new Common.UI.InputField({ + el : $('#id-dlg-sign-settings-name'), + style : 'width: 100%;' + }); + + me.inputTitle = new Common.UI.InputField({ + el : $('#id-dlg-sign-settings-title'), + style : 'width: 100%;' + }); + + me.inputEmail = new Common.UI.InputField({ + el : $('#id-dlg-sign-settings-email'), + style : 'width: 100%;' + }); + + me.textareaInstructions = this.$window.find('textarea'); + me.textareaInstructions.keydown(function (event) { + if (event.keyCode == Common.UI.Keys.RETURN) { + event.stopPropagation(); + } + }); + + this.chDate = new Common.UI.CheckBox({ + el: $('#id-dlg-sign-settings-date'), + labelText: this.textShowDate + }); + + $window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this)); + $window.find('input').on('keypress', _.bind(this.onKeyPress, this)); + }, + + show: function() { + Common.UI.Window.prototype.show.apply(this, arguments); + + var me = this; + _.delay(function(){ + me.inputName.cmpEl.find('input').focus(); + },500); + }, + + setSettings: function (props) { + if (props) { + var me = this; + + // var value = props.asc_getSigner1(); + // me.inputName.setValue(value ? value : ''); + // value = props.asc_getSigner2(); + // me.inputTitle.setValue(value ? value : ''); + // value = props.asc_getEmail(); + // me.inputEmail.setValue(value ? value : ''); + // value = props.asc_getInstructions(); + // me.textareaInstructions.val(value ? value : ''); + // me.chDate.setValue(props.asc_getShowDate()); + } + }, + + getSettings: function () { + var me = this, + props = new AscCommon.asc_CSignatureLine(); + + props.asc_setSigner1(me.inputName.getValue()); + props.asc_setSigner2(me.inputTitle.getValue()); + props.asc_setEmail(me.inputEmail.getValue()); + props.asc_setInstructions(me.textareaInstructions.val()); + props.asc_setShowDate(me.chDate.getValue()=='checked'); + + return props; + }, + + onBtnClick: function(event) { + this._handleInput(event.currentTarget.attributes['result'].value); + }, + + onKeyPress: function(event) { + if (event.keyCode == Common.UI.Keys.RETURN) { + this._handleInput('ok'); + return false; + } + }, + + _handleInput: function(state) { + if (this.options.handler) + this.options.handler.call(this, this, state); + this.close(); + }, + + textInfo: 'Signer Info', + textInfoName: 'Name', + textInfoTitle: 'Signer Title', + textInfoEmail: 'E-mail', + textInstructions: 'Instructions for Signer', + cancelButtonText: 'Cancel', + okButtonText: 'Ok', + txtEmpty: 'This field is required', + textAllowComment: 'Allow signer to add comment in the signature dialog', + textShowDate: 'Show sign date in signature line', + textTitle: 'Signature Settings' + }, Common.Views.SignSettingsDialog || {})) +}); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js index a05ae62e0..884c3baad 100644 --- a/apps/documenteditor/main/app/controller/LeftMenu.js +++ b/apps/documenteditor/main/app/controller/LeftMenu.js @@ -43,6 +43,8 @@ define([ 'core', 'common/main/lib/util/Shortcuts', + 'common/main/lib/view/SignSettingsDialog', + 'common/main/lib/view/SignDialog', 'documenteditor/main/app/view/LeftMenu', 'documenteditor/main/app/view/FileMenu' ], function () { @@ -85,7 +87,9 @@ define([ 'saveas:format': _.bind(this.clickSaveAsFormat, this), 'settings:apply': _.bind(this.applySettings, this), 'create:new': _.bind(this.onCreateNew, this), - 'recent:open': _.bind(this.onOpenRecent, this) + 'recent:open': _.bind(this.onOpenRecent, this), + 'signature:visible': _.bind(this.addVisibleSign, this), + 'signature:invisible': _.bind(this.addInvisibleSign, this) }, 'Toolbar': { 'file:settings': _.bind(this.clickToolbarSettings,this), @@ -676,6 +680,41 @@ define([ Common.Gateway.requestHistory(); }, + addVisibleSign: function(menu) { + var me = this, + win = new Common.Views.SignSettingsDialog({ + handler: function(dlg, result) { + if (result == 'ok') { + me.api.asc_AddSignatureLine2(dlg.getSettings()); + } + Common.NotificationCenter.trigger('edit:complete', me); + } + }); + + win.show(); + + menu.hide(); + }, + + addInvisibleSign: function(menu) { + var me = this, + win = new Common.Views.SignDialog({ + api: me.api, + signType: 'invisible', + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId); + } + Common.NotificationCenter.trigger('edit:complete', me); + } + }); + + win.show(); + + menu.hide(); + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', requestEditRightsText : 'Requesting editing rights...', diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index d0fe09077..17d3bf213 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1015,6 +1015,7 @@ define([ this.appOptions.forcesave = this.appOptions.canForcesave; this.appOptions.canEditComments= this.appOptions.isOffline || !(typeof (this.editorConfig.customization) == 'object' && this.editorConfig.customization.commentAuthorOnly); this.appOptions.trialMode = params.asc_getLicenseMode(); + this.appOptions.canProtect = this.appOptions.isDesktopApp && this.api.asc_isSignaturesSupport(); if ( this.appOptions.isLightVersion ) { this.appOptions.canUseHistory = diff --git a/apps/documenteditor/main/app/controller/RightMenu.js b/apps/documenteditor/main/app/controller/RightMenu.js index 67e8afae1..c56a64f5a 100644 --- a/apps/documenteditor/main/app/controller/RightMenu.js +++ b/apps/documenteditor/main/app/controller/RightMenu.js @@ -78,7 +78,8 @@ define([ this._settings[Common.Utils.documentSettingsType.Shape] = {panelId: "id-shape-settings", panel: rightMenu.shapeSettings, btn: rightMenu.btnShape, hidden: 1, locked: false}; this._settings[Common.Utils.documentSettingsType.TextArt] = {panelId: "id-textart-settings", panel: rightMenu.textartSettings, btn: rightMenu.btnTextArt, hidden: 1, locked: false}; this._settings[Common.Utils.documentSettingsType.Chart] = {panelId: "id-chart-settings", panel: rightMenu.chartSettings, btn: rightMenu.btnChart, hidden: 1, locked: false}; - this._settings[Common.Utils.documentSettingsType.MailMerge] = {panelId: "id-mail-merge-settings", panel: rightMenu.mergeSettings, btn: rightMenu.btnMailMerge, hidden: 1, props: {}, locked: false}; + this._settings[Common.Utils.documentSettingsType.MailMerge] = {panelId: "id-mail-merge-settings", panel: rightMenu.mergeSettings, btn: rightMenu.btnMailMerge, hidden: 1, props: {}, locked: false}; + this._settings[Common.Utils.documentSettingsType.Signature] = {panelId: "id-signature-settings", panel: rightMenu.signatureSettings, btn: rightMenu.btnSignature, hidden: (rightMenu.signatureSettings) ? 0 : 1, props: {}, locked: false}; }, setApi: function(api) { @@ -96,7 +97,7 @@ define([ var panel = this._settings[type].panel; var props = this._settings[type].props; if (props && panel) - panel.ChangeSettings.call(panel, (type==Common.Utils.documentSettingsType.MailMerge) ? undefined : props); + panel.ChangeSettings.call(panel, (type==Common.Utils.documentSettingsType.MailMerge || type==Common.Utils.documentSettingsType.Signature) ? undefined : props); } else if (minimized && type==Common.Utils.documentSettingsType.MailMerge) { this.rightmenu.mergeSettings.disablePreviewMode(); } @@ -112,13 +113,14 @@ define([ in_equation = false, needhide = true; for (var i=0; i
  • +
  • @@ -30,4 +31,5 @@
    +
    \ No newline at end of file diff --git a/apps/documenteditor/main/app/template/RightMenu.template b/apps/documenteditor/main/app/template/RightMenu.template index a0226ef70..6605f9949 100644 --- a/apps/documenteditor/main/app/template/RightMenu.template +++ b/apps/documenteditor/main/app/template/RightMenu.template @@ -16,6 +16,8 @@
    +
    +
    @@ -27,5 +29,6 @@ +
    \ No newline at end of file diff --git a/apps/documenteditor/main/app/template/SignatureSettings.template b/apps/documenteditor/main/app/template/SignatureSettings.template new file mode 100644 index 000000000..5a4fa0157 --- /dev/null +++ b/apps/documenteditor/main/app/template/SignatureSettings.template @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    \ No newline at end of file diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 51c8c2c72..b09e538cf 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -49,6 +49,7 @@ define([ 'common/main/lib/component/Menu', 'common/main/lib/view/InsertTableDialog', 'common/main/lib/view/CopyWarningDialog', + 'common/main/lib/view/SignDialog', 'documenteditor/main/app/view/DropcapSettingsAdvanced', 'documenteditor/main/app/view/HyperlinkSettingsDialog', 'documenteditor/main/app/view/ParagraphSettingsAdvanced', @@ -80,6 +81,7 @@ define([ me._currentMathObj = undefined; me._currentParaObjDisabled = false; me._isDisabled = false; + me._currentSignGuid = null; var showPopupMenu = function(menu, value, event, docElement, eOpts){ if (!_.isUndefined(menu) && menu !== null){ @@ -724,6 +726,36 @@ define([ me.mode.isEdit = false; }; + var onSignatureClick = function(guid, width, height) { + if (_.isUndefined(me.fontStore)) { + me.fontStore = new Common.Collections.Fonts(); + var fonts = DE.getController('Toolbar').getView('Toolbar').cmbFontName.store.toJSON(); + var arr = []; + _.each(fonts, function(font, index){ + if (!font.cloneid) { + arr.push(_.clone(font)); + } + }); + me.fontStore.add(arr); + } + + var win = new Common.Views.SignDialog({ + api: me.api, + signType: 'visible', + fontStore: me.fontStore, + signSize: {width: width, height: height}, + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId, guid, props.images[0], props.images[1]); + } + Common.NotificationCenter.trigger('edit:complete'); + } + }); + + win.show(); + }; + var onTextLanguage = function(langid) { me._currLang.id = langid; }; @@ -1528,6 +1560,7 @@ define([ this.api.asc_registerCallback('asc_onShowSpecialPasteOptions', _.bind(onShowSpecialPasteOptions, this)); this.api.asc_registerCallback('asc_onHideSpecialPasteOptions', _.bind(onHideSpecialPasteOptions, this)); + this.api.asc_registerCallback('asc_onSignatureClick', _.bind(onSignatureClick, this)); } return this; diff --git a/apps/documenteditor/main/app/view/FileMenu.js b/apps/documenteditor/main/app/view/FileMenu.js index 542e822a5..9be53947c 100644 --- a/apps/documenteditor/main/app/view/FileMenu.js +++ b/apps/documenteditor/main/app/view/FileMenu.js @@ -168,6 +168,12 @@ define([ this.miSaveAs, this.miPrint, this.miRename, + new Common.UI.MenuItem({ + el : $('#fm-btn-protect',this.el), + action : 'protect', + caption : this.btnProtectCaption, + canFocused: false + }), this.miRecent, this.miNew, new Common.UI.MenuItem({ @@ -234,7 +240,8 @@ define([ applyMode: function() { this.miPrint[this.mode.canPrint?'show':'hide'](); this.miRename[(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide'](); - this.miRename.$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); + this.items[7][(this.mode.canProtect) ?'show':'hide'](); + this.items[7].$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); this.miRecent[this.mode.canOpenRecent?'show':'hide'](); this.miNew[this.mode.canCreateNew?'show':'hide'](); this.miNew.$el.find('+.devider')[this.mode.canCreateNew?'show':'hide'](); @@ -270,8 +277,10 @@ define([ } } - if (this.mode.isDesktopApp) { + if (this.mode.canProtect) { // this.$el.find('#fm-btn-back').hide(); + this.panels['protect'] = (new DE.Views.FileMenuPanels.ProtectDoc({menu:this})).render(); + this.panels['protect'].setMode(this.mode); } if (this.mode.canDownload) { @@ -302,6 +311,7 @@ define([ setApi: function(api) { this.api = api; this.panels['info'].setApi(api); + if (this.panels['protect']) this.panels['protect'].setApi(api); }, loadDocument: function(data) { @@ -360,6 +370,7 @@ define([ btnSaveAsCaption : 'Save as', textDownload : 'Download', btnRenameCaption : 'Rename...', - btnCloseMenuCaption : 'Close Menu' + btnCloseMenuCaption : 'Close Menu', + btnProtectCaption: 'Protect\\Sign' }, DE.Views.FileMenu || {})); }); diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index 8ef6e6458..c10a95fc8 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -1097,4 +1097,136 @@ define([ } } }); + + DE.Views.FileMenuPanels.ProtectDoc = Common.UI.BaseView.extend(_.extend({ + el: '#panel-protect', + menu: undefined, + + template: _.template([ + '', + '', + '', + '
    ', + '
    ', + '
    ' + ].join('')), + + initialize: function(options) { + Common.UI.BaseView.prototype.initialize.call(this,arguments); + + this.menu = options.menu; + + this.templateRequested = _.template([ + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item) %>
    ' + ].join('')); + + this.templateValid = _.template([ + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item.name) %><%= Common.Utils.String.htmlEncode(item.date) %>
    ' + ].join('')); + }, + + render: function() { + $(this.el).html(this.template({scope: this})); + + this.btnAddInvisibleSign = new Common.UI.Button({ + el: '#fms-btn-invisible-sign' + }); + this.btnAddInvisibleSign.on('click', _.bind(this.addInvisibleSign, this)); + + this.btnAddVisibleSign = new Common.UI.Button({ + el: '#fms-btn-visible-sign' + }); + this.btnAddVisibleSign.on('click', _.bind(this.addVisibleSign, this)); + + this.lblSignHeader = $('#id-fms-lbl-sign-header', this.$el); + + this.cntRequestedSign = $('#id-fms-requested-sign'); + this.cntValidSign = $('#id-fms-valid-sign'); + this.cntInvalidSign = $('#id-fms-invalid-sign'); + + if (_.isUndefined(this.scroller)) { + this.scroller = new Common.UI.Scroller({ + el: $(this.el), + suppressScrollX: true + }); + } + + return this; + }, + + show: function() { + Common.UI.BaseView.prototype.show.call(this,arguments); + this.updateSignatures(); + }, + + setMode: function(mode) { + this.mode = mode; + if (!this.mode.isEdit) { + this.btnAddInvisibleSign.setVisible(false); + this.btnAddVisibleSign.setVisible(false); + this.lblSignHeader.html(this.strSignature); + } + }, + + setApi: function(o) { + this.api = o; + return this; + }, + + addInvisibleSign: function() { + if (this.menu) + this.menu.fireEvent('signature:invisible', [this.menu]); + }, + + addVisibleSign: function() { + if (this.menu) + this.menu.fireEvent('signature:visible', [this.menu]); + }, + + updateSignatures: function(){ + var requested = this.api.asc_getRequestSignatures(), + requested_arr = [], + valid = this.api.asc_getSignatures(), + valid_arr = [], invalid_arr = []; + + _.each(requested, function(item, index){ + requested_arr.push(item.asc_getSigner1()); + }); + _.each(valid, function(item, index){ + var sign = {name: item.asc_getSigner1(), date: '18/05/2017'}; + (item.asc_getValid()==0) ? valid_arr.push(sign) : invalid_arr.push(sign); + }); + this.cntRequestedSign.html(this.templateRequested({signatures: requested_arr, header: this.strRequested})); + this.cntValidSign.html(this.templateValid({signatures: valid_arr, header: this.strValid})); + this.cntInvalidSign.html(this.templateValid({signatures: invalid_arr, header: this.strInvalid})); + // this.cntRequestedSign.html(this.templateRequested({signatures: ['Hammish Mitchell', 'Someone Somewhere', 'Mary White', 'John Black'], header: this.strRequested})); + // this.cntValidSign.html(this.templateValid({signatures: [{name: 'Hammish Mitchell', date: '18/05/2017'}, {name: 'Someone Somewhere', date: '18/05/2017'}], header: this.strValid})); + // this.cntInvalidSign.html(this.templateValid({signatures: [{name: 'Mary White', date: '18/05/2017'}, {name: 'John Black', date: '18/05/2017'}], header: this.strInvalid})); + }, + + strProtect: 'Protect Document', + strInvisibleSign: 'Add invisible digital signature', + strVisibleSign: 'Add visible signature', + strRequested: 'Requested signatures', + strValid: 'Valid signatures', + strInvalid: 'Invalid signatures', + strSignature: 'Signature' + + }, DE.Views.FileMenuPanels.ProtectDoc || {})); + }); diff --git a/apps/documenteditor/main/app/view/RightMenu.js b/apps/documenteditor/main/app/view/RightMenu.js index 0d52aace0..453cd508e 100644 --- a/apps/documenteditor/main/app/view/RightMenu.js +++ b/apps/documenteditor/main/app/view/RightMenu.js @@ -57,6 +57,7 @@ define([ 'documenteditor/main/app/view/ShapeSettings', 'documenteditor/main/app/view/MailMergeSettings', 'documenteditor/main/app/view/TextArtSettings', + 'documenteditor/main/app/view/SignatureSettings', 'common/main/lib/component/Scroller' ], function (menuTemplate, $, _, Backbone) { 'use strict'; @@ -194,6 +195,21 @@ define([ this.mergeSettings = new DE.Views.MailMergeSettings(); } + if (mode && mode.canProtect) { + this.btnSignature = new Common.UI.Button({ + hint: this.txtSignatureSettings, + asctype: Common.Utils.documentSettingsType.Signature, + enableToggle: true, + disabled: true, + toggleGroup: 'tabpanelbtnsGroup' + }); + this._settings[Common.Utils.documentSettingsType.Signature] = {panel: "id-signature-settings", btn: this.btnSignature}; + + this.btnSignature.el = $('#id-right-menu-signature'); this.btnSignature.render().setVisible(true); + this.btnSignature.on('click', _.bind(this.onBtnMenuClick, this)); + this.signatureSettings = new DE.Views.SignatureSettings(); + } + if (_.isUndefined(this.scroller)) { this.scroller = new Common.UI.Scroller({ el: $(this.el).find('.right-panel'), @@ -223,6 +239,7 @@ define([ this.shapeSettings.setApi(api).on('editcomplete', _.bind( fire, this)); this.textartSettings.setApi(api).on('editcomplete', _.bind( fire, this)); if (this.mergeSettings) this.mergeSettings.setApi(api).on('editcomplete', _.bind( fire, this)); + if (this.signatureSettings) this.signatureSettings.setApi(api).on('editcomplete', _.bind( fire, this)); }, setMode: function(mode) { @@ -303,6 +320,7 @@ define([ txtShapeSettings: 'Shape Settings', txtTextArtSettings: 'Text Art Settings', txtChartSettings: 'Chart Settings', - txtMailMergeSettings: 'Mail Merge Settings' + txtMailMergeSettings: 'Mail Merge Settings', + txtSignatureSettings: 'Signature Settings' }, DE.Views.RightMenu || {})); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/view/SignatureSettings.js b/apps/documenteditor/main/app/view/SignatureSettings.js new file mode 100644 index 000000000..d05122ec3 --- /dev/null +++ b/apps/documenteditor/main/app/view/SignatureSettings.js @@ -0,0 +1,288 @@ +/* + * + * (c) Copyright Ascensio System Limited 2010-2017 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, + * EU, LV-1021. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * SignatureSettings.js + * + * Created by Julia Radzhabova on 5/24/17 + * Copyright (c) 2017 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'text!documenteditor/main/app/template/SignatureSettings.template', + 'jquery', + 'underscore', + 'backbone', + 'common/main/lib/component/Button', + 'common/main/lib/view/SignDialog', + 'common/main/lib/view/SignSettingsDialog' +], function (menuTemplate, $, _, Backbone) { + 'use strict'; + + DE.Views.SignatureSettings = Backbone.View.extend(_.extend({ + el: '#id-signature-settings', + + // Compile our stats template + template: _.template(menuTemplate), + + // Delegated events for creating new items, and clearing completed ones. + events: { + }, + + options: { + alias: 'SignatureSettings' + }, + + initialize: function () { + var me = this; + + this._initSettings = true; + + this._state = { + DisabledControls: false, + requestedSignatures: undefined, + validSignatures: undefined, + invalidSignatures: undefined + }; + this._locked = false; + this.lockedControls = []; + + this._noApply = false; + this._originalProps = null; + + this.templateRequested = _.template([ + '', + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '<% }); %>', + '
    ', + '' + ].join('')); + + this.templateValid = _.template([ + '', + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item.name) %>
    <%= Common.Utils.String.htmlEncode(item.date) %>
    ', + '' + ].join('')); + + this.render(); + }, + + render: function () { + this.$el.html(this.template({ + scope: this + })); + + this.btnAddInvisibleSign = new Common.UI.Button({ + el: this.$el.find('#signature-invisible-sign') + }); + this.btnAddInvisibleSign.on('click', _.bind(this.addInvisibleSign, this)); + this.lockedControls.push(this.btnAddInvisibleSign); + + this.btnAddVisibleSign = new Common.UI.Button({ + el: this.$el.find('#signature-visible-sign') + }); + this.btnAddVisibleSign.on('click', _.bind(this.addVisibleSign, this)); + this.lockedControls.push(this.btnAddVisibleSign); + + this.cntRequestedSign = $('#signature-requested-sign'); + this.cntValidSign = $('#signature-valid-sign'); + this.cntInvalidSign = $('#signature-invalid-sign'); + }, + + setApi: function(api) { + this.api = api; + if (this.api) { + this.api.asc_registerCallback('asc_onUpdateSignatures', _.bind(this.onUpdateSignatures, this)); + } + return this; + }, + + createDelayedControls: function() { + this._initSettings = false; + }, + + ChangeSettings: function(props) { + if (this._initSettings) + this.createDelayedControls(); + + if (!this._state.requestedSignatures || !this._state.validSignatures || !this._state.invalidSignatures) { + this.onUpdateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures()); + } + + this.disableControls(this._locked); + }, + + setLocked: function (locked) { + this._locked = locked; + }, + + disableControls: function(disable) { + if (this._initSettings) return; + + if (this._state.DisabledControls!==disable) { + this._state.DisabledControls = disable; + _.each(this.lockedControls, function(item) { + item.setDisabled(disable); + }); + this.$linksSign.toggleClass('disabled', disable); + this.$linksView.toggleClass('disabled', disable); + } + }, + + setMode: function(mode) { + this.mode = mode; + }, + + onUpdateSignatures: function(valid, requested){ + var me = this; + me._state.requestedSignatures = []; + me._state.validSignatures = []; + me._state.invalidSignatures = []; + + _.each(requested, function(item, index){ + me._state.requestedSignatures.push({name: item.asc_getSigner1(), guid: item.asc_getGuid()}); + }); + _.each(valid, function(item, index){ + var sign = {name: item.asc_getSigner1(), guid: item.asc_getId(), date: '18/05/2017'}; + (item.asc_getValid()==0) ? me._state.validSignatures.push(sign) : me._state.invalidSignatures.push(sign); + }); + this.cntRequestedSign.html(this.templateRequested({signatures: me._state.requestedSignatures, header: this.strRequested})); + this.cntValidSign.html(this.templateValid({signatures: me._state.validSignatures, header: this.strValid})); + this.cntInvalidSign.html(this.templateValid({signatures: me._state.invalidSignatures, header: this.strInvalid})); + // this.cntRequestedSign.html(this.templateRequested({signatures: [{name: 'Hammish Mitchell', guid: '123'}, {name: 'Someone Somewhere', guid: '123'}, {name: 'Mary White', guid: '123'}, {name: 'John Black', guid: '123'}], header: this.strRequested})); + // this.cntValidSign.html(this.templateValid({signatures: [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017'}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}], header: this.strValid})); + // this.cntInvalidSign.html(this.templateValid({signatures: [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}], header: this.strInvalid})); + + this.$linksSign = $('.signature-sign-link', this.$el); + this.$linksView = $('.signature-view-link', this.$el); + this.$el.on('click', '.signature-sign-link', _.bind(this.onSign, this)); + this.$el.on('click', '.signature-view-link', _.bind(this.onViewSignature, this)); + }, + + addVisibleSign: function(btn) { + var me = this, + win = new Common.Views.SignSettingsDialog({ + handler: function(dlg, result) { + if (result == 'ok') { + me.api.asc_AddSignatureLine2(dlg.getSettings()); + } + me.fireEvent('editcomplete', me); + } + }); + + win.show(); + }, + + addInvisibleSign: function(btn) { + var me = this, + win = new Common.Views.SignDialog({ + api: me.api, + signType: 'invisible', + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId); + } + me.fireEvent('editcomplete', me); + } + }); + + win.show(); + }, + + onSign: function(event) { + var me = this, + target = $(event.currentTarget); + + if (target.hasClass('disabled')) return; + + if (_.isUndefined(me.fontStore)) { + me.fontStore = new Common.Collections.Fonts(); + var fonts = DE.getController('Toolbar').getView('Toolbar').cmbFontName.store.toJSON(); + var arr = []; + _.each(fonts, function(font, index){ + if (!font.cloneid) { + arr.push(_.clone(font)); + } + }); + me.fontStore.add(arr); + } + + var win = new Common.Views.SignDialog({ + api: me.api, + signType: 'visible', + fontStore: me.fontStore, + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId, target.attr('data-value'), props.images[0], props.images[1]); + } + me.fireEvent('editcomplete', me); + } + }); + win.show(); + }, + + onViewSignature: function(event) { + var target = $(event.currentTarget); + if (target.hasClass('disabled')) return; + + this.api.asc_ViewCertificate(target.attr('data-value')); + }, + + strSignature: 'Signature', + strInvisibleSign: 'Add invisible digital signature', + strVisibleSign: 'Add visible signature', + strRequested: 'Requested signatures', + strValid: 'Valid signatures', + strInvalid: 'Invalid signatures', + strSign: 'Sign', + strView: 'View' + + }, DE.Views.SignatureSettings || {})); +}); \ No newline at end of file diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 630f89fa0..4b4e0df75 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -228,6 +228,32 @@ "Common.Views.ReviewChangesDialog.txtReject": "Reject", "Common.Views.ReviewChangesDialog.txtRejectAll": "Reject All Changes", "Common.Views.ReviewChangesDialog.txtRejectCurrent": "Reject Current Change", + "Common.Views.SignDialog.textTitle": "Sign Document", + "Common.Views.SignDialog.textPurpose": "Purpose for signing this document", + "Common.Views.SignDialog.textCertificate": "Certificate", + "Common.Views.SignDialog.textValid": "Valid from %1 to %2", + "Common.Views.SignDialog.textChange": "Change", + "Common.Views.SignDialog.cancelButtonText": "Cancel", + "Common.Views.SignDialog.okButtonText": "Ok", + "Common.Views.SignDialog.textInputName": "Input signer name", + "Common.Views.SignDialog.textUseImage": "or click 'Select Image' to use a picture as signature", + "Common.Views.SignDialog.textSelectImage": "Select Image", + "Common.Views.SignDialog.textSignature": "Signature looks as", + "Common.Views.SignDialog.tipFontName": "Font Name", + "Common.Views.SignDialog.tipFontSize": "Font Size", + "Common.Views.SignDialog.textBold": "Bold", + "Common.Views.SignDialog.textItalic": "Italic", + "Common.Views.SignSettingsDialog.textInfo": "Signer Info", + "Common.Views.SignSettingsDialog.textInfoName": "Name", + "Common.Views.SignSettingsDialog.textInfoTitle": "Signer Title", + "Common.Views.SignSettingsDialog.textInfoEmail": "E-mail", + "Common.Views.SignSettingsDialog.textInstructions": "Instructions for Signer", + "Common.Views.SignSettingsDialog.cancelButtonText": "Cancel", + "Common.Views.SignSettingsDialog.okButtonText": "Ok", + "Common.Views.SignSettingsDialog.txtEmpty": "This field is required", + "Common.Views.SignSettingsDialog.textAllowComment": "Allow signer to add comment in the signature dialog", + "Common.Views.SignSettingsDialog.textShowDate": "Show sign date in signature line", + "Common.Views.SignSettingsDialog.textTitle": "Signature Settings", "DE.Controllers.LeftMenu.leavePageText": "All unsaved changes in this document will be lost.
    Click \"Cancel\" then \"Save\" to save them. Click \"OK\" to discard all the unsaved changes.", "DE.Controllers.LeftMenu.newDocumentTitle": "Unnamed document", "DE.Controllers.LeftMenu.notcriticalErrorTitle": "Warning", @@ -963,6 +989,7 @@ "DE.Views.FileMenu.btnSettingsCaption": "Advanced Settings...", "DE.Views.FileMenu.btnToEditCaption": "Edit Document", "DE.Views.FileMenu.textDownload": "Download", + "DE.Views.FileMenu.btnProtectCaption": "Protect\\Sign", "DE.Views.FileMenuPanels.CreateNew.fromBlankText": "From Blank", "DE.Views.FileMenuPanels.CreateNew.fromTemplateText": "From Template", "DE.Views.FileMenuPanels.CreateNew.newDescriptionText": "Create a new blank text document which you will be able to style and format after it is created during the editing. Or choose one of the templates to start a document of a certain type or purpose where some styles have already been pre-applied.", @@ -1029,6 +1056,13 @@ "DE.Views.HeaderFooterSettings.textBottomCenter": "Bottom center", "DE.Views.HeaderFooterSettings.textBottomLeft": "Bottom left", "DE.Views.HeaderFooterSettings.textBottomRight": "Bottom right", + "DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document", + "DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Add invisible digital signature", + "DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Add visible signature", + "DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Requested signatures", + "DE.Views.FileMenuPanels.ProtectDoc.strValid": "Valid signatures", + "DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Invalid signatures", + "DE.Views.FileMenuPanels.ProtectDoc.strSignature": "Signature", "DE.Views.HeaderFooterSettings.textDiffFirst": "Different first page", "DE.Views.HeaderFooterSettings.textDiffOdd": "Different odd and even pages", "DE.Views.HeaderFooterSettings.textHeaderFromBottom": "Footer from Bottom", @@ -1307,6 +1341,7 @@ "DE.Views.RightMenu.txtShapeSettings": "Shape settings", "DE.Views.RightMenu.txtTableSettings": "Table settings", "DE.Views.RightMenu.txtTextArtSettings": "Text Art settings", + "DE.Views.RightMenu.txtSignatureSettings": "Signature Settings", "DE.Views.ShapeSettings.strBackground": "Background color", "DE.Views.ShapeSettings.strChange": "Change Autoshape", "DE.Views.ShapeSettings.strColor": "Color", @@ -1357,6 +1392,14 @@ "DE.Views.ShapeSettings.txtTight": "Tight", "DE.Views.ShapeSettings.txtTopAndBottom": "Top and bottom", "DE.Views.ShapeSettings.txtWood": "Wood", + "DE.Views.SignatureSettings.strSignature": "Signature", + "DE.Views.SignatureSettings.strInvisibleSign": "Add invisible digital signature", + "DE.Views.SignatureSettings.strVisibleSign": "Add visible signature", + "DE.Views.SignatureSettings.strRequested": "Requested signatures", + "DE.Views.SignatureSettings.strValid": "Valid signatures", + "DE.Views.SignatureSettings.strInvalid": "Invalid signatures", + "DE.Views.SignatureSettings.strSign": "Sign", + "DE.Views.SignatureSettings.strView": "View", "DE.Views.Statusbar.goToPageText": "Go to Page", "DE.Views.Statusbar.pageIndexText": "Page {0} of {1}", "DE.Views.Statusbar.tipFitPage": "Fit to page", diff --git a/apps/documenteditor/main/resources/img/toolbar-menu.png b/apps/documenteditor/main/resources/img/toolbar-menu.png index 8eda1c7d83ea6fba5c34446026b5b6221d9ae4cf..c7d05082ff704b8dbc924b1982c857170e727579 100644 GIT binary patch literal 15274 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 E0HALQ82|tP literal 54548 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 Ur?{>SH-LZg(n?Y#FARMDKj0co00000 diff --git a/apps/documenteditor/main/resources/less/leftmenu.less b/apps/documenteditor/main/resources/less/leftmenu.less index ee490c488..faf5a8bc4 100644 --- a/apps/documenteditor/main/resources/less/leftmenu.less +++ b/apps/documenteditor/main/resources/less/leftmenu.less @@ -77,4 +77,32 @@ button.notify .btn-menu-comments {background-position: -0*@toolbar-icon-size -60 -webkit-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); +} + +#panel-protect { + #file-menu-panel & { + padding: 30px 30px; + } + + + button { + display: block; + width: auto; + margin-top: 20px; + } + + label { + font: 12px tahoma, arial, verdana, sans-serif; + } + + .header { + font-weight: bold; + margin: 30px 0 10px; + } + + table { + td { + padding: 5px 5px; + } + } } \ No newline at end of file diff --git a/apps/documenteditor/main/resources/less/rightmenu.less b/apps/documenteditor/main/resources/less/rightmenu.less index 2983c04f0..f4ea5aab2 100644 --- a/apps/documenteditor/main/resources/less/rightmenu.less +++ b/apps/documenteditor/main/resources/less/rightmenu.less @@ -105,6 +105,7 @@ /*menuTextArt*/ .button-normal-icon(btn-menu-textart, 54, @toolbar-icon-size); +.button-normal-icon(btn-menu-signature, 78, @toolbar-icon-size); .button-otherstates-icon2(btn-category, @toolbar-icon-size); diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less index 171114fe6..af45fb7fb 100644 --- a/apps/documenteditor/main/resources/less/toolbar.less +++ b/apps/documenteditor/main/resources/less/toolbar.less @@ -312,12 +312,6 @@ .button-normal-icon(mmerge-first, 74, @toolbar-icon-size); //.button-normal-icon(btn-columns, 75, @toolbar-icon-size); //.button-normal-icon(btn-pagemargins, 76, @toolbar-icon-size); -//.button-normal-icon(btn-img-frwd, 83, @toolbar-icon-size); -//.button-normal-icon(btn-img-bkwd, 84, @toolbar-icon-size); -//.button-normal-icon(btn-img-wrap, 85, @toolbar-icon-size); -//.button-normal-icon(btn-img-group, 86, @toolbar-icon-size); -//.button-normal-icon(btn-img-align, 87, @toolbar-icon-size); -.button-normal-icon(btn-goback, 88, @toolbar-icon-size); //.button-normal-icon(btn-insertimage, 17, @toolbar-icon-size); //.button-normal-icon(btn-inserttable, 18, @toolbar-icon-size); @@ -328,11 +322,6 @@ //.button-normal-icon(btn-insertequation, 53, @toolbar-icon-size); //.button-normal-icon(btn-dropcap, 50, @toolbar-icon-size); //.button-normal-icon(btn-ic-doclang, 67, @toolbar-icon-size); -//.button-normal-icon(btn-notes, 78, @toolbar-icon-size); -//.button-normal-icon(review-prev, 79, @toolbar-icon-size); -//.button-normal-icon(review-next, 80, @toolbar-icon-size); -//.button-normal-icon(review-save, 81, @toolbar-icon-size); -//.button-normal-icon(review-deny, 82, @toolbar-icon-size); @menu-icon-size: 22px; .menu-icon-normal(mnu-wrap-inline, 0, @menu-icon-size); diff --git a/apps/presentationeditor/main/app/controller/LeftMenu.js b/apps/presentationeditor/main/app/controller/LeftMenu.js index 45e4e9550..2edbc567b 100644 --- a/apps/presentationeditor/main/app/controller/LeftMenu.js +++ b/apps/presentationeditor/main/app/controller/LeftMenu.js @@ -43,6 +43,7 @@ define([ 'core', 'common/main/lib/util/Shortcuts', + 'common/main/lib/view/SignDialog', 'presentationeditor/main/app/view/LeftMenu', 'presentationeditor/main/app/view/FileMenu' ], function () { @@ -83,7 +84,8 @@ define([ 'saveas:format': _.bind(this.clickSaveAsFormat, this), 'settings:apply': _.bind(this.applySettings, this), 'create:new': _.bind(this.onCreateNew, this), - 'recent:open': _.bind(this.onOpenRecent, this) + 'recent:open': _.bind(this.onOpenRecent, this), + 'signature:invisible': _.bind(this.addInvisibleSign, this) }, 'Toolbar': { 'file:settings': _.bind(this.clickToolbarSettings,this), @@ -533,18 +535,37 @@ define([ }, onPluginOpen: function(panel, type, action) { - if ( type == 'onboard' ) { - if ( action == 'open' ) { + if (type == 'onboard') { + if (action == 'open') { this.leftMenu.close(); this.leftMenu.btnThumbs.toggle(false, false); this.leftMenu.panelPlugins.show(); - this.leftMenu.onBtnMenuClick({pressed:true, options: {action: 'plugins'}}); + this.leftMenu.onBtnMenuClick({pressed: true, options: {action: 'plugins'}}); } else { this.leftMenu.close(); } } }, + addInvisibleSign: function(menu) { + var me = this, + win = new Common.Views.SignDialog({ + api: me.api, + signType: 'invisible', + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId); + } + Common.NotificationCenter.trigger('edit:complete', me); + } + }); + + win.show(); + + menu.hide(); + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', requestEditRightsText : 'Requesting editing rights...' diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 9412332c1..4b1c88f24 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -787,6 +787,7 @@ define([ this.appOptions.forcesave = this.appOptions.canForcesave; this.appOptions.canEditComments= this.appOptions.isOffline || !(typeof (this.editorConfig.customization) == 'object' && this.editorConfig.customization.commentAuthorOnly); this.appOptions.trialMode = params.asc_getLicenseMode(); + this.appOptions.canProtect = this.appOptions.isDesktopApp && this.api.asc_isSignaturesSupport(); this._state.licenseWarning = (licType===Asc.c_oLicenseResult.Connections) && this.appOptions.canEdit && this.editorConfig.mode !== 'view'; diff --git a/apps/presentationeditor/main/app/controller/RightMenu.js b/apps/presentationeditor/main/app/controller/RightMenu.js index a625e3887..b9aa0bf20 100644 --- a/apps/presentationeditor/main/app/controller/RightMenu.js +++ b/apps/presentationeditor/main/app/controller/RightMenu.js @@ -79,6 +79,7 @@ define([ this._settings[Common.Utils.documentSettingsType.Shape] = {panelId: "id-shape-settings", panel: rightMenu.shapeSettings, btn: rightMenu.btnShape, hidden: 1, locked: false}; this._settings[Common.Utils.documentSettingsType.TextArt] = {panelId: "id-textart-settings", panel: rightMenu.textartSettings, btn: rightMenu.btnTextArt, hidden: 1, locked: false}; this._settings[Common.Utils.documentSettingsType.Chart] = {panelId: "id-chart-settings", panel: rightMenu.chartSettings, btn: rightMenu.btnChart, hidden: 1, locked: false}; + this._settings[Common.Utils.documentSettingsType.Signature] = {panelId: "id-signature-settings", panel: rightMenu.signatureSettings, btn: rightMenu.btnSignature, hidden: (rightMenu.signatureSettings) ? 0 : 1, props: {}, locked: false}; }, setApi: function(api) { @@ -97,7 +98,7 @@ define([ var panel = this._settings[type].panel; var props = this._settings[type].props; if (props && panel) - panel.ChangeSettings.call(panel, props); + panel.ChangeSettings.call(panel, (type==Common.Utils.documentSettingsType.Signature) ? undefined : props); } Common.NotificationCenter.trigger('layout:changed', 'rightmenu'); this.rightmenu.fireEvent('editcomplete', this.rightmenu); @@ -109,12 +110,14 @@ define([ var needhide = true; for (var i=0; i0) ? 0 : 1; + this._settings[Common.Utils.documentSettingsType.Signature].locked = false; for (i=0; i
  • +
  • @@ -29,4 +30,5 @@
    +
    \ No newline at end of file diff --git a/apps/presentationeditor/main/app/template/RightMenu.template b/apps/presentationeditor/main/app/template/RightMenu.template index baba70c3e..f4cfb2d7b 100644 --- a/apps/presentationeditor/main/app/template/RightMenu.template +++ b/apps/presentationeditor/main/app/template/RightMenu.template @@ -14,6 +14,8 @@
    +
    +
    @@ -24,5 +26,6 @@ +
    \ No newline at end of file diff --git a/apps/presentationeditor/main/app/template/SignatureSettings.template b/apps/presentationeditor/main/app/template/SignatureSettings.template new file mode 100644 index 000000000..b5b986dc7 --- /dev/null +++ b/apps/presentationeditor/main/app/template/SignatureSettings.template @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + +
    + +
    + +
    \ No newline at end of file diff --git a/apps/presentationeditor/main/app/view/DocumentHolder.js b/apps/presentationeditor/main/app/view/DocumentHolder.js index af797dd8c..7e5cd5083 100644 --- a/apps/presentationeditor/main/app/view/DocumentHolder.js +++ b/apps/presentationeditor/main/app/view/DocumentHolder.js @@ -38,6 +38,7 @@ define([ 'common/main/lib/util/utils', 'common/main/lib/component/Menu', 'common/main/lib/view/CopyWarningDialog', + 'common/main/lib/view/SignDialog', 'presentationeditor/main/app/view/HyperlinkSettingsDialog', // 'common/main/lib/view/InsertTableDialog', 'presentationeditor/main/app/view/ParagraphSettingsAdvanced', @@ -678,6 +679,36 @@ define([ } }; + var onSignatureClick = function(guid, width, height) { + if (_.isUndefined(me.fontStore)) { + me.fontStore = new Common.Collections.Fonts(); + var fonts = PE.getController('Toolbar').getView('Toolbar').cmbFontName.store.toJSON(); + var arr = []; + _.each(fonts, function(font, index){ + if (!font.cloneid) { + arr.push(_.clone(font)); + } + }); + me.fontStore.add(arr); + } + + var win = new Common.Views.SignDialog({ + api: me.api, + signType: 'visible', + fontStore: me.fontStore, + signSize: {width: width, height: height}, + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId, guid, props.images[0], props.images[1]); + } + me.fireEvent('editcomplete', me); + } + }); + + win.show(); + }; + var onTextLanguage = function(langid) { me._currLang.id = langid; }; @@ -1518,6 +1549,7 @@ define([ me.api.asc_registerCallback('asc_onUpdateThemeIndex', _.bind(onApiUpdateThemeIndex, me)); me.api.asc_registerCallback('asc_onLockDocumentTheme', _.bind(onApiLockDocumentTheme, me)); me.api.asc_registerCallback('asc_onUnLockDocumentTheme', _.bind(onApiUnLockDocumentTheme, me)); + me.api.asc_registerCallback('asc_onSignatureClick', _.bind(onSignatureClick, me)); } return me; diff --git a/apps/presentationeditor/main/app/view/FileMenu.js b/apps/presentationeditor/main/app/view/FileMenu.js index e6d79d23d..d8c9fd30c 100644 --- a/apps/presentationeditor/main/app/view/FileMenu.js +++ b/apps/presentationeditor/main/app/view/FileMenu.js @@ -164,6 +164,12 @@ define([ this.miSaveAs, this.miPrint, this.miRename, + new Common.UI.MenuItem({ + el : $('#fm-btn-protect',this.el), + action : 'protect', + caption : this.btnProtectCaption, + canFocused: false + }), this.miRecent, this.miNew, new Common.UI.MenuItem({ @@ -228,7 +234,8 @@ define([ applyMode: function() { this.miPrint[this.mode.canPrint?'show':'hide'](); this.miRename[(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide'](); - this.miRename.$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); + this.items[7][(this.mode.canProtect) ?'show':'hide'](); + this.items[7].$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); this.miRecent[this.mode.canOpenRecent?'show':'hide'](); this.miNew[this.mode.canCreateNew?'show':'hide'](); this.miNew.$el.find('+.devider')[this.mode.canCreateNew?'show':'hide'](); @@ -264,8 +271,10 @@ define([ } } - if (this.mode.targetApp == 'desktop') { + if (this.mode.canProtect) { this.$el.find('#fm-btn-create, #fm-btn-back, #fm-btn-create+.devider').hide(); + this.panels['protect'] = (new PE.Views.FileMenuPanels.ProtectDoc({menu:this})).render(); + this.panels['protect'].setMode(this.mode); } this.panels['help'].setLangConfig(this.mode.lang); @@ -288,6 +297,7 @@ define([ setApi: function(api) { this.api = api; + if (this.panels['protect']) this.panels['protect'].setApi(api); this.api.asc_registerCallback('asc_onDocumentName', _.bind(this.onDocumentName, this)); }, @@ -354,6 +364,7 @@ define([ btnSettingsCaption : 'Advanced Settings...', btnSaveAsCaption : 'Save as', btnRenameCaption : 'Rename...', - btnCloseMenuCaption : 'Close Menu' + btnCloseMenuCaption : 'Close Menu', + btnProtectCaption: 'Protect\\Sign' }, PE.Views.FileMenu || {})); }); diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js index 4aae8916d..22b38dbbf 100644 --- a/apps/presentationeditor/main/app/view/FileMenuPanels.js +++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js @@ -866,4 +866,102 @@ define([ } } }); + + PE.Views.FileMenuPanels.ProtectDoc = Common.UI.BaseView.extend(_.extend({ + el: '#panel-protect', + menu: undefined, + + template: _.template([ + '', + '', + '
    ', + '
    ' + ].join('')), + + initialize: function(options) { + Common.UI.BaseView.prototype.initialize.call(this,arguments); + + this.menu = options.menu; + + this.templateValid = _.template([ + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item.name) %><%= Common.Utils.String.htmlEncode(item.date) %>
    ' + ].join('')); + }, + + render: function() { + $(this.el).html(this.template({scope: this})); + + this.btnAddInvisibleSign = new Common.UI.Button({ + el: '#fms-btn-invisible-sign' + }); + this.btnAddInvisibleSign.on('click', _.bind(this.addInvisibleSign, this)); + + this.lblSignHeader = $('#id-fms-lbl-sign-header', this.$el); + + this.cntValidSign = $('#id-fms-valid-sign'); + this.cntInvalidSign = $('#id-fms-invalid-sign'); + + if (_.isUndefined(this.scroller)) { + this.scroller = new Common.UI.Scroller({ + el: $(this.el), + suppressScrollX: true + }); + } + + return this; + }, + + show: function() { + Common.UI.BaseView.prototype.show.call(this,arguments); + this.updateSignatures(); + }, + + setMode: function(mode) { + this.mode = mode; + if (!this.mode.isEdit) { + this.btnAddInvisibleSign.setVisible(false); + this.lblSignHeader.html(this.strSignature); + } + }, + + setApi: function(o) { + this.api = o; + return this; + }, + + addInvisibleSign: function() { + if (this.menu) + this.menu.fireEvent('signature:invisible', [this.menu]); + }, + + updateSignatures: function(){ + var valid = this.api.asc_getSignatures(), + valid_arr = [], invalid_arr = []; + + _.each(valid, function(item, index){ + var sign = {name: item.asc_getSigner1(), date: '18/05/2017'}; + (item.asc_getValid()==0) ? valid_arr.push(sign) : invalid_arr.push(sign); + }); + this.cntValidSign.html(this.templateValid({signatures: valid_arr, header: this.strValid})); + this.cntInvalidSign.html(this.templateValid({signatures: invalid_arr, header: this.strInvalid})); + // this.cntValidSign.html(this.templateValid({signatures: [{name: 'Hammish Mitchell', date: '18/05/2017'}, {name: 'Someone Somewhere', date: '18/05/2017'}], header: this.strValid})); + // this.cntInvalidSign.html(this.templateValid({signatures: [{name: 'Mary White', date: '18/05/2017'}, {name: 'John Black', date: '18/05/2017'}], header: this.strInvalid})); + }, + + strProtect: 'Protect Document', + strInvisibleSign: 'Add invisible digital signature', + strValid: 'Valid signatures', + strInvalid: 'Invalid signatures', + strSignature: 'Signature' + + }, PE.Views.FileMenuPanels.ProtectDoc || {})); + }); diff --git a/apps/presentationeditor/main/app/view/RightMenu.js b/apps/presentationeditor/main/app/view/RightMenu.js index fe1d4583a..9f12f3b79 100644 --- a/apps/presentationeditor/main/app/view/RightMenu.js +++ b/apps/presentationeditor/main/app/view/RightMenu.js @@ -56,6 +56,7 @@ define([ 'presentationeditor/main/app/view/ShapeSettings', 'presentationeditor/main/app/view/SlideSettings', 'presentationeditor/main/app/view/TextArtSettings', + 'presentationeditor/main/app/view/SignatureSettings', 'common/main/lib/component/Scroller' ], function (menuTemplate, $, _, Backbone) { 'use strict'; @@ -143,7 +144,7 @@ define([ return this; }, - render: function () { + render: function (mode) { var el = $(this.el); this.trigger('render:before', this); @@ -178,6 +179,21 @@ define([ this.shapeSettings = new PE.Views.ShapeSettings(); this.textartSettings = new PE.Views.TextArtSettings(); + if (mode && mode.canProtect) { + this.btnSignature = new Common.UI.Button({ + hint: this.txtSignatureSettings, + asctype: Common.Utils.documentSettingsType.Signature, + enableToggle: true, + disabled: true, + toggleGroup: 'tabpanelbtnsGroup' + }); + this._settings[Common.Utils.documentSettingsType.Signature] = {panel: "id-signature-settings", btn: this.btnSignature}; + + this.btnSignature.el = $('#id-right-menu-signature'); this.btnSignature.render().setVisible(true); + this.btnSignature.on('click', _.bind(this.onBtnMenuClick, this)); + this.signatureSettings = new PE.Views.SignatureSettings(); + } + if (_.isUndefined(this.scroller)) { this.scroller = new Common.UI.Scroller({ el: $(this.el).find('.right-panel'), @@ -206,6 +222,7 @@ define([ this.tableSettings.setApi(api).on('editcomplete', _.bind( fire, this)); this.shapeSettings.setApi(api).on('editcomplete', _.bind( fire, this)); this.textartSettings.setApi(api).on('editcomplete', _.bind( fire, this)); + if (this.signatureSettings) this.signatureSettings.setApi(api).on('editcomplete', _.bind( fire, this)); }, setMode: function(mode) { @@ -299,6 +316,7 @@ define([ txtShapeSettings: 'Shape Settings', txtTextArtSettings: 'Text Art Settings', txtSlideSettings: 'Slide Settings', - txtChartSettings: 'Chart Settings' + txtChartSettings: 'Chart Settings', + txtSignatureSettings: 'Signature Settings' }, PE.Views.RightMenu || {})); }); \ No newline at end of file diff --git a/apps/presentationeditor/main/app/view/SignatureSettings.js b/apps/presentationeditor/main/app/view/SignatureSettings.js new file mode 100644 index 000000000..7a9a52228 --- /dev/null +++ b/apps/presentationeditor/main/app/view/SignatureSettings.js @@ -0,0 +1,207 @@ +/* + * + * (c) Copyright Ascensio System Limited 2010-2017 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, + * EU, LV-1021. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * SignatureSettings.js + * + * Created by Julia Radzhabova on 5/24/17 + * Copyright (c) 2017 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'text!presentationeditor/main/app/template/SignatureSettings.template', + 'jquery', + 'underscore', + 'backbone', + 'common/main/lib/component/Button', + 'common/main/lib/view/SignDialog' +], function (menuTemplate, $, _, Backbone) { + 'use strict'; + + PE.Views.SignatureSettings = Backbone.View.extend(_.extend({ + el: '#id-signature-settings', + + // Compile our stats template + template: _.template(menuTemplate), + + // Delegated events for creating new items, and clearing completed ones. + events: { + }, + + options: { + alias: 'SignatureSettings' + }, + + initialize: function () { + var me = this; + + this._initSettings = true; + + this._state = { + DisabledControls: false, + validSignatures: undefined, + invalidSignatures: undefined + }; + this._locked = false; + this.lockedControls = []; + + this._noApply = false; + this._originalProps = null; + + this.templateValid = _.template([ + '', + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item.name) %>
    <%= Common.Utils.String.htmlEncode(item.date) %>
    ', + '' + ].join('')); + + this.render(); + }, + + render: function () { + this.$el.html(this.template({ + scope: this + })); + + this.btnAddInvisibleSign = new Common.UI.Button({ + el: this.$el.find('#signature-invisible-sign') + }); + this.btnAddInvisibleSign.on('click', _.bind(this.addInvisibleSign, this)); + this.lockedControls.push(this.btnAddInvisibleSign); + + this.cntValidSign = $('#signature-valid-sign'); + this.cntInvalidSign = $('#signature-invalid-sign'); + }, + + setApi: function(api) { + this.api = api; + if (this.api) { + this.api.asc_registerCallback('asc_onUpdateSignatures', _.bind(this.onUpdateSignatures, this)); + } + return this; + }, + + createDelayedControls: function() { + this._initSettings = false; + }, + + ChangeSettings: function(props) { + if (this._initSettings) + this.createDelayedControls(); + + if (!this._state.validSignatures || !this._state.invalidSignatures) { + this.onUpdateSignatures(this.api.asc_getSignatures()); + } + + this.disableControls(this._locked); + }, + + setLocked: function (locked) { + this._locked = locked; + }, + + disableControls: function(disable) { + if (this._initSettings) return; + + if (this._state.DisabledControls!==disable) { + this._state.DisabledControls = disable; + _.each(this.lockedControls, function(item) { + item.setDisabled(disable); + }); + this.$linksSign.toggleClass('disabled', disable); + this.$linksView.toggleClass('disabled', disable); + } + }, + + setMode: function(mode) { + this.mode = mode; + }, + + onUpdateSignatures: function(valid){ + var me = this; + me._state.validSignatures = []; + me._state.invalidSignatures = []; + + _.each(valid, function(item, index){ + var sign = {name: item.asc_getSigner1(), guid: item.asc_getId(), date: '18/05/2017'}; + (item.asc_getValid()==0) ? me._state.validSignatures.push(sign) : me._state.invalidSignatures.push(sign); + }); + this.cntValidSign.html(this.templateValid({signatures: me._state.validSignatures, header: this.strValid})); + this.cntInvalidSign.html(this.templateValid({signatures: me._state.invalidSignatures, header: this.strInvalid})); + // this.cntValidSign.html(this.templateValid({signatures: [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017'}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}], header: this.strValid})); + // this.cntInvalidSign.html(this.templateValid({signatures: [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}], header: this.strInvalid})); + + this.$linksView = $('.signature-view-link', this.$el); + this.$el.on('click', '.signature-view-link', _.bind(this.onViewSignature, this)); + }, + + addInvisibleSign: function(btn) { + var me = this, + win = new Common.Views.SignDialog({ + api: me.api, + signType: 'invisible', + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId); + } + me.fireEvent('editcomplete', me); + } + }); + + win.show(); + }, + + onViewSignature: function(event) { + var target = $(event.currentTarget); + if (target.hasClass('disabled')) return; + + this.api.asc_ViewCertificate(target.attr('data-value')); + }, + + strSignature: 'Signature', + strInvisibleSign: 'Add invisible digital signature', + strValid: 'Valid signatures', + strInvalid: 'Invalid signatures', + strView: 'View' + + }, PE.Views.SignatureSettings || {})); +}); \ No newline at end of file diff --git a/apps/presentationeditor/main/app/view/Viewport.js b/apps/presentationeditor/main/app/view/Viewport.js index e7da2ea5f..e1be9b2d2 100644 --- a/apps/presentationeditor/main/app/view/Viewport.js +++ b/apps/presentationeditor/main/app/view/Viewport.js @@ -123,7 +123,7 @@ define([ }, applyEditorMode: function() { - PE.getController('RightMenu').getView('RightMenu').render(); + PE.getController('RightMenu').getView('RightMenu').render(this.mode); if ( Common.localStorage.getBool('pe-hidden-status') ) PE.getController('Statusbar').getView('Statusbar').setVisible(false); diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index 30ef68240..72032e2bf 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -126,6 +126,32 @@ "Common.Views.RenameDialog.okButtonText": "Ok", "Common.Views.RenameDialog.textName": "File name", "Common.Views.RenameDialog.txtInvalidName": "The file name cannot contain any of the following characters: ", + "Common.Views.SignDialog.textTitle": "Sign Document", + "Common.Views.SignDialog.textPurpose": "Purpose for signing this document", + "Common.Views.SignDialog.textCertificate": "Certificate", + "Common.Views.SignDialog.textValid": "Valid from %1 to %2", + "Common.Views.SignDialog.textChange": "Change", + "Common.Views.SignDialog.cancelButtonText": "Cancel", + "Common.Views.SignDialog.okButtonText": "Ok", + "Common.Views.SignDialog.textInputName": "Input signer name", + "Common.Views.SignDialog.textUseImage": "or click 'Select Image' to use a picture as signature", + "Common.Views.SignDialog.textSelectImage": "Select Image", + "Common.Views.SignDialog.textSignature": "Signature looks as", + "Common.Views.SignDialog.tipFontName": "Font Name", + "Common.Views.SignDialog.tipFontSize": "Font Size", + "Common.Views.SignDialog.textBold": "Bold", + "Common.Views.SignDialog.textItalic": "Italic", + "Common.Views.SignSettingsDialog.textInfo": "Signer Info", + "Common.Views.SignSettingsDialog.textInfoName": "Name", + "Common.Views.SignSettingsDialog.textInfoTitle": "Signer Title", + "Common.Views.SignSettingsDialog.textInfoEmail": "E-mail", + "Common.Views.SignSettingsDialog.textInstructions": "Instructions for Signer", + "Common.Views.SignSettingsDialog.cancelButtonText": "Cancel", + "Common.Views.SignSettingsDialog.okButtonText": "Ok", + "Common.Views.SignSettingsDialog.txtEmpty": "This field is required", + "Common.Views.SignSettingsDialog.textAllowComment": "Allow signer to add comment in the signature dialog", + "Common.Views.SignSettingsDialog.textShowDate": "Show sign date in signature line", + "Common.Views.SignSettingsDialog.textTitle": "Signature Settings", "PE.Controllers.LeftMenu.newDocumentTitle": "Unnamed presentation", "PE.Controllers.LeftMenu.requestEditRightsText": "Requesting editing rights...", "PE.Controllers.LeftMenu.textNoTextFound": "The data you have been searching for could not be found. Please adjust your search options.", @@ -817,6 +843,7 @@ "PE.Views.FileMenu.btnSaveCaption": "Save", "PE.Views.FileMenu.btnSettingsCaption": "Advanced Settings...", "PE.Views.FileMenu.btnToEditCaption": "Edit Presentation", + "PE.Views.FileMenu.btnProtectCaption": "Protect\\Sign", "PE.Views.FileMenuPanels.CreateNew.fromBlankText": "From Blank", "PE.Views.FileMenuPanels.CreateNew.fromTemplateText": "From Template", "PE.Views.FileMenuPanels.CreateNew.newDescriptionText": "Create a new blank presentation which you will be able to style and format after it is created during the editing. Or choose one of the templates to start a presentation of a certain type or purpose where some styles have already been pre-applied.", @@ -865,6 +892,11 @@ "PE.Views.FileMenuPanels.Settings.txtLast": "View Last", "PE.Views.FileMenuPanels.Settings.txtPt": "Point", "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spell Checking", + "PE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document", + "PE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Add invisible digital signature", + "PE.Views.FileMenuPanels.ProtectDoc.strValid": "Valid signatures", + "PE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Invalid signatures", + "PE.Views.FileMenuPanels.ProtectDoc.strSignature": "Signature", "PE.Views.HyperlinkSettingsDialog.cancelButtonText": "Cancel", "PE.Views.HyperlinkSettingsDialog.okButtonText": "OK", "PE.Views.HyperlinkSettingsDialog.strDisplay": "Display", @@ -964,6 +996,7 @@ "PE.Views.RightMenu.txtSlideSettings": "Slide settings", "PE.Views.RightMenu.txtTableSettings": "Table settings", "PE.Views.RightMenu.txtTextArtSettings": "Text Art settings", + "PE.Views.RightMenu.txtSignatureSettings": "Signature Settings", "PE.Views.ShapeSettings.strBackground": "Background color", "PE.Views.ShapeSettings.strChange": "Change Autoshape", "PE.Views.ShapeSettings.strColor": "Color", @@ -1006,6 +1039,11 @@ "PE.Views.ShapeSettings.txtNoBorders": "No Line", "PE.Views.ShapeSettings.txtPapyrus": "Papyrus", "PE.Views.ShapeSettings.txtWood": "Wood", + "PE.Views.SignatureSettings.strSignature": "Signature", + "PE.Views.SignatureSettings.strInvisibleSign": "Add invisible digital signature", + "PE.Views.SignatureSettings.strValid": "Valid signatures", + "PE.Views.SignatureSettings.strInvalid": "Invalid signatures", + "PE.Views.SignatureSettings.strView": "View", "PE.Views.ShapeSettingsAdvanced.cancelButtonText": "Cancel", "PE.Views.ShapeSettingsAdvanced.okButtonText": "OK", "PE.Views.ShapeSettingsAdvanced.strColumns": "Columns", diff --git a/apps/presentationeditor/main/resources/img/toolbar-menu.png b/apps/presentationeditor/main/resources/img/toolbar-menu.png index 2c5504c88d64abf71b6a93898099263ada2bb170..9e974f07a30b8bbde7b00ce2890de55dab181351 100644 GIT binary patch literal 13359 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 Ke!Sxl_x}JmOFakx literal 12696 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�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 YFS&Cb?+(#ZzcQ|Cs_NY>Q-;F-4@Aah{r~^~ literal 33313 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
  • +
  • @@ -29,4 +30,5 @@
    +
    \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/template/RightMenu.template b/apps/spreadsheeteditor/main/app/template/RightMenu.template index 1f7d9abf6..24c8de9ca 100644 --- a/apps/spreadsheeteditor/main/app/template/RightMenu.template +++ b/apps/spreadsheeteditor/main/app/template/RightMenu.template @@ -12,6 +12,8 @@
    +
    +
    @@ -21,5 +23,6 @@ +
    \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/template/SignatureSettings.template b/apps/spreadsheeteditor/main/app/template/SignatureSettings.template new file mode 100644 index 000000000..5a4fa0157 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/template/SignatureSettings.template @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/FileMenu.js b/apps/spreadsheeteditor/main/app/view/FileMenu.js index f1067ae56..674408d44 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenu.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenu.js @@ -158,6 +158,12 @@ define([ this.miSaveAs, this.miPrint, this.miRename, + new Common.UI.MenuItem({ + el : $('#fm-btn-protect',this.el), + action : 'protect', + caption : this.btnProtectCaption, + canFocused: false + }), this.miRecent, this.miNew, new Common.UI.MenuItem({ @@ -217,7 +223,8 @@ define([ applyMode: function() { this.miPrint[this.mode.canPrint?'show':'hide'](); this.miRename[(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide'](); - this.miRename.$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); + this.items[7][(this.mode.canProtect) ?'show':'hide'](); + this.items[7].$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); this.miRecent[this.mode.canOpenRecent?'show':'hide'](); this.miNew[this.mode.canCreateNew?'show':'hide'](); this.miNew.$el.find('+.devider')[this.mode.canCreateNew?'show':'hide'](); @@ -255,6 +262,11 @@ define([ } } + if (this.mode.canProtect) { + this.panels['protect'] = (new SSE.Views.FileMenuPanels.ProtectDoc({menu:this})).render(); + this.panels['protect'].setMode(this.mode); + } + this.panels['help'].setLangConfig(this.mode.lang); }, @@ -276,6 +288,7 @@ define([ setApi: function(api) { this.api = api; if (this.panels['opts']) this.panels['opts'].setApi(api); + if (this.panels['protect']) this.panels['protect'].setApi(api); this.api.asc_registerCallback('asc_onDocumentName', _.bind(this.onDocumentName, this)); }, @@ -333,6 +346,7 @@ define([ btnSettingsCaption : 'Advanced Settings...', btnSaveAsCaption : 'Save as', btnRenameCaption : 'Rename...', - btnCloseMenuCaption : 'Close Menu' + btnCloseMenuCaption : 'Close Menu', + btnProtectCaption: 'Protect\\Sign' }, SSE.Views.FileMenu || {})); }); diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index 8f765ea10..73d97b9ee 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -1333,4 +1333,136 @@ define([ } } }); + + SSE.Views.FileMenuPanels.ProtectDoc = Common.UI.BaseView.extend(_.extend({ + el: '#panel-protect', + menu: undefined, + + template: _.template([ + '', + '', + '', + '
    ', + '
    ', + '
    ' + ].join('')), + + initialize: function(options) { + Common.UI.BaseView.prototype.initialize.call(this,arguments); + + this.menu = options.menu; + + this.templateRequested = _.template([ + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item) %>
    ' + ].join('')); + + this.templateValid = _.template([ + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item.name) %><%= Common.Utils.String.htmlEncode(item.date) %>
    ' + ].join('')); + }, + + render: function() { + $(this.el).html(this.template({scope: this})); + + this.btnAddInvisibleSign = new Common.UI.Button({ + el: '#fms-btn-invisible-sign' + }); + this.btnAddInvisibleSign.on('click', _.bind(this.addInvisibleSign, this)); + + this.btnAddVisibleSign = new Common.UI.Button({ + el: '#fms-btn-visible-sign' + }); + this.btnAddVisibleSign.on('click', _.bind(this.addVisibleSign, this)); + + this.lblSignHeader = $('#id-fms-lbl-sign-header', this.$el); + + this.cntRequestedSign = $('#id-fms-requested-sign'); + this.cntValidSign = $('#id-fms-valid-sign'); + this.cntInvalidSign = $('#id-fms-invalid-sign'); + + if (_.isUndefined(this.scroller)) { + this.scroller = new Common.UI.Scroller({ + el: $(this.el), + suppressScrollX: true + }); + } + + return this; + }, + + show: function() { + Common.UI.BaseView.prototype.show.call(this,arguments); + this.updateSignatures(); + }, + + setMode: function(mode) { + this.mode = mode; + if (!this.mode.isEdit) { + this.btnAddInvisibleSign.setVisible(false); + this.btnAddVisibleSign.setVisible(false); + this.lblSignHeader.html(this.strSignature); + } + }, + + setApi: function(o) { + this.api = o; + return this; + }, + + addInvisibleSign: function() { + if (this.menu) + this.menu.fireEvent('signature:invisible', [this.menu]); + }, + + addVisibleSign: function() { + if (this.menu) + this.menu.fireEvent('signature:visible', [this.menu]); + }, + + updateSignatures: function(){ + var requested = this.api.asc_getRequestSignatures(), + requested_arr = [], + valid = this.api.asc_getSignatures(), + valid_arr = [], invalid_arr = []; + + _.each(requested, function(item, index){ + requested_arr.push(item.asc_getSigner1()); + }); + _.each(valid, function(item, index){ + var sign = {name: item.asc_getSigner1(), date: '18/05/2017'}; + (item.asc_getValid()==0) ? valid_arr.push(sign) : invalid_arr.push(sign); + }); + this.cntRequestedSign.html(this.templateRequested({signatures: requested_arr, header: this.strRequested})); + this.cntValidSign.html(this.templateValid({signatures: valid_arr, header: this.strValid})); + this.cntInvalidSign.html(this.templateValid({signatures: invalid_arr, header: this.strInvalid})); + // this.cntRequestedSign.html(this.templateRequested({signatures: ['Hammish Mitchell', 'Someone Somewhere', 'Mary White', 'John Black'], header: this.strRequested})); + // this.cntValidSign.html(this.templateValid({signatures: [{name: 'Hammish Mitchell', date: '18/05/2017'}, {name: 'Someone Somewhere', date: '18/05/2017'}], header: this.strValid})); + // this.cntInvalidSign.html(this.templateValid({signatures: [{name: 'Mary White', date: '18/05/2017'}, {name: 'John Black', date: '18/05/2017'}], header: this.strInvalid})); + }, + + strProtect: 'Protect Document', + strInvisibleSign: 'Add invisible digital signature', + strVisibleSign: 'Add visible signature', + strRequested: 'Requested signatures', + strValid: 'Valid signatures', + strInvalid: 'Invalid signatures', + strSignature: 'Signature' + + }, SSE.Views.FileMenuPanels.ProtectDoc || {})); + }); diff --git a/apps/spreadsheeteditor/main/app/view/RightMenu.js b/apps/spreadsheeteditor/main/app/view/RightMenu.js index c685e418a..fe331911a 100644 --- a/apps/spreadsheeteditor/main/app/view/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/view/RightMenu.js @@ -55,6 +55,7 @@ define([ 'spreadsheeteditor/main/app/view/ShapeSettings', 'spreadsheeteditor/main/app/view/TextArtSettings', 'spreadsheeteditor/main/app/view/TableSettings', + 'spreadsheeteditor/main/app/view/SignatureSettings', 'common/main/lib/component/Scroller' ], function (menuTemplate, $, _, Backbone) { 'use strict'; @@ -134,7 +135,7 @@ define([ return this; }, - render: function () { + render: function (mode) { var el = $(this.el); this.trigger('render:before', this); @@ -166,6 +167,21 @@ define([ this.textartSettings = new SSE.Views.TextArtSettings(); this.tableSettings = new SSE.Views.TableSettings(); + if (mode && mode.canProtect) { + this.btnSignature = new Common.UI.Button({ + hint: this.txtSignatureSettings, + asctype: Common.Utils.documentSettingsType.Signature, + enableToggle: true, + disabled: true, + toggleGroup: 'tabpanelbtnsGroup' + }); + this._settings[Common.Utils.documentSettingsType.Signature] = {panel: "id-signature-settings", btn: this.btnSignature}; + + this.btnSignature.el = $('#id-right-menu-signature'); this.btnSignature.render().setVisible(true); + this.btnSignature.on('click', _.bind(this.onBtnMenuClick, this)); + this.signatureSettings = new SSE.Views.SignatureSettings(); + } + if (_.isUndefined(this.scroller)) { this.scroller = new Common.UI.Scroller({ el: $(this.el).find('.right-panel'), @@ -187,7 +203,7 @@ define([ this.shapeSettings.setApi(api); this.textartSettings.setApi(api); this.tableSettings.setApi(api); - + if (this.signatureSettings) this.signatureSettings.setApi(api); return this; }, @@ -264,6 +280,7 @@ define([ txtTextArtSettings: 'Text Art Settings', txtChartSettings: 'Chart Settings', txtSparklineSettings: 'Sparkline Settings', - txtTableSettings: 'Table Settings' + txtTableSettings: 'Table Settings', + txtSignatureSettings: 'Signature Settings' }, SSE.Views.RightMenu || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/SignatureSettings.js b/apps/spreadsheeteditor/main/app/view/SignatureSettings.js new file mode 100644 index 000000000..32241a8c5 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/view/SignatureSettings.js @@ -0,0 +1,288 @@ +/* + * + * (c) Copyright Ascensio System Limited 2010-2017 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, + * EU, LV-1021. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * SignatureSettings.js + * + * Created by Julia Radzhabova on 5/24/17 + * Copyright (c) 2017 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'text!spreadsheeteditor/main/app/template/SignatureSettings.template', + 'jquery', + 'underscore', + 'backbone', + 'common/main/lib/component/Button', + 'common/main/lib/view/SignDialog', + 'common/main/lib/view/SignSettingsDialog' +], function (menuTemplate, $, _, Backbone) { + 'use strict'; + + SSE.Views.SignatureSettings = Backbone.View.extend(_.extend({ + el: '#id-signature-settings', + + // Compile our stats template + template: _.template(menuTemplate), + + // Delegated events for creating new items, and clearing completed ones. + events: { + }, + + options: { + alias: 'SignatureSettings' + }, + + initialize: function () { + var me = this; + + this._initSettings = true; + + this._state = { + DisabledControls: false, + requestedSignatures: undefined, + validSignatures: undefined, + invalidSignatures: undefined + }; + this._locked = false; + this.lockedControls = []; + + this._noApply = false; + this._originalProps = null; + + this.templateRequested = _.template([ + '', + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '<% }); %>', + '
    ', + '' + ].join('')); + + this.templateValid = _.template([ + '', + '', + '', + '<% _.each(signatures, function(item) { %>', + '', + '', + '', + '', + '', + '<% }); %>', + '
    <%= Common.Utils.String.htmlEncode(item.name) %>
    <%= Common.Utils.String.htmlEncode(item.date) %>
    ', + '' + ].join('')); + + this.render(); + }, + + render: function () { + this.$el.html(this.template({ + scope: this + })); + + this.btnAddInvisibleSign = new Common.UI.Button({ + el: this.$el.find('#signature-invisible-sign') + }); + this.btnAddInvisibleSign.on('click', _.bind(this.addInvisibleSign, this)); + this.lockedControls.push(this.btnAddInvisibleSign); + + this.btnAddVisibleSign = new Common.UI.Button({ + el: this.$el.find('#signature-visible-sign') + }); + this.btnAddVisibleSign.on('click', _.bind(this.addVisibleSign, this)); + this.lockedControls.push(this.btnAddVisibleSign); + + this.cntRequestedSign = $('#signature-requested-sign'); + this.cntValidSign = $('#signature-valid-sign'); + this.cntInvalidSign = $('#signature-invalid-sign'); + }, + + setApi: function(api) { + this.api = api; + if (this.api) { + this.api.asc_registerCallback('asc_onUpdateSignatures', _.bind(this.onUpdateSignatures, this)); + } + return this; + }, + + createDelayedControls: function() { + this._initSettings = false; + }, + + ChangeSettings: function(props) { + if (this._initSettings) + this.createDelayedControls(); + + if (!this._state.requestedSignatures || !this._state.validSignatures || !this._state.invalidSignatures) { + this.onUpdateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures()); + } + + this.disableControls(this._locked); + }, + + setLocked: function (locked) { + this._locked = locked; + }, + + disableControls: function(disable) { + if (this._initSettings) return; + + if (this._state.DisabledControls!==disable) { + this._state.DisabledControls = disable; + _.each(this.lockedControls, function(item) { + item.setDisabled(disable); + }); + this.$linksSign.toggleClass('disabled', disable); + this.$linksView.toggleClass('disabled', disable); + } + }, + + setMode: function(mode) { + this.mode = mode; + }, + + onUpdateSignatures: function(valid, requested){ + var me = this; + me._state.requestedSignatures = []; + me._state.validSignatures = []; + me._state.invalidSignatures = []; + + _.each(requested, function(item, index){ + me._state.requestedSignatures.push({name: item.asc_getSigner1(), guid: item.asc_getGuid()}); + }); + _.each(valid, function(item, index){ + var sign = {name: item.asc_getSigner1(), guid: item.asc_getId(), date: '18/05/2017'}; + (item.asc_getValid()==0) ? me._state.validSignatures.push(sign) : me._state.invalidSignatures.push(sign); + }); + this.cntRequestedSign.html(this.templateRequested({signatures: me._state.requestedSignatures, header: this.strRequested})); + this.cntValidSign.html(this.templateValid({signatures: me._state.validSignatures, header: this.strValid})); + this.cntInvalidSign.html(this.templateValid({signatures: me._state.invalidSignatures, header: this.strInvalid})); + // this.cntRequestedSign.html(this.templateRequested({signatures: [{name: 'Hammish Mitchell', guid: '123'}, {name: 'Someone Somewhere', guid: '123'}, {name: 'Mary White', guid: '123'}, {name: 'John Black', guid: '123'}], header: this.strRequested})); + // this.cntValidSign.html(this.templateValid({signatures: [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017'}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}], header: this.strValid})); + // this.cntInvalidSign.html(this.templateValid({signatures: [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}], header: this.strInvalid})); + + this.$linksSign = $('.signature-sign-link', this.$el); + this.$linksView = $('.signature-view-link', this.$el); + this.$el.on('click', '.signature-sign-link', _.bind(this.onSign, this)); + this.$el.on('click', '.signature-view-link', _.bind(this.onViewSignature, this)); + }, + + addVisibleSign: function(btn) { + var me = this, + win = new Common.Views.SignSettingsDialog({ + handler: function(dlg, result) { + if (result == 'ok') { + me.api.asc_AddSignatureLine2(dlg.getSettings()); + } + me.fireEvent('editcomplete', me); + } + }); + + win.show(); + }, + + addInvisibleSign: function(btn) { + var me = this, + win = new Common.Views.SignDialog({ + api: me.api, + signType: 'invisible', + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId); + } + me.fireEvent('editcomplete', me); + } + }); + + win.show(); + }, + + onSign: function(event) { + var me = this, + target = $(event.currentTarget); + + if (target.hasClass('disabled')) return; + + if (_.isUndefined(me.fontStore)) { + me.fontStore = new Common.Collections.Fonts(); + var fonts = SSE.getController('Toolbar').getView('Toolbar').cmbFontName.store.toJSON(); + var arr = []; + _.each(fonts, function(font, index){ + if (!font.cloneid) { + arr.push(_.clone(font)); + } + }); + me.fontStore.add(arr); + } + + var win = new Common.Views.SignDialog({ + api: me.api, + signType: 'visible', + fontStore: me.fontStore, + handler: function(dlg, result) { + if (result == 'ok') { + var props = dlg.getSettings(); + me.api.asc_Sign(props.certificateId, target.attr('data-value'), props.images[0], props.images[1]); + } + me.fireEvent('editcomplete', me); + } + }); + win.show(); + }, + + onViewSignature: function(event) { + var target = $(event.currentTarget); + if (target.hasClass('disabled')) return; + + this.api.asc_ViewCertificate(target.attr('data-value')); + }, + + strSignature: 'Signature', + strInvisibleSign: 'Add invisible digital signature', + strVisibleSign: 'Add visible signature', + strRequested: 'Requested signatures', + strValid: 'Valid signatures', + strInvalid: 'Invalid signatures', + strSign: 'Sign', + strView: 'View' + + }, SSE.Views.SignatureSettings || {})); +}); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/Viewport.js b/apps/spreadsheeteditor/main/app/view/Viewport.js index 341b4a1e1..86c059741 100644 --- a/apps/spreadsheeteditor/main/app/view/Viewport.js +++ b/apps/spreadsheeteditor/main/app/view/Viewport.js @@ -147,7 +147,7 @@ define([ var me = this, rightMenuView = SSE.getController('RightMenu').getView('RightMenu'); - me._rightMenu = rightMenuView.render(); + me._rightMenu = rightMenuView.render(this.mode); }, setMode: function(mode, delay) { diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 63c2602d6..e21627e7d 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -112,6 +112,32 @@ "Common.Views.RenameDialog.okButtonText": "Ok", "Common.Views.RenameDialog.textName": "File name", "Common.Views.RenameDialog.txtInvalidName": "The file name cannot contain any of the following characters: ", + "Common.Views.SignDialog.textTitle": "Sign Document", + "Common.Views.SignDialog.textPurpose": "Purpose for signing this document", + "Common.Views.SignDialog.textCertificate": "Certificate", + "Common.Views.SignDialog.textValid": "Valid from %1 to %2", + "Common.Views.SignDialog.textChange": "Change", + "Common.Views.SignDialog.cancelButtonText": "Cancel", + "Common.Views.SignDialog.okButtonText": "Ok", + "Common.Views.SignDialog.textInputName": "Input signer name", + "Common.Views.SignDialog.textUseImage": "or click 'Select Image' to use a picture as signature", + "Common.Views.SignDialog.textSelectImage": "Select Image", + "Common.Views.SignDialog.textSignature": "Signature looks as", + "Common.Views.SignDialog.tipFontName": "Font Name", + "Common.Views.SignDialog.tipFontSize": "Font Size", + "Common.Views.SignDialog.textBold": "Bold", + "Common.Views.SignDialog.textItalic": "Italic", + "Common.Views.SignSettingsDialog.textInfo": "Signer Info", + "Common.Views.SignSettingsDialog.textInfoName": "Name", + "Common.Views.SignSettingsDialog.textInfoTitle": "Signer Title", + "Common.Views.SignSettingsDialog.textInfoEmail": "E-mail", + "Common.Views.SignSettingsDialog.textInstructions": "Instructions for Signer", + "Common.Views.SignSettingsDialog.cancelButtonText": "Cancel", + "Common.Views.SignSettingsDialog.okButtonText": "Ok", + "Common.Views.SignSettingsDialog.txtEmpty": "This field is required", + "Common.Views.SignSettingsDialog.textAllowComment": "Allow signer to add comment in the signature dialog", + "Common.Views.SignSettingsDialog.textShowDate": "Show sign date in signature line", + "Common.Views.SignSettingsDialog.textTitle": "Signature Settings", "SSE.Controllers.DocumentHolder.alignmentText": "Alignment", "SSE.Controllers.DocumentHolder.centerText": "Center", "SSE.Controllers.DocumentHolder.deleteColumnText": "Delete Column", @@ -1077,6 +1103,7 @@ "SSE.Views.FileMenu.btnSaveCaption": "Save", "SSE.Views.FileMenu.btnSettingsCaption": "Advanced Settings...", "SSE.Views.FileMenu.btnToEditCaption": "Edit Spreadsheet", + "SSE.Views.FileMenu.btnProtectCaption": "Protect\\Sign", "SSE.Views.FileMenuPanels.CreateNew.fromBlankText": "From Blank", "SSE.Views.FileMenuPanels.CreateNew.fromTemplateText": "From Template", "SSE.Views.FileMenuPanels.CreateNew.newDescriptionText": "Create a new blank spreadsheet which you will be able to style and format after it is created during the editing. Or choose one of the templates to start a spreadsheet of a certain type or purpose where some styles have already been pre-applied.", @@ -1131,6 +1158,13 @@ "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "as Windows", "SSE.Views.FileMenuPanels.Settings.txtGeneral": "General", "SSE.Views.FileMenuPanels.Settings.txtPageSettings": "Page Settings", + "SSE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document", + "SSE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Add invisible digital signature", + "SSE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Add visible signature", + "SSE.Views.FileMenuPanels.ProtectDoc.strRequested": "Requested signatures", + "SSE.Views.FileMenuPanels.ProtectDoc.strValid": "Valid signatures", + "SSE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Invalid signatures", + "SSE.Views.FileMenuPanels.ProtectDoc.strSignature": "Signature", "SSE.Views.FormatSettingsDialog.textCancel": "Cancel", "SSE.Views.FormatSettingsDialog.textCategory": "Category", "SSE.Views.FormatSettingsDialog.textDecimal": "Decimal", @@ -1380,6 +1414,7 @@ "SSE.Views.RightMenu.txtSparklineSettings": "Sparkline Settings", "SSE.Views.RightMenu.txtTableSettings": "Table settings", "SSE.Views.RightMenu.txtTextArtSettings": "Text Art settings", + "SSE.Views.RightMenu.txtSignatureSettings": "Signature Settings", "SSE.Views.SetValueDialog.cancelButtonText": "Cancel", "SSE.Views.SetValueDialog.okButtonText": "OK", "SSE.Views.SetValueDialog.txtMaxText": "The maximum value for this field is {0}", @@ -1427,6 +1462,14 @@ "SSE.Views.ShapeSettings.txtNoBorders": "No Line", "SSE.Views.ShapeSettings.txtPapyrus": "Papyrus", "SSE.Views.ShapeSettings.txtWood": "Wood", + "SSE.Views.SignatureSettings.strSignature": "Signature", + "SSE.Views.SignatureSettings.strInvisibleSign": "Add invisible digital signature", + "SSE.Views.SignatureSettings.strVisibleSign": "Add visible signature", + "SSE.Views.SignatureSettings.strRequested": "Requested signatures", + "SSE.Views.SignatureSettings.strValid": "Valid signatures", + "SSE.Views.SignatureSettings.strInvalid": "Invalid signatures", + "SSE.Views.SignatureSettings.strSign": "Sign", + "SSE.Views.SignatureSettings.strView": "View", "SSE.Views.ShapeSettingsAdvanced.cancelButtonText": "Cancel", "SSE.Views.ShapeSettingsAdvanced.okButtonText": "OK", "SSE.Views.ShapeSettingsAdvanced.strColumns": "Columns", diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar-menu.png b/apps/spreadsheeteditor/main/resources/img/toolbar-menu.png index 91577a92e983f0c6c59a983902fc9a20e8c4d5c7..2f165110cae48ec7ad22890eb7899f8d615e0a9e 100644 GIT binary patch literal 14618 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

    YPt!a^ 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 literal 13889 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 Zu}<22P{PX$_-Po8sgc#?H-Etr{trx3@&Et; diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar-menu@2x.png b/apps/spreadsheeteditor/main/resources/img/toolbar-menu@2x.png index 0b67bd39ba25d17e8ac615180e57501e2bebc929..12c20e083294f792756568fc3314dbe4aa1040e5 100644 GIT binary patch literal 37209 zcmb@t2{@G9A3tnOC4`V{p-{|7i+xG9BqZ6#7Aje1#2EWTD9ezwh@w)-kaa9EB@7da zvJNwtAz@4-%UH&H>sfx!)AN7d>w2&2?{eSgdzLx(Ip;p-yL`Ui`|c$R6P~??_Oh_B z@R*)AybPqF0C{-#E`Y-Lk0r9Oq#rgl)V~rsGLL0tWntOfdbqVLS}s=HpBrewa;4W- zqEv35k-K>G-CN&nzuCSBd}f(eR`tx_>=RWFlcl}Q33-hf%6)BCb?ur5QWEQ;Cj@VE z_&+BEP1NNF#RuxDKaI=j8(Bpxnn7H>1EUSdC#zSWyy5v?eAg8q2|7KM38$)CIHYhC z_PftwN`@w!LUIr74ZSDP?3M8H$<|x9I5p9Uwn+q20M$nV?vK2KW*DaP`QExuQF|pV znr=q2PpnuSyCUyW(~R62bANqFu+yfoYJVV7>a|Zz&CNT=8179s=h8A8#eMVT3DT90 zAnUU0(j=jtI;j^UU1zb1`RQM8KDepKz7cMc+TplhRRiaa?&S)_zB#4R>3-AI-S>iiJ5X-^0x?L`LJsZQsh!5t7cQe;W5CiP8k*FCGdLT+Zfa zcbSYcH3%pgKRL;C`Ehq9e!MEIT&1^4MC7}PX7Aw4xvldv8aYS4p!jJlVrwxxyZG58 z-C{qDy6tz5=EJ3Nd4?wP)5L`$&fY=9#mv0eA0{--zXC^0UBW&zUC5uoLN=GgbCaSA zrV3{>OFpH7uAv^9Ywc6FxzQn9Wzzjzg1YGPB*p1t>X~q&7nXa|ec)=y^I@X|R%Kd( zL(=erYa&34!ndm|_lva$Yp)-D6SG^!Df`oHoJ{Ne;xxg=IN59kGh7hQ|JgEZ+He~;r{B~A~sPOWrptG0p)Bl*^hrrkda`=6y| z@&uKL?>+!OOZ7b%5`Os8dY+;kW&(aEU(Eeo19^^|7%{>b)%E->da}Zq9t<UR;DI1U$H4iO1`wxv_`{Z8ZHZU1a`FfEACX1Z8*g7#MUR+V@lve2V{FSRUi%h_K# zr>h=J^MynE@IE%~(k)=iv{Rb{Z_GCwRV>S7l*ogWJ+OG9X05ktMi!{>4&=rhdNe>{ zwE7M#1jP0XJE6eIYjP}*W%otW;r+Q-4q%FVF1oP^{z>lp_u51>Zim(z`)8!6Hg*?m zti|!sQ8_+j)nWhI;UKA&l6D;{|MZlP{^{}-GSs`Uq>tUgh{=M3q2}@y@7~~idA0;s9yODduh2n3- z-vGuVt*HwP&fqk1&&T~bQB4O8Zk=;uYY81TN@;IRh;UVvE7F;spGQhXW7Yz6@|z=~ zpBhx#zDId^+-G{`V_CCN*pvfHTs>70GR%%Ue!PV572`KaekbSYch{uWOrkhTqDj4q zYfn`yh8fM;5o#!{%V?=bdQ-m@1swe0`i{|yca*Ke$1f$&6Q>8y)?%*p*d;#7sWJA? zDUj-tefUvtv;(x8wwG5V^3&wjd0o7D;nC=ut30;LlGj_%mua#LCAG-x&6i5JmWc54 zWGVau`Y`Mf%83%5pS0Ij_VO9sn_`PNa z$%9d9oiYhy=9M^p_GrWA9+`w;b4LX|hlh(($dC--F3StO9qbEo-C1fmwMAU#{ESAM z^j4RQNAA@kqQ?UbcT(5+>BxW&*g_u3wW@dQu9SqiM5Gju`AkB(9spNFj$EMyPIdW|s%h(xaJ`qWMNQn=x{!p@vhWX1 z59-*8*>b)t2r`bULgk0s>)J5~m|F~%bbKpagI-rj;%1e}Nuab+=H`h>bR&z<-mgRl zScdub5Qj`aRtjOUeqGDVzj9Wp@CJD&(^xnvaVYmJxenKOsvY#U#qk6qU>4awl}&UV zE2R_r*h@Obx=ZN~?>5~F>HwLH`Y&xw`4`M_)OWv~3~C1oz}%bktQoC$lOu|{J_J~G z-AIHTb-JGSek@g}PzPPOy05-}dV5Z8wa{K4qPI8;D^Xh8$sMT+RtIV?F+%dT?_Gk9 zd4y4>RxmBF{uvw5L7nGzx?pZ*m$_d3D~#kQEi7mAannb0J^SXGJ`D9uPM16&X!5j; z{L3}b;q%Yvdo*N-V9WH;($qOgE$ik{8CM0qy8?rH9YU}n89m7(=;&0=zo}t*udge^ zIel_{Cam6aIA%}!nO@F4PWWM2p91cscJoAEs9Zl zQp1`C2i#Z7ihyhQ*QA?ePwh&C6dkDhjyqa<@0aTNzugZRMqBy=g1vZNY>~-Zu=|s| zn(DsBF}3k62}pDhS-?Rp2d4oVFO-t%HSt|wZmxyuUiDd>>F8MEcWTnpEB-9Ey102d zxpPZvhyJk`@lTPf9{uTBqrSn^81da>F|P+teo%WQPPh7BuElP_aBZW9H#!(%8TOGK4HOG2yV?@ZCK|H`m;(c+0yLdKv9QMN) z^G`7x;HBKha!}VCq%84e^y(OcTZIvh{#n59d%k1F#*_H&)&`b149U=H zSf>iExhG*Kvdeeh1X2?t0(RYUIIVnlL*CEAN|KPi+NJFe@s$2ze|=XOy#s4!JB|WE zcsRHk{PI6c?TCwsA`2@zBP&p%jD-VZVf#L~nr%Nx(_v3e=ElTX-o|3hC9 zCuus?n_^OJV;-}HWC);(g=7NX2Up&Pm~gY4H8_{kWCz~8F7yeED2MD1m2d%HH*&@d zcExXA`-Cme;w0{CVD@ANBb>i*LsM{NbW9AiJVO>%stqQsYmH2TGq{YMFfR3Gy2nH~ zl1CNco${31F;Kn?MRFHQ>!}>8NlgbRyP*1n!1+;ff2H!bqiMCBC0?#Hv%}qY8#p8V zXi2%wVw*D8Oc+VIMk$*YhSPjvsd8^G3%}-RU|Q5Y33eyPN=V&{cq`Yol~zsR4u4zm z;LQJa-yc*=?W6mZ4yxqM$0a{~vpJVy(Jjv^fr&scE{r(w^tbvgtUvxtp?RFTN>@p% zI6s*4C%eUPvT8l}Tj{EH{l)PEk)bX^5x*|oGn4Nh$tHNoexpUCif7A^X%QHRC?Yf} zg>XcQd;NRluXJ;4;u*~J%LHQvW(eMMXzf?h!1PZKMnrrmo6+NtEC>fAyxSb2vUSO} z{wR&sWaGa_TU%K%SyMaORu|+dahi6W(og@YKS;Ephail-rmBrMzS6k&*q+bGiK1IW%x6Qbh%sTwNNw}9#N3p%MrN@eiKQ& ze!Dpgl~X4&@cYsNc~bNW-|QWqN{OBDkW0OASlF>O>1$s28JBvaZ{E*H;d%YXw{2*B)%wGM z%}y?tOx=o4`&|kf2PrxHh7KnRO0WF(=k zv);d;<@Iq`t3q33UjE!P!%V8a2&+rgptGp;a%LHYOzi5|cZ1u(h#WsLm8wGI)P zZ(uw=!VQn6cO1H1Y$)loJ5>PjT3X$ZEOWWa%}Pcj{UK+PKz-ur&u$bPz}h={mQg%_ z1PDP#`=()-Z@9=wzFcYolLay@{;D6HMk51drK!j0bJGfSwHqYkbA(vRxhnsHPgJZA zgwXl+yIHLU?V)LVWS;MZyg}m9A7!=@81dDml?w%PsW2PS9h!bX?3EwmI1eN>yheK{ z{=4^Z!ngdzK}N#2>eacA2DjdC1h1dtUB96}xqc&7*D({rOw2-MO9Ki4W9qq4kCfU` z7!!~HOC9Ek`Fj56$S0sW%8|2X+l8NV8@2-eYy$$?%$Ackq5V73V7~?gQkNDjv+as# z5r6T{aFFTKpM-w-;Q--Gu1#?&3EMufKkr1SZHlS|3 z9#t;n1pKJn5AnLr zR?W)vGsB$oB;$d&oLCvxPe5ZsXt7dP7a4E$btwJYjVOP>d=75CN}hl zsYT9>bS!w1e?B?g{>k;wg{A%zeF=Rm2GN^;nxCY-$?L73GWI}_9AJHtg~Yd9U(#zX z&6E2+mnGmBO&oGG!vy*(HZ{kmudsrL!uDJw)k?hjcuOVcNyz`w*XH*_Bwx+v7)b1E z(qFMWY}g|H-HpUk8O^q>6|Mv;VN=f5so??Zo%Imwa*)50a(&SGd+4EJk z4s2ErKhgPFJ^ZuGCt!V`QXUv~Msp2B4oLHwYksqgcUF+UTz3>yp0SDx=p^FZhto#M ztCR$aAFN%yw?@0wG<1xvi9l^;Z@v}J=KOcvdY%j_JExNsQ3^RW2Yb+@?*g{GKQ^U3 zcz402VwB=h`MC(?G+!XsTX#;kzrDhmyg*kOKK_rQ= z%!}5$=qe2263CXm>(p~CMgt~O!nM-WTa3cKrDTY*RHhHvfG)2Z32*vURqeiIo)LX{ zZ%AX4!wP<;(}!#h)IABOXgdU4Cv89;2XsB7r>RWq5XQr!RYN?JMw_v#^=FBhW)x|U zkKvfNtIUh49h0>xG&T{kCgL_BJQ=b2#%=~w*4$t%LOss?rgNO{dG#9REycvsLtAjl z#Y;kUID9%&SgNjWGf_O}OTZcX#Aho7!(S(-o_8@E*hh`u!6_)u-Xl`mv*Jk5<(y6Q zX8QaC@|4~q4cao@xIX&*VEjo=Vbw2^1vGK_>wq0Ac9YLCG&LiLb6~r6SoI4vgC@>3 zvu|^d{^i3q*LHx${bMv&ytQD$+BV4KBxkds`5Hl3K{yDI8Lxx*j59}kf$ z{Q9P_+Gn{#fwHfDz(}`6P|thtJId;wD6A|gB1%505B*iDICBj4Bq_r11@?@4ddqiN zlRXeYVMZxnhheFGe1q$_Cv2lFd}*%G^xh zs*+Q>z{D4EuB3~>%qpt?v4g~ORo%qD5yZ&@O-dpxW`w2?r3k)fzS*- z&v&Yvdz(7BDqZr}I9i0Vmyu9tU&V(lJ732{jpkVP`2=U`__U*>*Mh6#VvFRm>ZR3`u&@Lw2p#mr{ zK{OMNb2DEyVBhOr&J6Mz)4mL@8nwHn?K{gQORekBnF7$r=xr;Dg+P0~?bC=BrOXqvwRtOUM+N#}E*Hvuys=dYEmS z=KY+`uuikqdAZ?p%|xAPaFWhl@9=Dl-g`hu9c89Y7!T+C`0}Xv15t&buyGRIqH$LbT4&hvlJdU8{BFK- z1>3U>KSl&06Ib6dOfwyRL|Y@cp4)hu|Aij>&Fn@b?7~WafHhkuml6zvZD$wOfVeGj z0(X+W2qGn4Sc&#Hsma)aTNpEF6jfkku{&Rn-qQ7Q4>HJvX{T{UI*^LvboNFrnKbvx zm^=|@=q8EZfsug@4p4AX>DFu}%*1>Fb$W!TE?uWmF_0YYX-C54d^P-uix$+T6FE>3 zrfWEQ`QeWArsLp1j!vE|lyylgaNtrvEa zgyP|ywhgRCr;0N^n_G0zi&&Wu(Dq{L15B9ZA+AW z75^j-Bjy?1zC4(55b&w;{9 zwa;`|Hlc70c`GvY&Z=^=Gvp_Jdz6%5W9H%M1h71Q#?vXgx9!2qa|z`f`FxJ(EJBGN z(wV${)b)%-({-{YBMl;}=dm5taGD4wCx>u^q;Ka$d{zHZkUmE?fTe6EZ*6$bGEy(P zG+)lmpomU=XmlPwQl8$Mv9+=|YPQ6KqlWCN#Z@APOvrw8+E|mFa=Oo$hwex_R@gyx zh98j!V9<+S&B%@#T_&TVq2eN)8D!l?M7gdD_@{`fpA!k%WJ%RQ&V?&wZ~LL%YUt1~ z1o_nh?6Qt9emk2}4Stw*dymWNk~%{seEv;6yPkUIB6n}4d)V9jY!zB;#%423N$mL` z-Wzyvmh_GH{eHR44uD8otB#w|C4`jiI=M?1G*Qo2=Uj?RM)H}4QX_o_Z~FIOmCKI0 zZNQ~E52|}Jey(|tO?DbWwdceeRw< znXz3xd>T;qZbn_H97Fo}J>R*-V>4p0-Ufk8Y|5U#S*)o6pn(1%DaK<3lT{6K?gH1* z6G+h_(V{&c!%sAt&T|RoZULNk{BK=&M|v~pHBYC zSYq1W`o8&Jy!0=pNdjmD3HliRxLb?x4%<55OQ0xDr*pOf2$3Sl5zf67GTNl5B^p|0 zBzD7noHY;b$HiV=b7KnZs)ACoAAPr6_o=Ac&wadJb@9E$E*G!Q1D&xUr-=HhmIi1* zgS8R%dn6vjxVPb3aN7pxv&6AF&vRA1d_2#0+#2XsuO9!ttj=zhmC9uI9SO^u35PB6 z?i#nGRtC;3*o4J2ZnNaox(G*DQpesctC^!K0@X%KZz;pKT~rsY<;{d?)bvY<_GA-l zVmxjxeMAQzp`q6z!-umcYoAy_R5k) zjdvW^^bY>r)niR{`6TNQKu`Fst5w#h^M{N<3KM!*z>L}PH7r z)GSdauMiKz8?d94GsyAqfHW;<(gOYA*?`~LtLrmiE|NItBw(~e+#C0v#M3_ z1|j*}6(5#;TO*p^bi!P$J_X?gCdBe$*B@``mx?rbmWxZX`YgLSuZ@e40`+W$L6#k- zV{}lS_^bK56>flIwUJRVL1ESP4IT3bZitxR&}&0{VuX%6d3g~K%$Pq>f;9EM+guk+ z0CQ7$*P#=z#z<({ai#Boo7D&rFyX zg|E~`^a=?t%ONUW=WXDf=2wJlb`{7i)}^89v8WMZbf&f9K5g^y0BNZpq*P7IwnB+5 zhWQ-FDGa;I-GpQI8nFsO2J!_h7Ddn}PJ%FdmHg7hkq9kX`joIC<}me^SK{qikU z{0=q%%cVY>nn4BFK*$#6DjEy=Xs7&fMK*hO&dbI9`x5{Ee9Bb^sUvUB~;ZDLpgyLe0H0c1a46_5Cj zUoD@P2qvH9G65Jty3#Mt_HR@8#RGxq|9eBRur*cm;9#k46}i3U|cmU%mVhFu;fW^I5=40l4vRPf8Wam38># zYW&^!ikb6#;BGmr(ppgIArN|10Pt0+SmbpJ0qJk&1bE(`4#`x#Us&63%l6j*{v*35 zRX!KK=8ot}lF1Nr6V?-kE_rdP@7+i@--T~+KcZdJJn7|twN!9$d zg=~Jefd1}#X{mBE>Oa5y>#Y2DLV~&0AuB`w2bn=St`!L@_Vt7n&zr4bTLAx7{gA?j zzyMLa-f-Yly*2+_}6#St5Jy6O6kecO(Ptuq|Q9m?FmS#pj2 zoqo@<_KN<1jXl$9!h0aJ;@TPx$+kMMPfEksO{7j-!|)&XvjB}CTiS>XwfRXhtc7+k za}#PQxFSi*g?xdn5i@0kKJqK$i?p6x$JMiyd{|Bo;Esa3S`hz?E0^Y}uicGY5}*_{X#NRU4PE3D=TRI66BrHBF5`+T9TKsA&- zXA1V`L4RkNC$TqbWd2h@#E5T;c-KLA?7Zb}f^vcN0}LV!`qg3Uf4$4yk#Ea5 z>C}D;tum_@qlGz3KKeIKAL1sD!7_XC4CDY&3GrsY`R%2;^6aW2CBkDP&}Od2p|BHY z3Hl-{9@7f3tOKs)MxdrXah@?T8MM*DGPm=^s*PzoiNT_khS|5^pPR3y9KW;@ezxB8 z4k5nono6yqRZ8o*1`{53nAA=*e83-}xcUp>CuZ`6_9 z8xsB9sOg8xvn*fFdb{$Z8~t5S#UXQgxr@|iOGWd=Z}fV*0FB8k3MOk_&Y}AK_$8>b zTd|rWLt2!t-^HRC4lB>DUhHsx1FmlaMaxin!YiA<95kGk*wA&Q|3L-d)kHxwgX z^oF8V^o_pSY&~TYhc8FapBV-jA-;^8a9;)nM(CU943nSYRZW?hT%Q<;#8fBt5Z>}0kl&K>Q@&hxuuq*+VwjXmD?hH_2p%9B)(nrODjPMN2@%YoS; zScW@*s6)LLzXeL1_77-HJZLAWstHL*aw-r8`6C>wG14f|#w-Q3EhFx<(vO$gHd3#h zFR@$s;rc^AMz3~$56qY0AMHCVNFJiMF^4MU$#1+YKX~8^5<9YWkf|WWKrBW#@B?t+ zFhDOwZJ_8)5s*J)swEKW$2yG)>VtSeL8MJ#i-%&b>9+=fbdFMOXA$1LeE}Sa3527| zC~3I8v-V)dr*Krds|RLslueMem6gJ>;pfDPD32c6u0-6NnO zzs~33w~yIsFSbgSYM(4wFr*e1;I{zdCot@MKs7c+;4@oJg4gf-UM?^hOG*38rgq`V ze)VHV{*o0Gx1AyY(c(4!hln7ZKx%j;>@X&h#ow?yqk0$s@l*g1uW&!cmA4b(o3^zF z!0>{0FuZ?B-2LCz?PmwyU1-s@T@SA4D@SE*YudBwek0~e)7p0rzWe@(Ys-u+|3U^$ zo3&Z>;g2g1S$YA5!t$0q^%kj}WA+y5E-xOCH3p{*ekuU-s-82-X*FzgxutQDIcH?T z{%;l+S3{S~d&!I!@R zb;nAF72o=Bs0c45Vk};?LAgZQfg=M+l2RJcZoFPFg$zIjPkp$x)|89=(*#MkC z8T753Ik7E7`7IGr7u;d80q0=ZxhIg)s04K;`^tYcKYb0IF@MOoG2vT$`kW``i?pWu zH$Yru;H1$SnJ=fCRyYu)-RFZs-h~cr$fCvH1)xz9QG< zl?jWC%-nI7{W5{r|IqXT-)B+pA~6##G6Ti9wsq|qqi&Mg2j80*6X+$FrCwn$M;BtN<=(lPR2EDDla#CFBB;3s;W8%^21 z?-|a0Y&qmHbA*$(B0@LtHN}i?^Re%d^*c|2_{CnX)EYo*O&G0+v6TN`1Hz32QzW}m zA)oklhCoP0yW`oh!TSq<47OlW%n0TeoOS=wUv{?G-@rMb)yhNr9ywv9YTQ|)3DgWK zUD>mUakK0y$DJCD5PI|xpA#kYXdgaD#A#@j&TTI2nWNp3 z&5IXtlU~i(E_A}UBZ5H^*~*{J^`sH+%fg^L8PYjPxtxKMSUQF6pIiqsIrbRPH!65s zIixb{5Bj#Q&t)xNT-lX6KV_UeKNSyL#z}wC1hG)e3RKp31!@3X#YX=(Xj{VBO!mRs zpB1dQ0k|C`^g(V|ucgUK(R`22G^J9KxC(l?)# zr4ZFJW$XjdNSH@)ocSDg1#|lJ2IW+qs{C2fWx{20UsDHO1Q&TzqDZ_>y#Dm!4?1V1 z2i`8#DHZY%9wW?;qJsAbZWV8TJLJE~Z?_W1d4m zaPKaK)hob{yn*KdQx#mZuiHr2N3Y&bawaq&%Cuk8vHs2FoiAZ`Hro11 z$Th4k?>JpEtSNg}lb%_2`jqaQpLSAcB;WPF;d%^pZ-1zv3yB$-*3>(_(Zb4x!f_K? z`0lTE-rg2FLgS|r$6!eF=%_gC_80OS*9ykC=wX`P8N|GZ=Q}NSj^?6HkMdeZPs;w# zkXb0ZYHt8VpOvi_tmA)Hc+*z$z+qa{vySc>gn!mp78h9OniM0kd+BOkNbY73V-F&- zggr;H3Kd}}+%)uDLT(!pbJ2ehjbpJ%dKKYDg2N4d<|*{?yIiu{kFp`dPf&) zMt!{OOxQ;+f#A5?ioPSq9caf8+ zdAf<2gY}Wq9lix3Hv8A4Jl`EsI~{H9GPCkPDuYw`)nQsh<08WUMze+F!pei3A?*(M z>A*L6M@-0qFtoYWg^-+Sr<*9^;njsJq^oMCsW^EuBrha$9^74bMc6lOBjk9X%KXUB zQ8Fu)Q{~xd;vQAvRgE%Pq#2jm_?ey{i(oPL$Va;&nwTGGXhG1c(cN=%hNQlCDNF5$ z9&jDMYKb*cjA~OKU1m6I!<2w$&c*R^N_xdADZ4WM&Z8UcC@wVu&+Hg6T3u&~`;h?> zQ;0C~7VLvWRr7N>P4Tq>m4XtJab**NijPxs>Mq?Uw(ohqauXtye0iwX$V92dZAJR1yuIh~*<4c3yudF28N3mmns2-C=0T5rwm5;*D~nC)AAide7eN= zNq0sL{jqIf3lCE7SfO7OEP0Ex+<0-Cd}`Mp30V_s3o zy0Snbm*fnySCs)1zke-V3|pTqNf0Ya!K;<0xTuG@*nYr9pE+dbf44T`-iBQH_6#<21LBPrk*#>d zJu}slwsel87NZ3rOx={Z;Fi?b+EznJ;vbp>!=Zey@9syQ***%UmXqI{;Xhh&)n#&$ zd0~WpXE!8ulsQ+8t74>&XM4nJ$a2U|DaklsT#vz-w9+^m-eqgF67#(I<{eKRNFrpdvEwx(hzC? zs~aS>8%(wOHSYqDS|g@5LWRwV@C;04p5d3N&;~-AF{m{RKijAfOx1y4vNM+c$!WgL z5XQ#NiV&9yR-2slqg_+Q6lfasft{Iys1_o1C2~ctu`*N|jbiqN8jqzS&f6}u4V*_bRqbA zJ4YsEwr#3~>>(>RPQ##Or7_5ydYp*izD+q1L{5`-pZCiE0pWVLoaCyA6~Fx=h&$Ua zvFGKRTdbHPM$JlncNYT=?A`DY(deUhSK*R&)WPm4XYwOqjXpcORCqevk-Q(-EjpXN z6wR2&Tqc{vM*c6wUM4@-iJCwKr^9h(w<9Be+KV6(nvPr`$))Ewk<|f@p{oNBtTUGf7@D1HWQ zFI$OWkCgfu7!y02E(@_(`*xWebldrlw1`7e4;F(3(~GGl>S4uzKU1m(=j0iX2^7hQ zFe=oMc_!mZy*(1@()4SH5Gr<0dX6J7!G$*_^|(B;!@H==DFqQkhPL7m3O4VWDt^2o zX)`ftb7g19CdRVcjKXckXw@zYRD{I~?25P!nBF4;tB`8{E}8;?1eIb|Y-@pG*&Rri zWmb>*P!^TwsWuX)&W-o7XxML+k<<+=4&VPa`0sGJ-3k35z40LD6b}XmMw*PUpwryGWo1`9C zwKSK~xJe$>BP!6a3n?pmg7!o56Ujc7tO5RfPbEF?T17k%g`8Z|$Y z#9t>q+?|7ryMd4`F~Un}NIM3nFX)~8Y)`>0Cqw5l5^Yi;y%^@Sxs0s_y(u3VeJNGz zE=~`3aE*(C$w=IcO`cnfhY?H-o29Rl5U{ApbTmSgy*Fb?5Ou2?k74rOuM$ArlDP6O z0O^18{Y8=HiX$R#U3Fz?k)3Fee6+^4Cb4I5`P&B(tfd78-NEyyA+A*-BXP9TOdW_k z#5`(>YwgTP%$pG4y_;iFiLr5xqofW@*~0j{ zBzigeeXt8VIUGMzlYFE9*f3*N+=*OsFGU6kCo)A1-|3 zy@(TEyC$;G4rOyy<|6aZL-IoWd+s!TklDJ(eD7aam4`h=sJ2mE;1*?fy_y~+7cI@* zGi**0^&dH&w{i!F{CRHFVATA{U#d9|JLW&~Qgz{bK5~0p=B-Whs6SE1#ck`+aiUkh zZmtTA==8L%3y#0t*unj}#hTLSJHmAe-GW!@)1YfNM*dJo`jKxfU3bLH!t#tXtqQKy zMJqRU?1rr9BW^s$^ix!mZWU>p3varFuM73qm6QOK+@LT75 zE0`;Ar+3|uW2+MKwE54{Iwqt+r~Kv0kFp^|{6mhYD@?*PqU(9&X@g(o!d)AQN}&!J zSX5WxsJ7*BHR_su^mT{)JWwV)eGKlXQ85Nj+H#(CUGQsL*l2#z8M#=o(QL;Hfh9y7 z?g&;;@_i@vkg&?@KznqxbAWR@xU7m zl;icb)U*^R!F>sRf2^K;4((rm0iC5q4xO(+*mY6~$YA0D#4CtG4t`x7T!*mCvaZ}! zn-m&prz%&h6B2^PKGb%Kva{G5K0gmZo{7{$M7~#jRnhcTWrheSNb_GD)hkh6kJ$s=yQ?Wh^&B(YJ$%+~K zJZYMv!--i+l^yKe$UdaVNMw*;K{#5cJItHJWxt1c_zb(G!nB_(>%jqG9%YWw=xM}KZMx^u`?)O8#DWEO9q7Yh)Jh(x1?uTFx1ipYTVVlZOXba#Iufr@ncVGl?zAB8(vB@ znrg5uf?Dh}KS9qbI`yb7S}wfd!@oVnG42#qe(Uj6jBs5(m+y8x$-N#PzpPf%iA;U# zD4xBAOcf)4any9+wTbHGwRxT~bBVI*8BgK9^`f%v$>dRb9_%`|6?~*g`OTAKiXk}q zPDzP4>QP(MO71*8TB7r_8UF0B=J=0xo<6drZ(BHeEHWrSXh#?!NZ>>J+5OIRi6&V z3QK7fyOVWmp8F=D7FL!3AK>iY(Tg$I`uDqbLwK{41DO@TAz@Znv6XPpkyCMiD{=VG zP>B+8^+Ob_3J}zJY7;O))jGRF8nr&{9|IBprge;5j^sQP={%Os_WvUS(|t9z*x$%R zN7$M7r(Tqr=_)9Vuk!%~tGa-P>Dx4#HuxYT&i5#B0Ut?cbH5rf?~AM=pMiyGRG2r~ z_PjbtYZ=v^BOjxxn2c1%Z`SPvf-05liE`*rb z#Wt!9c;AOH99}_P1VShq2A>Dt8NyZGiD*gMh^hZ=z;S&@3uiL{a5lrgXey67WCO!5yMcKETvjswH|W*)CYcD(!4!d-#{dq; zb`}V{2R{1#(=Ba*;V`6PXLDizKzi%){#gKT_I3xp+}^KhM)GwBSTuufhD`Vd+$R!l zG#Yzhq#MLF9Z9fnFOc{rOaFDplZF`QT+_5ZPOf}KS_HNjN9j}7wuiO&6kgtITEMgL z?1S$5z{=r8@G|XEGU&;@qaS$QgYC|fG4V(*A{+(w_guQ|o7=6C>>lfDsBia~r)lGm zyWlk|4i$l2SxjbdPf+hmYvRIaWMk zl)#KodxfkGjCxLo6dwz%9g9(>DLoVAfDYQj?mTKWMU6Siu8j zfOUE|{Z<9)!(Uf(Ry16k&7Up*jS7?}(dYQ3_M>3dmfh+#D$tt5@HdGmKf=X>dzEjS z`(1>9CS5M#q&iKv0$aN8HMV^SHXu-pd=pzZ^o3YAFTcv3lcJdkJEE^+e}D$zB9S&< zj7o0Q>o$HXEdpyA;g^SvPzI2U)odSa$=TS~57+dwiP@!klA`~hpGkPmg48e_N8VE6 z*K(iM5%x=EOgft5$Af?cSj_!kN0Yz$Damy^rwYj>v+5cRD#qGe1*Oe|Op_4Bem$74NCL3AiD%Ng7 z->ttqeZCYZjbC1OHzA*kaRf=0y9sx3k*3n+lTJ1aqaihGmMlLj)~ZiC-QPU=ljx#@Di72;P6$r+*Ra<3`@f$02nnZ>xyl1$o$#{e0|6AacWY~ zZ0r=^^-0b@-Y@g7l6}tt?3<#hSf;N+doQnEENxPdE$yn-c&r%@4uPF(8)?%B<#sty zde>A-)JwwJ%jwW12?G%=4az*! z`o(+3gA`l;d{swk9_`RK*3EZ^)Jsze;2(6hy?;z~#b{ZGfmY2!d4940hdkdXw=Xp} zBC=);>IG?Gj@;150Dg0!deWb!;P;ato}paawyMlUtBIkFv6aCiFA^?)xa;BcBZnXE zCmK`E8Mk=g#@jiM$?SVihHN*zJ~%tIFXyrB4%%BiZmI%ZP895@ofJ*XbDO%=$i0`v zzgMtD7;PD<;g@%(e*vt(g3+rXd*?kR;U&==m&Bx#?tfB3Cq_mO)P)98+Ad&KMAR2>g1d2fq3J78Dhti z2)+4d$yCT2R_8O4Sy#0M1D8Om`)X^7zSz3e@81?ty}HQHIC;L&F?Mw9Yx8T#H+j^+^EDVn?S1ahJnAb6|Ax8r z>;2Axs$;=-5~P*<`yUmrKRMbF&>$x4*AN@NQ{pV*I(n^+9ilJ0Al?g5Nl5~IJwF=! zgvDt0exBR+Vsr1P$KciWxnn=9){e!!#H636IuA)U3ZHVZyo-8oDSffc=5-V%@=Rjh z$CSn0K3KoB{{#CycM0b@;qQ;%!_Zpa^Z!)#9$-yuTmNuE@1YmzAiWFHdsU<=z4u;1 z?+|)#3W9>56cOniq$NNAK}AFXsUd)%)KDb!FX}n>f6smI`##UdGnuUQo0ZL;*?VTM zw)Yf5{%q;k7PI-d7G{{wERGH|I+kaos-rG6UX`o9emzsHUZCloywM&O#rdCL0L2(Jdw;cuR0U;vXX@mKBl zxKUqdFhYHbV<+){&PON(A~T9)OUIm^wZt9_Q{7+NJ3|S4a|}VPVfbG*=ZMLOVzeR3 z1yzyrBS{x~btpScDxC*6^ztlSgtAnCh2CQQ2YezW0G!;(&enO1bREi-9U=u<_bVc4 zkb(=ZA<6f%jTCTXQ@R0I z_!kL1W@NMBQxw8G(CCx;vM9Jqi`}8tW41ukXLC`UcG6S58w0;B29_I2hg+{~!6&Li zCyIVN^}E#RtV6B*N zHjqZ*{jkzdriW*^OrR621Z&8|`OvFUj0yzS&x%dYZDEBj^WoNOL9Z=|tg<0Ry-*>F z{TcYP1E_UEqYG8N2()u!`de%_f&F`Ks~Cvigl>|YRr1#1mpolUFdc_i6WPpG4d2_p z$c-AlrInXB7jXK{30iEr!Lx@(+zYP6Fpbc+$A>_=cma@gp!~uiMZ0>W1X(?rMdZJ* zkH}3*LG__cQc%1F+^`i@BH^(UtXW7mn~2pNn8v9MpenZJIL#acp<3xH8@xS!f+fwc zDV94cTIM9`1*kGg*!L(q%4*F!(e_0M;F{7}qGFH~Yaf$LW+=<-!wb3QTN1t!w%8vT+9M&@ zSAx&Omon%d`R6&4vJGlz%z99o_qy@yI}nFKnoA%VtWy_MCXzxEz3T8Fo6%j9ZLf&gy5I1d z={rpYHpLlF_brNGZbhjZVOm`Y=W07Aw&|>cd!!a;cnJzg65%#HIlvQgL@&2Z13V~2 zH^>cDs>)KS2H7UsmDoAyLaw8G8y@$G3_Rx4wOTTi>|STOpxKc->(E>Q=Rd9*OPS}k zN$PBHTM2rMD8Uka$wDbYy)ng6A%-&=TyHByI);<*j8{>PC|S-uO!m9qod^yjx7*61 zx6%IGtK;?4vd!c#6NQ~Ma8PxrOY!u>hBh3uW|Q}#8{z)!t7G_3CQPa-J2jOtGf84D zW6I*djFE<^tgVxacFeLYUuuXFk-Ooj(U8)E z6+g{|JH7K+c&=HRlc4m~qYQLBl4=MWzNbIybKY2Pc=R10Zb4i_J7ItkwG!!_*F=AB z=MSPS3GkiN90$3hC>C~RujlD(g!>fYYAa*zFj_CiHBU4Xbeem4c&eT)50Ul=>O1rp z3l6xMcfWTBPrzAz)FXw5*}RgXBc?QGT+6m&D@}GIAogd2DZcOxx%Ux#NKg2D&bJ*+ zV#&*1%Gh=X%2kwnwra$^FgYw|g{)@F@xthL!=Vz$WKVGS$l8Qkj=q>hF6_%`Z69Ou{y(EHJC2yKB09WYfE~&%;=jN zs2bF%FzR_HMTO+U=%R9!>B>2_Ew_bL!JgJ!6_&}b~LSIv2~<^ z=RkoQctGSAlTjik_C0k|?CqF1b3&K%gAVSB>-g1?iq-T;9a&HS5ku%JbaBE+ z1?`U5_t1GNX49(T&Co|9saeUC+_LqQAQ}*bEnl<+Q&lpPZs0p1zp`@Icj_Yxyzgd= z);$&;f%sQXO!SOt6^vz=PS(Z|r~K~*jktmxIxW5Eod|ac@Y6{-Rjs}DyR6Xm3#LlN zw|2F71FWIri8B#q!k-Ip1lp~nd0k*Jeot{@Dy+A`uo(4$xR?N}Ar}zw)uJQqMRLjn ze=v;IJ^7{}I%2t5oXkEuVxhTQEn4^D36^DWmIta-tbIEpbkOVTDQGcJ>S59D*u13N zP51fQY0?-zgm+5^PLH?bkE9X0e(%SO%h{=%%&WsEf%zAY(T#XN8;R5;jL~Phw6-j< z@V!Ub<^Qyvkr(c!J>NQk-TbArtg)qM@QLJe2jUQwUD<4SU9%;fTvd zJ_q{gP`We`nua71jai9`>I3tpXk-vZW9j1P1%;i30p|64$mICazbLNx*(iCXdk;yj zdga>0$}`O5d#Y@`gI$xySVZDYM~LsUCEP8pPzhi2_9N(k&yt;kP*rf(6#Ue`j>P74 zz*mmtaO=d0MMktgk$b(Ui>slKWN>dD8;wXyPYaU#d4G|+M&e~hP^4bryuwdF4 z4W{psev`)!+;e#z@{e0wHjZd7U-u|m75JCKu^jsYd5XZkpQpnbcq_pdoDIqhGI?LW zQZ6t8zcr$X{C=EO%a2CTJ1-K9N+L=snGL01zw=hAY0C_K=H(L}V#5 z?dprTnToJy)O1nhX5VjsAPp1(G?q%2>y0Rk82U4(M{!g>)kM%~{?4d4{%Lzv=VnM+ zzJZdIwZy?YmG&LJE8UINGEnek{>~3yw&ekdCuQe*Y#<1}#>tAqq1(x_3JUKRT#jzVwD=;6oXlw(gt~6w;W60jv@u>o6L)Z=Uc|>!Y7g zeDis1Rwp5n@SI8|?l3@PTf;~NCD3+fONE=E_`st<_BD{3Lo% z83;nhxqR0hU-2Bf^!0+Tp0WSyTRre3?^qE@FXG6i7ldIq#;t{iSlf7vNa{Ma*HyQU zA2@5)%?$Xj@Fpj}sU>$+wb}P2jD+=bUEp3H5Y6L|pL;9gEnL!eYpS_eTn0KkFj1Mf^>lCw?G^AKE)RoN(W|{cEdPkB?gSF$lS$Q z5H3RGXQfdC=IXR+UP=Ufg1>8Nmn zZE)=D$=h_CVnBn6XQqVEBA|D)*fnp(;x=&KMOgszQ#^O6h#sE}thq+&J*j7wgis}{ z*7USH-IVVA8^HZ+z)l&*r+RgZ&*QzVBjr*wxxqM}K2+l%Ca~sWF!k%t`Psq(h@t&R zG<~m9Wo{z8$L9gS+ls<{gncJZ8xT$R+*=#vGSn^q7paLMZ92ptk_vD}3P*lmXixh@ zm|JY@fK5eI4L)?W?ecxtRwXh=^Lrgj!#uz{CZHi9u($Pc3Y-6SQIHyDCb|h0YQ!`9 zfmCSm>mK&-3kpz5suGKz_NxLV_lBlokzE$5W$TDy*_wv|lTq*!AVS0u8IvlV|FS^~ z`VZbW@nu*603joW+FiWyE}UqFimpG$-MdymS}-UFqY^_ZV&5JGxu)T7fkZbPK?fCY9W&mqRI zz-YD7c69FmL)FwvED$0`00(p~Js6)pClW6k%#*^3J$l_>!%yOuoznYdJoHT`0oz1Y zsuH6gzwWiR&`(<~MJ$L^x~IdZFKID#QOpzb@MlaS{|S@+g5`yNW>59eZdmzs6b3Gm z7ii2)D#GeBX!loqX>#}GEzX#wzcq~An$4fYQaq~TIEb>m*RR%NV1)_E60BCwV$l#!CGV;(Qp4hkRwpF5qb)eB3S9_nZ_BvVK)qa_f5JajT!1we zS&WW;2e7=~Yw#@}IS8jbd1TwBen&M3fRwn$etH? zHLZ)c=@4xHZUCNrRPIE;^{hMS5ineHtUPyyUXC-_Tyb^P3p>!754UY~pd+=0X?bRT zzhf>P@KM;rgUVEfrLiqFf9}CWL|*gk{K8ul#GCtS`bi~qBO~1U&pX&{ik&)&nkeKlFmD^;drXVlg_^qSv!A3_XD-hgPKm>z2x4WG(c= z+i(Lpp7euI#mCne@rFO*2jTxG8}sMr^0MmpyN;VgKDsF4|3-Lz zA%nO&etNV(IZQ=N=r(^8*GhTOJ-dn&?5Ary!c2;nzC1N6=~gD*aB51IoERYjfictM zakj4`1udbeuB+0g4N*IBMVufo>*+{Q-spV5dU-AZt z)xa$sg+HsH)@HOW3A(C6yMs}(L%IzOXB7UnC^D273f?erMsWZ@ja@IC{oOF|-ieLW zlav7AjOGae$B6B}Z2ihG=Kh@NZc zMOpW4HT0&A@%-`bA*4v`5~?~xpk0*fgrWmeMZb;tZa0jhE_kvBpGtHOwp|tm;>N6E z^i>1nBK+kB*ipy%wK~PGRVgrjyZ<7K`7stZ0&HU)#=mcBS`x0%|K`@e?0&$+0|3)N zl&X9~v3LiwTA!Kxw)8(di{XRMii|m)ZUUozmOBXm*oU;0XvhBK8BS=cAFazP0 z*23WG@s^+uxvhy?G=uvR|1Pq|pC^4!yl(`Y*=e(2yzoGt(%!N)@T8`P1yLf{H-Tmu zyp0U^GxgI)-AVAC{Iu9`5Z)Qx3%@4;(e1Q}8ZsuT=wu!Eru99is$*-6lun7vE{1M` zk7I%fCG6d{sY|v(_6MV@E!E~+s;r~!eJi$*4)l5w3Z@9dP@OlNc^pp^+c^=-mUs0-$?4%pCuJ~7vnnKB$cL`Jv&z?T-m z`ta`7*psYVC3KcGtOzSI=^*F42UVm!w* zYFT)<8sS?VLGVuFb>29u(F{NSoE;%%w61sK>%Blq}2;+ ziI6vVm%Wg;i6E5cc}BazG;f}BUG&_lZf0WhnFbY?FrK*prjmSPZzf@Eo|TEs!W!mM zvh+^o41>>WTdd@{FPBu!`$N!$M!}ax3}md2zM1oSmZXnVxRtFIhI%lp>u566bIWF> zRy{WS;FP!GU$&ZXYmDKQeqiU**9&~R#;R8yJ2qE*$q(}7;Jw|~n zZW=;1$xE1ywzd>2bzOCo&ncj5AI)(_tc|G2&Y&%*akkjhH`;P3P%n|5w-e^H? zJW&4G`~L`6ZB+~9pZ(u=XHsf3=I*+)Ma%}Ccn*Ex*r_jx(LTFm5V#oJr_2|QB%A-|O`qX={R*Upfi0=JU12&{i+~Jf;wiF)5;xm!qx{uzY+)(Tr}fP7Yr%`{r}qUyUZc67V3&)`2lpTm7`o}fif^&S zz;R9Hk{8(hB6IFO;F`=fWYq|AF;5A&*4yrh#!&Z{dHk)FlocD+=%5NfMWY|Yh!OxR z|1mCDA7XlXIlvE!;lY=|CpkSE;O~e@#;8gwT=TaPR!{s%G1Onr&CNzk9HrYWcoJhh z{r%jG!WQnhM^=}Pc__NjT_$apVH~Ws2Lxy^#y;fAhCG-75u^G54Z>Wj4f0r5Q5e*e z1z1(j`l0&(H`IoYL2EOtTD8v}8BRpun2U7)Yg8&7#9(k$ul!Bs=l+TVwCvq-%8174y@bdX zbdK4~GR>&`2#cbiFmK)|BT5=$IGHdQJm$*@(;Mm*#hpDIx_nlwOq_E(d^(!V?!z3{ zDtw~cE|GWe;}PmKR)*LZkuk8G1IKV-%3Q!gf;Vv&7E2LI!| zmD*4*H^$YO6kGWBX3s2Q9klFMQ@=M};N$eZhjc6qKjuLNyvb%#%6;lGhz_l#TC3>0 z|JiB&jv%3l4o*_`gujgr5^b-IrYv*zbr*7i1i+WChaBPQX)*^NL)Md0u0i{0&90ql zL)QiO*e7NhszSvOG|tOH9c)(1B2C|g=)mb%KNv+Vc99OTCRqF3Kp`XO9$t$9FdMhk z4!F!Ljp)Y4@8J!EGRI=?5-@=UfK-igm~QY@qn`&1-Qxp^;+roHo#2pk7NJWZz!0*t zU#2qwMWf;*1&3W!8K)8SEMX)99z)a5L~a)~u-c34PqQT>Xp}Jyiw(_>fpU#0Ap#FT z($D^msX+*5$HwkUZ6#EJg=kaNC&0N zWA#LnI#lK(pS&=x*JbDzf!owp0%6_{hWGBlwPBz2ftWTro=rDqy+6L_olpm=UEh@) zn8u&>x6Ej~`@*Om&-!3axxcs>&)PrdcrcYvfM(5LuX~FI!6uOWn4hdA+O3)hJc?bj zhz#beWj;Y@wg_mUX|o|A>GPS5!A*_?+R`@9LRW4x^0q_^N#0 zN#dD%i@ArSd&=l!q#s1?Ypy_rQL)zmna=m(3*pL^ zwg@HV3dsrZIbf~=>l)a+uX8=oSNM*X<9!y9!a2W?5J%?T*>~)hXB?j-Og+B+P`*z* zvo}fev`aSU^T2ULV4_RC33nU#lEs=3DtDl;OCSHbooFe>am$tD^&Efbb!OCp7@o1X z0ES9-A$whB*nWNPD=!gXK$F>gxg4|l;z|5#x4a!Hu;f)PzPM%KyOb`vhGQJ*qP<_N zwxz=^+*1J)yFg{j7k(XZ(tOw33EQ{~2^n}kR`_mzK5cSmSC8I^;Soc$rP!Or#|bL= zVoz3DXjZS%zrSTmJokNmJa}nJ?Xmu&?fcu070Vd!RcZ7!GYvn&O9GdH_xFDDn2|DP%@MoY+;7fSgX=XgEv z)}MWoS%sa!6OfL==_RQ-3aXi1hW*H?xpU3;Vt%f8{#KMr9s~w+-J0yvprR#|iCPMW z9ah%TuJ25@4-GAm-8R(gUzE{PkiZvwAiZ*VL?9z#S9A7E8ynA{lKIYjeXsVLz5&Rw z6me0mNj0whqYErO)O3Gz>q99h-_qGkw#fmWG~Dv~Y*L#BCqvErK2z5kohX^}UB9)5 zwovIjE_m*}KA;r;#@hl?0Jz-0B=Rc&05Z^vu9_7`Buu}db?;EG+A+G(IB7A%u|wPH zH7bIE=OC?zgy2U_n$JgxtX z23iK)#pF1(bW_lMQZQ2rYRC1nUyMIigR1r5ZzV&LLqXFZAn1UF1lk0cd=r8Lqz5=! zoMf>9uNWMZ9WZwYVRP2wSy-2$;&-`rU3$^uRgPR z@&Psiu{|;+$J;7Z<7+DcwE}S#d!N5-3YNGjhS{ z!Nj^^TS^W3Xx^##jhxQ)82gptT~w!LdEWchAL6zgRlI58YI`$31WUO4?q57WStCcp zpy3Qkr4-8|OM+J!onKc&ZU@rpQ`z!eRilMbtMqog8Kn~`dvw0EF`5h8sO}rGsruxl z+=>{FK%^L+S&N$l{90Z9 z)8z41ocqYVA&mDr?V9}3irF6h9B<1W6@(lgnxe23*iFnm!n}Rwjll&4$^=z28lm3v z2}Y3wO5;=z?9+>U5-N*{CiRLwR5Xly8u|jwiL67K=ANX4R>pIZ99N|i`z>mwY>_YP zF3>1NAj3;CjNfphZme0?9ek~|(!2m5F03PM7;HHYz4H#AhSqa+GN7;_haspiuE*l) z7k|LYEz?SvH8+cewhTnkvKV(8)(+?ZjP=8#gz`@O@W)gn(C+kjT;dVb}&G`DgaZY1qAWc{9xGb+TE1 z-)n!{V^@z7+r}}0i|rqw7Lk7f7cV_=vjR5xeJFjQ^;uPLEkqSXJJ7vn1~i^B*ht@G z5Lq31JCbkUCA)6^MA|V`!(e-{Rqj%<{G~i(hsP$_TL$jIdLZ4vIz7YKB*bG`ValdI z9JFrnQ8r*-X{dDA_ZM4rH&lE*!VCCrj(z*}W2`m5_C16*4{cOL3)%gno1aSq`JObn2fQ^V|5N{@0r{cK;G#{O~>SLrpxCVnLiWq zZ7q5cYr$53FSnm8ta+cr_@!>A6xKU?6ip>{R?Hd=FK6;CIm@^RPAC(tExVqzQa*kd zsJxaD_!V!VrS;ONeC(HzGg|gePx4RvqRN8Tmw#+5RmvO?$qbPf5blnCO_EoMF((?k zgu|=PafsKSJ?|Zq=v^3ij6I}+a!R+JcFKD~B_e`7{42iEZlYvNJ7#3zW3M#Lk5W#b z@nsu(m!{9>+S)@$Zo#}TV`=!)#;>1JYdiu73%@ja!W+@hY3p9@O!A6p8`tz#{6dEh zw{{B8=o!<_em0)XmNuYKkI}%qp_Kmt#)1?0u53#3Dl6coH{wg7q@(7qSVm)<_>jy+ zoz7VA$H{>Dmb2>S0FGbm-Hc6{jt?uxHB%*zYCbu64J7vSth2u3t9lmzI`|XJs5Ckr zSK&Kci1*T%0k!CxqmX$s95uzaCLGonA9GJ>S{-@H1N!hz>+ktZN~Pu3qX6g|PTlnh zy&qQ<04${*>X|wr$g+uJKq%RPx4z%x9<{*xUre*NKFU{?l`g6g9~z(QYyVVd@-id` zLzkU{o5EWEL^aqgCy%Fg`@gUNOtnr{B%a8EC&d$EX@g$?nLhS8 z=v8yBbK03$8PmJj)7|*UZjDjOM7uYowCQ>k_En~T#Wsl5Se;HIb>7JCk5tsyVlw4` zI)Q=&k!6l52r6ct%4e?^SkXr7(T=YlKF9|O{|;W*TO!g)btfIvy2caD@$<)jhb`=< zfe5e9;X;CRS^nTlP4_w}s)M+gdkEqyp%)@(OcaY7G7G}Q!gf14on5JvxAC1A!6$OF z%`I3t-cW0b%wlifH*!w)Q;RCenBax^Y+%U86-@AgR&ufKlhk6@f~1_#dccY#Cgm(0 zV;r>q3T12)@=49zelqW}=oL8vC0^pP5h+P$k1*{dv){_)#@{<`L`5}7e-cK8qpbX% zbqZJ|Hy+=ia&Oqk+#4TyG!*YB*$2{GxV6E!?5H_2qj@sP(aRbZ+55&{Xtx~hp>%)_ z4{}zWGd0cOd5~H#A(^(Pxg}4ur!lKp@z!X6y(JUbJt><#5JAyS;eLxI`qYcU!c_os z^I!BwYX0r8`mKUT4+S)b>d{WTMar1V^Q2?)#fmY`KKTCyrcwWpG0#<1;1RgrxZ$Kh zbX;6}=S9gQ8ot?pW{$*gJ(CK9iMMIg+rNbpxbDA7ZoK)c;NOX7!IQo@!r>8!_}ZOV zP%~|k;^@I?VPFs<`>tufFv}yX!c8-BwE9RKfLj(*tt$So{~vWT3H{Hf{%Sf8+KG)ZV=r@7(f!1g!dO9iUD2#{{l$AwLOmZVBDru5%H<6jcLfq(zW|MbiMH{li+`XKnN*`C={2N zo`}AYEC*v-K2lZqtH=Y4v!3qb74RJ66~}hFhA5O|uLE0SpwSZ}2LRbL5EX`2{6)_x z*_CcMh5>e18)puiY z@GS8~+nk4qcn!PWF6zPz+5W5SjqhH@60lEn!AG&Y1}#7FdwOh2Ka zdq{W^o?RD^CyhaAO7M4|^zqNURJni{dE|9=JgJWZ&kyA)vaxVwRolW5A3n2{aL?42 zc6vryOn{GF%}@~4?~`MD$CvWyrMO$kttV&ECGd&e#82hsX7Mux3lbt*l9-0*6W1SSF$C=EjkFk0EQp0!1TSMj3c6k|Yz)bCvU5j+KOydt z_E@#qK~IaN@2lxtASz&wZiIGu!RYN=R<6WQU+%{9+}`*96o(q|{fr<>NiF4x)>hGb zh2W(Vq6hm>YuzBHQqsT3iz_x5<~0>U3+Cc=MCe?I%1@c_SoKGLuxP{!(Rp|MW`fPf zCia#h0J_Bl$dVW)XrPV3^GiJ*r|0tDP{6YISdvs>z@fcTM;%xNT$I(6G~T zRFut>PKMzVZK6yv2}UsY5qtRMf@%`5>mG&_FBdJ%DWJY{uDe{Lfw#tm`zdQY#0;$mwdn&4x?Tmv?N=QphCqE(cqwcZIF{Q|OKdk)_0 zN=&1UL%FSIxY%8I{poFd%MdoLD=TU``n5Y2msoKmTM^T$36YM}w7gDr(LhyNhJOs@ z|9J8wb}VY9_p>c=DL&luTzC(zSWN9HXZD$75W0#BEkNJ-kn{LMo_04?n3h~m^lfCd zw61GVUxT02U~VwO!F1;b|%BO zOu0&gZOY>XZZx{&i9J|=b1w)%rr4L*N;r1&%Q9^EK?lLlYc1gn_rM(hz2s1Ay$^hE zqWOgmyp$QVJJQ4-BR=34o1i36%6>D{&Vj~ZIUO|4x2v1I0av#m^6Wm11~%A#wDt>U zK-j?W%V1-?vHNpQE6Z}&%EGiK9R@ZrdHFQ@A{~ulNYlw5Hw1&tSBJC=eiq)c%b@5_ zGnuh#8fWEEjB6gr3!AX!^!c)4fthFEJd^j}Bi-aDN!iW@U-hrHg4jcJaP8@>sxkGi zTr;5fvf9w6@mo@)&iX=CIo1$SF8xT%8wK9V;i9_7FxlMXFNcQdswH^SX%`X54SwWpv(s*_Id&qJ=K)+x#AZ$d|Mz}a>GRTt%S~GMn zm+oXiD(>HOlK&iALO*Enpj=gJ870?(C}X(yJ*8znrv*{OXcZGv`_Q36hE%3O^S&D? zE$k-s$>;)Pu|EVHkrMMH9?P3)L*3F{t;R|T#q1aHiXx`ElUbzV_!VFw8Y$=hGy{DP zz7xv+KH_p82|N8IaP89cNy3kAIiK-nADvyuI&i`KLU-s=JL)GvNDkTtj9EGi?7EX) z8B?hk(G&dz$pz>Z1R?a0<|%SoQ9q5lq*7V2I{VY`3n8SVMHJU}^})+GqX`gK{491@ zl5D=3M?4tcog$JLxQpc%Le&U7wHnetFvQGFsA{8oAI>TNy>cIj?8OAZGGoVei^Q;=UI5DgUdr3_Is;; z;5&O9t#tcud`EX!A(XfYGuceXV`6%*irX%5JpH4?R;yO^J@V-hF2qD(e!3?t)E8Zd z_Px_EpqL$KDvNW$Aoha}n|>f-aAYV(Eu7|O*v;-w?1;B_*WF69wai+guLuY9?vc)_ zo={1pU11Lt?Vrj=E)~;)zb;BSC0qhwy68w2MLKIG%ZY|C&B;S@MUv8F&BZ`oh$;I8 zz9BB^bW$16pt=v*593u-x

    GV2c!1JQ>(XR|U$Gt(>d`;FV_MV1+Wp?M>|tYHMKu z7g$&Bm7R+!Hjv@&TasU~DTcr{X0U)4v^Ywy-kS^b(h?w|32Z$8HdI6iE`n=9#hI1E zK4pN2%D(=77g^~EE>AE6y&a85??{dN$Fdi*a_U#9EPRx_D@0JQ2h`CpwX;7C){)8x^w~AZ)V(!{v zkV%D(v;w#6Cy&Z*6$6v{d3NvHm8}Nr1it&Y%X+Q;M%)UR)c5~DWwU&A>7C#t0q8!H zpK)wz7VeokJ|+QuF=v%2s0;HF2v@1}ng=?@!dZA$NWH8#3$#1XmLm8UzL)%TTG+yV zJX+Sfd~;&=HqyE)3STqTgF3AM(|g1s99P1A-t16mioNAK@kDd@wToJ|>PObdIaP=s z$5MYT&T$LKtUKE#3!RAcNd&BZFUNKNVU0Cynpg74V(lZ=_x>z&Dd#ASU6jUmzB&yu zp`5F&ly;MTEGS-zNUB9er)lg_3wexWTrt*k^8U5zn-NNj3oY`H(#{4DG^K&=n)oft zJvS7q%I7F#pCW*>FMFC_MB5FOnPSQDArw19f+ywrX`}N7lb@VPDIVJ_v0a6X%Ee5A zklaSfeA8LNSs1W(&$XM)e*8nKL*-ZGF2PTHvm(~ZsHX1f$_K1n^mc=wz2V^I}9F&b~d1W zNDruMATKB-ziRvt=(CKMhYy+*qrsdkA5!StbMTX}=~0l#D!ed%atH-zG{ggwMSvy! zEmBaKj6hWJgm(FbN(nWQUF5D%pIW>;A2k%c@FjtX(k@DCeJ3SC(~6GZ4;lWOWIn(e zsv|d*!?T(V)AO27Li={&71z#2enEPtTqRjT6Q6Cg<#7*95Rrj#7*G?qcxK79M^*-q zpwZ3O%mA`GvIu3GBfKC?`iI1N25pQ=&x1&urPRjBe4Gsb->L$iBG#Vz?4~xBrpzye zz&-eO4~hM48te?$PF?ATqI9l9QMwC*Qg%Hrn+dfjhl%`bsZRDu=^LtbM&{4IN^|`XU>Lb`FC15>0BqXQnHSOc=HQ*PpY0PI~_>Phw`2q$sP3L(MPN4@g*Xe^S>Lqkmg zvNJ`S*aXazq$c==cfLNg>|smlV4VZbckyHQt~rgoze!%iq)rNi3@ zzkB3z3zY00iQP?SjaM_yN@Gk%%VlD8iwwWx!U}jc>;=CT9Cxeg)2r4|@!>Cy5B(;r z97KC9VH9RoF|}y|VH> z=R4*whS8SsAiBCJk->M=VJ>VF!ZX&bKYK}n_zpg^PuyaKWV7u-j7DZ0mA?V^DV&7f zM9+oD1cm~7ZiIDLjZQI#Swsa+GIIfTv*ks?Hp}F+0Sl~QHU}RyIvxYj{;ZI4;c!ht z>mzIyfR^=92IZSgd@Er4XAKcjzt{I!ouc@l)!I=x$CZF8{$rKtRs>+Rv2_!p0=Pl^ z%q)%yB_t)F!;bgsT69DB#uTh0lO-on(qrhf@qg#j{_y?&8<7EJobQDUugj9Fynw@R zt2;cy6h#yhmOCDc8p~i5eNrf|FIjMq`dJT}JbKw;z-YZuA}1ZETUp7+tY@tF^^tIK zX=mMMI3CD)Ul7%9lumlpf8NA*=@8FjpAdPEWTC;KXUXO&hL!V}^zr6cEak_|G_dq!8sk$ia%r0Iqj*z?1E>7X~ z(W{4caa6C`1FPmH5>M}i5pe(8vUP}x?$=8D8?1el<-;oiI8;nAN~Yk8ODovq2_ZK+ z0B{jeUcSCY{C$%MDI1@QM(t3ReX^c!Bb8;iO&Ocs00y!vx z*3^x7++C~hPfND@bq0tTPU-8uLd3`$gc*1FXfypzwxO_LR zr@!`5zs{S>f|UvKTd2?u(;EN!qn5LGU2NHMzx(yL7JEEsTA};#NWCjF`fBOqV$`Bt zd@h=mLVoR~3mtin=jrz4DdoD}%_^ZM@B3p)BuD#|`kW-MqyJpdY(sExSzJph(FY%2WzL*3J*PYI^0G*G z;ytjxe?mbiqW(I!RG}2a7kY>VE5asP>QUZ@DK3*si*#;)LVn^W zJ8^W3tycZUEgJcv@nmuxu$`#!t6oXo*(G(e-k(2+e|0fTrY z@UuiOqOAW$;v6x-*R>8h%7@D~>UZ?@A|iAiJ)U!-_3(9h+WMKh#UMg_s>1E6%J1J~N&n zd&a|6Ob>$LQ1vjo$2tjr{hEa{YSk?Mj5|?$4%1csZhXift83_FK+$0c@oMX|aJbLB z>dnZQDuv~TS3dT|oeNGdH6L@##~G%kql}sCe4qU_AZ(XkEEX;AusJ+{`_gKi>elWUp^^|dhIzqW;o2LZ~M;l z*hu?EP^D+zkEWMA&+D`n{N&Sa;^<2R!FqxiezdUoji7iRk{_r)pnE67fM5BA9VyMC zNkjb&ZMaWGp8QJDB<-g9y)%P-Dlqr!?0k;Yvzt-8p=5b#W~>70GJ%C*P?o@UP4N?EOd&uS>j8tSXl`* ziO#)%a?T96W^Q8jZYIUgH*0caMvYzCZJ|HBbpTc2X15OSSvLy5*OC7s`7-x`f?(K> zSRzT&YTCQKnS^ZLqTW^$OPcz~_mYxZH;!;s@y=Rxp^hY#17R!$#btH@>zbby0F$^8 zmIsTHin_P7yXJ?h?rOfB+KGJXl;`CLtG?>J%XqK-%_P2Jdn)_nXO``7^Q;rLHTI*9?F$-vK5Cb; z&oAFPuWAqoj|6Y4etziRg5pT9%G#Mte5J7gR-_(wyiG|ke@g}z_K3iq8Am{n&rD_X z7nxAoxOQ=zIKZ@4c7v$btI$f$3#xYnO(l^M2Ne^rFSEJ8PCc{o&Eh#o zl2u9PW)1f1$eA+xW=Uc5v)M%-2S?(36LZQZ>AKn1ythYmH&<3qi?9;yc~!88(qD)& zXhiG!aO0G+C2X*DQV5`^aQ4oOc6A6&aoFYY*`*w~qT_NxqGV&9y)cNidMB>Eljv+< zhMcKf7a-ua=fc^V#Pe}xL6jB-Xb3RidwRAcD2fTydPYWBB? z8cB$Hd#}=>`P!dT;iO6olZ+^OsmocBzyd~pb|UUI;XY%#nLAv#GMk*~mYmMMCgT(l zc{OZLW1;*)|AwQ5qmW6N%&@Ax4fifgacGqng7`>%UfxkA?!PaIbFEHt-b5TF4hEgG zvuFVmnC76ava2S6nq*5!nD@IUUCt)%a z?IuT}E{?jyw7&@WSDZ4ej!*F?d;}7u=f-n=Q)rl>vLb-pxjgfkrSs31@lp_pk_z@8J5{+^2zNC3raSze8Um@NGGDIqi-caRdcrrSBan$0S z=Spoxx9h8>nEB~`bMZyj$YyGfIR8VGz;5ui^bYJjK7B!^ z0hI!ab?o;n<|-WSYxwNK%h0P%`Z$@a@pJ^{y~dwc9SEK{_H^K=MwXWLJ>(1Y>q{n- zyr>?*M=AJcp6DeY1c`~F$(K22Lif}OP*KrmKVQ;*&017Q%$20>!PSyo>L!jG6yyyh z&I;@ap-Vt3Dn+G>ze6oaI8F^NOB`{Hh5B?4$HiUyMh^#AE^o|yEZ|-35{j6dhNENR zQZo<5uS)F%He4^BRA;r*Ufjl6e~j5Dn8_&h>Q);#1;Dyu|SD z%`NvSi>{l0ig$iQ#+AYnX-oUN=%=7B{tRtvF&&4AY0d*Y4!@MLyBd1x^{RGp{~tWn BjX(eZ literal 35078 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 UGIKoh>#EbesehwJ!y)qj0WWPJK>z>% diff --git a/apps/spreadsheeteditor/main/resources/less/leftmenu.less b/apps/spreadsheeteditor/main/resources/less/leftmenu.less index 100eaaa2d..36a0aed6c 100644 --- a/apps/spreadsheeteditor/main/resources/less/leftmenu.less +++ b/apps/spreadsheeteditor/main/resources/less/leftmenu.less @@ -537,4 +537,32 @@ -webkit-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); +} + +#panel-protect { + #file-menu-panel & { + padding: 30px 30px; + } + + + button { + display: block; + width: auto; + margin-top: 20px; + } + + label { + font: 12px tahoma, arial, verdana, sans-serif; + } + + .header { + font-weight: bold; + margin: 30px 0 10px; + } + + table { + td { + padding: 5px 5px; + } + } } \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/resources/less/rightmenu.less b/apps/spreadsheeteditor/main/resources/less/rightmenu.less index d50c9bf07..ea2ef2037 100644 --- a/apps/spreadsheeteditor/main/resources/less/rightmenu.less +++ b/apps/spreadsheeteditor/main/resources/less/rightmenu.less @@ -23,6 +23,9 @@ /*menuTable*/ .toolbar-btn-icon(btn-menu-table, 80, @toolbar-icon-size); + + /**menuSignature*/ + .toolbar-btn-icon(btn-menu-signature, 83, @toolbar-icon-size); } }