44 from pyams_skin.viewlet.menu import MenuItem |
44 from pyams_skin.viewlet.menu import MenuItem |
45 from pyams_skin.viewlet.toolbar import ToolbarAction |
45 from pyams_skin.viewlet.toolbar import ToolbarAction |
46 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter |
46 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter |
47 from pyams_utils.fanstatic import get_resource_path |
47 from pyams_utils.fanstatic import get_resource_path |
48 from pyams_utils.traversing import get_parent |
48 from pyams_utils.traversing import get_parent |
|
49 from pyams_utils.unicode import translate_string |
49 from pyams_utils.url import absolute_url |
50 from pyams_utils.url import absolute_url |
50 from pyams_viewlet.viewlet import viewlet_config |
51 from pyams_viewlet.viewlet import viewlet_config |
51 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
52 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
52 from pyams_zmi.view import ContainerAdminView |
53 from pyams_zmi.view import ContainerAdminView |
53 from pyramid.decorator import reify |
54 from pyramid.decorator import reify |
259 |
260 |
260 @subscriber(IDataExtractedEvent, form_selector=FormFieldAddForm) |
261 @subscriber(IDataExtractedEvent, form_selector=FormFieldAddForm) |
261 def handle_new_form_field_data_extraction(event): |
262 def handle_new_form_field_data_extraction(event): |
262 """Handle new form field form data extraction""" |
263 """Handle new form field form data extraction""" |
263 container = IFormFieldContainer(event.form.context) |
264 container = IFormFieldContainer(event.form.context) |
264 name = event.data.get('name') |
265 name = translate_string(event.data.get('name'), spaces='_', keep_chars='_') |
265 if name in container: |
266 if name in container: |
266 event.form.widgets.errors += (Invalid(_("Specified name is already used!")),) |
267 event.form.widgets.errors += (Invalid(_("Specified name is already used!")),) |
|
268 event.data['name'] = name |
267 |
269 |
268 |
270 |
269 @pagelet_config(name='properties.html', context=IFormField, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION) |
271 @pagelet_config(name='properties.html', context=IFormField, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION) |
270 @ajax_config(name='properties.json', context=IFormField, layer=IPyAMSLayer) |
272 @ajax_config(name='properties.json', context=IFormField, layer=IPyAMSLayer) |
271 class FormFieldPropertiesEditForm(AdminDialogEditForm): |
273 class FormFieldPropertiesEditForm(AdminDialogEditForm): |