diff --git a/apps/documenteditor/main/app/controller/DocumentHolderExt.js b/apps/documenteditor/main/app/controller/DocumentHolderExt.js index 451bd969b4..ccaecf30e9 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolderExt.js +++ b/apps/documenteditor/main/app/controller/DocumentHolderExt.js @@ -438,6 +438,9 @@ define([], function () { } else if (Asc.c_oAscTypeSelectElement.Header == elType) { menu_props.headerProps = {}; menu_props.headerProps.locked = (elValue) ? elValue.get_Locked() : false; + } else if (Asc.c_oAscTypeSelectElement.ContentControl == elType) { + menu_props.controlProps = {}; + menu_props.controlProps.formPr = (elValue) ? elValue.get_FormPr() : null; } } return (!noobject) ? {menu_to_show: menu_to_show, menu_props: menu_props} : null; diff --git a/apps/documenteditor/main/app/view/DocumentHolderExt.js b/apps/documenteditor/main/app/view/DocumentHolderExt.js index b374bacd03..aafb7ce841 100644 --- a/apps/documenteditor/main/app/view/DocumentHolderExt.js +++ b/apps/documenteditor/main/app/view/DocumentHolderExt.js @@ -2269,14 +2269,21 @@ define([], function () { initMenu: function (value) { var cancopy = me.api.can_CopyCut(), disabled = value.paraProps && value.paraProps.locked || value.headerProps && value.headerProps.locked || - value.imgProps && (value.imgProps.locked || value.imgProps.content_locked) || me._isDisabled; + value.imgProps && (value.imgProps.locked || value.imgProps.content_locked) || me._isDisabled, + canFillRole = true; + if (value.controlProps && value.controlProps.formPr) { + var oform = me.api.asc_GetOForm(); + if (oform && !oform.asc_canFillRole(value.controlProps.formPr.get_Role())) { + canFillRole = false; + } + } me.menuPDFFormsUndo.setDisabled(disabled || !me.api.asc_getCanUndo()); // undo me.menuPDFFormsRedo.setDisabled(disabled || !me.api.asc_getCanRedo()); // redo - me.menuPDFFormsClear.setDisabled(disabled || !me.api.asc_IsContentControl()); // clear - me.menuPDFFormsCut.setDisabled(disabled || !cancopy); // cut + me.menuPDFFormsClear.setDisabled(disabled || !me.api.asc_IsContentControl() || !canFillRole); // clear + me.menuPDFFormsCut.setDisabled(disabled || !cancopy || !canFillRole); // cut me.menuPDFFormsCopy.setDisabled(!cancopy); // copy - me.menuPDFFormsPaste.setDisabled(disabled) // paste; + me.menuPDFFormsPaste.setDisabled(disabled || !me.api.asc_IsContentControl() || !canFillRole) // paste; }, items: [ me.menuPDFFormsUndo,