src/pyams_content/shared/form/zmi/field.py
changeset 789 7c0f6dfc6387
parent 591 b694d5667d17
child 842 7f0d72e427b1
equal deleted inserted replaced
788:88c885042341 789:7c0f6dfc6387
    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):