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): |