src/pyams_content/shared/form/zmi/field.py
changeset 1331 8baa284854ba
parent 1070 ea0c7ac589c4
child 1334 fdbb7da1f7af
equal deleted inserted replaced
1330:cad3e22cc2bd 1331:8baa284854ba
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 
       
    16 # import standard library
       
    17 import json
    15 import json
    18 
    16 
    19 # import interfaces
    17 from pyramid.decorator import reify
       
    18 from pyramid.events import subscriber
       
    19 from pyramid.view import view_config
       
    20 from z3c.form import field
       
    21 from z3c.form.interfaces import DISPLAY_MODE, IDataExtractedEvent
       
    22 from z3c.table.column import GetAttrColumn
       
    23 from z3c.table.interfaces import IColumn, IValues
       
    24 from zope.interface import Invalid, implementer
       
    25 
    20 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    26 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    21 from pyams_content.shared.common.interfaces import IWfSharedContent
    27 from pyams_content.shared.common.interfaces import IWfSharedContent
    22 from pyams_content.shared.form.interfaces import IFormFieldContainerTarget, IFormFieldContainer, IFormField, \
    28 from pyams_content.shared.common.zmi import WfModifiedContentColumnMixin
       
    29 from pyams_content.shared.form.field import FormField
       
    30 from pyams_content.shared.form.interfaces import IFormField, IFormFieldContainer, IFormFieldContainerTarget, \
    23     IFormFieldFactory
    31     IFormFieldFactory
    24 from pyams_content.zmi import pyams_content
    32 from pyams_content.zmi import pyams_content
       
    33 from pyams_form.form import AJAXAddForm, ajax_config
    25 from pyams_form.interfaces.form import IFormSecurityContext
    34 from pyams_form.interfaces.form import IFormSecurityContext
       
    35 from pyams_form.security import ProtectedFormObjectMixin
    26 from pyams_i18n.interfaces import II18n
    36 from pyams_i18n.interfaces import II18n
       
    37 from pyams_pagelet.pagelet import pagelet_config
       
    38 from pyams_skin.container import switch_element_visibility
       
    39 from pyams_skin.interfaces.container import ITableWithActions
    27 from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager
    40 from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager
    28 from pyams_skin.layer import IPyAMSLayer
    41 from pyams_skin.layer import IPyAMSLayer
    29 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    42 from pyams_skin.table import BaseTable, I18nColumn, I18nValueColumn, SorterColumn, TrashColumn, VisibilitySwitcherColumn
    30 from pyams_zmi.interfaces.menu import IPropertiesMenu
       
    31 from pyams_zmi.layer import IAdminLayer
       
    32 from z3c.form.interfaces import DISPLAY_MODE, IDataExtractedEvent
       
    33 from z3c.table.interfaces import IColumn, IValues
       
    34 
       
    35 # import packages
       
    36 from pyams_content.shared.common.zmi import WfModifiedContentColumnMixin
       
    37 from pyams_content.shared.form.field import FormField
       
    38 from pyams_form.form import AJAXAddForm, ajax_config
       
    39 from pyams_form.security import ProtectedFormObjectMixin
       
    40 from pyams_pagelet.pagelet import pagelet_config
       
    41 from pyams_skin.container import switch_element_visibility
       
    42 from pyams_skin.table import BaseTable, SorterColumn, I18nColumn, TrashColumn, I18nValueColumn, \
       
    43     VisibilitySwitcherColumn
       
    44 from pyams_skin.viewlet.menu import MenuItem
    43 from pyams_skin.viewlet.menu import MenuItem
    45 from pyams_skin.viewlet.toolbar import ToolbarAction
    44 from pyams_skin.viewlet.toolbar import ToolbarAction
    46 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
    45 from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config
    47 from pyams_utils.fanstatic import get_resource_path
    46 from pyams_utils.fanstatic import get_resource_path
       
    47 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    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.unicode import translate_string
    50 from pyams_utils.url import absolute_url
    50 from pyams_utils.url import absolute_url
    51 from pyams_viewlet.viewlet import viewlet_config
    51 from pyams_viewlet.viewlet import viewlet_config
    52 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
    52 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
       
    53 from pyams_zmi.interfaces.menu import IPropertiesMenu
       
    54 from pyams_zmi.layer import IAdminLayer
    53 from pyams_zmi.view import ContainerAdminView
    55 from pyams_zmi.view import ContainerAdminView
    54 from pyramid.decorator import reify
       
    55 from pyramid.events import subscriber
       
    56 from pyramid.view import view_config
       
    57 from z3c.form import field
       
    58 from z3c.table.column import GetAttrColumn
       
    59 from zope.interface import Invalid
       
    60 
    56 
    61 from pyams_content import _
    57 from pyams_content import _
    62 
    58 
    63 
    59 
    64 @viewlet_config(name='form-fields.menu', context=IFormFieldContainerTarget, layer=IAdminLayer,
    60 @viewlet_config(name='form-fields.menu', context=IFormFieldContainerTarget, layer=IAdminLayer,
    73 
    69 
    74 #
    70 #
    75 # Form fields container view
    71 # Form fields container view
    76 #
    72 #
    77 
    73 
       
    74 @implementer(ITableWithActions)
    78 class FormFieldsContainerTable(ProtectedFormObjectMixin, BaseTable):
    75 class FormFieldsContainerTable(ProtectedFormObjectMixin, BaseTable):
    79     """Form fields table"""
    76     """Form fields table"""
    80 
    77 
    81     prefix = 'form_fields'
    78     prefix = 'form_fields'
    82 
    79