src/pyams_content/component/paragraph/zmi/html.py
changeset 1141 a033c4cad074
parent 1127 a76066afc55b
child 1194 d4ae54d8fe17
equal deleted inserted replaced
1140:1df391914ba5 1141:a033c4cad074
    55 #
    55 #
    56 
    56 
    57 @viewlet_config(name='add-raw-paragraph.divider', context=IParagraphContainerTarget, view=IParagraphContainerView,
    57 @viewlet_config(name='add-raw-paragraph.divider', context=IParagraphContainerTarget, view=IParagraphContainerView,
    58                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=990)
    58                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=990)
    59 class RawParagraphAddMenuDivider(ProtectedFormObjectMixin, MenuDivider):
    59 class RawParagraphAddMenuDivider(ProtectedFormObjectMixin, MenuDivider):
    60     """Raw paragraph add menu divider"""
    60     """Source code paragraph add menu divider"""
    61 
    61 
    62     def __new__(cls, context, request, view, manager):
    62     def __new__(cls, context, request, view, manager):
    63         settings = get_parent(context, IParagraphFactorySettings)
    63         settings = get_parent(context, IParagraphFactorySettings)
    64         if (settings is not None) and (RawParagraphAddMenu.paragraph_type not in (settings.allowed_paragraphs or ())):
    64         if (settings is not None) and (RawParagraphAddMenu.paragraph_type not in (settings.allowed_paragraphs or ())):
    65             return None
    65             return None
    67 
    67 
    68 
    68 
    69 @viewlet_config(name='add-raw-paragraph.menu', context=IParagraphContainerTarget, view=IParagraphContainerView,
    69 @viewlet_config(name='add-raw-paragraph.menu', context=IParagraphContainerTarget, view=IParagraphContainerView,
    70                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=999)
    70                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=999)
    71 class RawParagraphAddMenu(BaseParagraphAddMenu):
    71 class RawParagraphAddMenu(BaseParagraphAddMenu):
    72     """Raw HTML paragraph add menu"""
    72     """Source code paragraph add menu"""
    73 
    73 
    74     label = _("Raw HTML...")
    74     label = _("Source code...")
    75     label_css_class = 'fa fa-fw ' + RawParagraph.icon_class
    75     label_css_class = 'fa fa-fw ' + RawParagraph.icon_class
    76     url = 'add-raw-paragraph.html'
    76     url = 'add-raw-paragraph.html'
    77     paragraph_type = RAW_PARAGRAPH_TYPE
    77     paragraph_type = RAW_PARAGRAPH_TYPE
    78 
    78 
    79 
    79 
    80 @pagelet_config(name='add-raw-paragraph.html', context=IParagraphContainerTarget, layer=IPyAMSLayer,
    80 @pagelet_config(name='add-raw-paragraph.html', context=IParagraphContainerTarget, layer=IPyAMSLayer,
    81                 permission=MANAGE_CONTENT_PERMISSION)
    81                 permission=MANAGE_CONTENT_PERMISSION)
    82 @ajax_config(name='add-raw-paragraph.json', context=IParagraphContainerTarget, layer=IPyAMSLayer,
    82 @ajax_config(name='add-raw-paragraph.json', context=IParagraphContainerTarget, layer=IPyAMSLayer,
    83              base=BaseParagraphAJAXAddForm)
    83              base=BaseParagraphAJAXAddForm)
    84 class RawParagraphAddForm(AdminDialogAddForm):
    84 class RawParagraphAddForm(AdminDialogAddForm):
    85     """Raw HTML paragraph add form"""
    85     """Source code paragraph add form"""
    86 
    86 
    87     legend = _("Add new raw HTML paragraph")
    87     legend = _("Add new source code paragraph")
    88     dialog_class = 'modal-large'
    88     dialog_class = 'modal-large'
    89     icon_css_class = 'fa fa-fw ' + RawParagraph.icon_class
    89     icon_css_class = 'fa fa-fw ' + RawParagraph.icon_class
    90     label_css_class = 'control-label col-md-2'
    90     label_css_class = 'control-label col-md-2'
    91     input_css_class = 'col-md-10'
    91     input_css_class = 'col-md-10'
    92 
    92 
    94     edit_permission = MANAGE_CONTENT_PERMISSION
    94     edit_permission = MANAGE_CONTENT_PERMISSION
    95 
    95 
    96     def updateWidgets(self, prefix=None):
    96     def updateWidgets(self, prefix=None):
    97         super(RawParagraphAddForm, self).updateWidgets(prefix)
    97         super(RawParagraphAddForm, self).updateWidgets(prefix)
    98         if 'body' in self.widgets:
    98         if 'body' in self.widgets:
    99             self.widgets['body'].widget_css_class = 'input height-100'
    99             self.widgets['body'].widget_css_class = 'monospace input height-200'
   100 
   100 
   101     def create(self, data):
   101     def create(self, data):
   102         return RawParagraph()
   102         return RawParagraph()
   103 
   103 
   104     def add(self, object):
   104     def add(self, object):
   108 @pagelet_config(name='properties.html', context=IRawParagraph, layer=IPyAMSLayer,
   108 @pagelet_config(name='properties.html', context=IRawParagraph, layer=IPyAMSLayer,
   109                 permission=MANAGE_CONTENT_PERMISSION)
   109                 permission=MANAGE_CONTENT_PERMISSION)
   110 @ajax_config(name='properties.json', context=IRawParagraph, layer=IPyAMSLayer,
   110 @ajax_config(name='properties.json', context=IRawParagraph, layer=IPyAMSLayer,
   111              base=BaseParagraphAJAXEditForm)
   111              base=BaseParagraphAJAXEditForm)
   112 class RawParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
   112 class RawParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
   113     """Raw HTML paragraph properties edit form"""
   113     """Source code paragraph properties edit form"""
   114 
   114 
   115     prefix = 'raw_properties.'
   115     prefix = 'raw_properties.'
   116 
   116 
   117     legend = _("Edit raw HTML paragraph properties")
   117     legend = _("Edit source code paragraph properties")
   118     icon_css_class = 'fa fa-fw ' + RawParagraph.icon_class
   118     icon_css_class = 'fa fa-fw ' + RawParagraph.icon_class
   119 
   119 
   120     fields = field.Fields(IRawParagraph).omit(*PARAGRAPH_HIDDEN_FIELDS)
   120     fields = field.Fields(IRawParagraph).omit(*PARAGRAPH_HIDDEN_FIELDS)
   121     fields['renderer'].widgetFactory = RendererFieldWidget
   121     fields['renderer'].widgetFactory = RendererFieldWidget
   122 
   122 
   123     edit_permission = MANAGE_CONTENT_PERMISSION
   123     edit_permission = MANAGE_CONTENT_PERMISSION
   124 
   124 
   125     def updateWidgets(self, prefix=None):
   125     def updateWidgets(self, prefix=None):
   126         super(RawParagraphPropertiesEditForm, self).updateWidgets(prefix)
   126         super(RawParagraphPropertiesEditForm, self).updateWidgets(prefix)
   127         if 'body' in self.widgets:
   127         if 'body' in self.widgets:
   128             self.widgets['body'].widget_css_class = 'input height-100'
   128             self.widgets['body'].widget_css_class = 'monospace input height-200'
   129 
   129 
   130 
   130 
   131 @adapter_config(context=(IRawParagraph, IPyAMSLayer), provides=IParagraphInnerEditor)
   131 @adapter_config(context=(IRawParagraph, IPyAMSLayer), provides=IParagraphInnerEditor)
   132 @ajax_config(name='inner-properties.json', context=IRawParagraph, layer=IPyAMSLayer,
   132 @ajax_config(name='inner-properties.json', context=IRawParagraph, layer=IPyAMSLayer,
   133              base=BaseParagraphAJAXEditForm)
   133              base=BaseParagraphAJAXEditForm)
   134 @implementer(IInnerForm)
   134 @implementer(IInnerForm)
   135 class RawParagraphInnerEditForm(RawParagraphPropertiesEditForm):
   135 class RawParagraphInnerEditForm(RawParagraphPropertiesEditForm):
   136     """Raw HTML paragraph inner edit form"""
   136     """Source code paragraph inner edit form"""
   137 
   137 
   138     legend = None
   138     legend = None
   139 
   139 
   140     @property
   140     @property
   141     def buttons(self):
   141     def buttons(self):