Exemple #1
0
def update_item_schema(baseSchema):

    specificSchema = Schema(
        (

            #specific field for Mons added possibility to BudgetImpactReviewer to "validate item"
            BooleanField(
                name='validateByBudget',
                widget=BooleanField._properties['widget'](
                    condition="python: here.attributeIsUsed('budgetInfos') and (\
                            here.portal_membership.getAuthenticatedMember().has_role('MeetingBudgetImpactReviewer', \
                            here) or here.portal_membership.getAuthenticatedMember().has_role(' \
                            MeetingExtraordinaryBudget', here) or here.portal_plonemeeting.isManager(here))",
                    label='ValidateByBudget',
                    label_msgid='MeetingMons_label_validateByBudget',
                    description='Validate By Budget Impact Reviwer',
                    description_msgid='MeetingMons_descr_validateByBudget',
                    i18n_domain='PloneMeeting',
                ),
            ), ), )

    baseSchema['description'].widget.label = "projectOfDecision"
    baseSchema['description'].widget.label_msgid = "projectOfDecision_label"
    baseSchema['motivation'].widget.description_msgid = "item_motivation_descr"
    baseSchema['observations'].write_permission = "Modify portal content"

    completeItemSchema = baseSchema + specificSchema.copy()
    return completeItemSchema
Exemple #2
0
def update_group_schema(baseSchema):
    specificSchema = Schema(
        (BooleanField(name='usePrevalidation',
                      widget=BooleanField._properties['widget'](
                          label='Useprevalidation',
                          label_msgid='MeetingAndenne_label_usePrevalidation',
                          i18n_domain='PloneMeeting',
                      ),
                      default=False), ), )

    completeGroupSchema = baseSchema + specificSchema.copy()

    return completeGroupSchema
Exemple #3
0
def update_config_schema(baseSchema):
    specificSchema = Schema((BooleanField(
        name='initItemDecisionIfEmptyOnDecide',
        default=True,
        widget=BooleanField._properties['widget']
        (description="InitItemDecisionIfEmptyOnDecide",
         description_msgid="init_item_decision_if_empty_on_decide",
         label='Inititemdecisionifemptyondecide',
         label_msgid='MeetingCommunes_label_initItemDecisionIfEmptyOnDecide',
         i18n_domain='PloneMeeting'),
        write_permission=WriteRiskyConfig,
    ), ), )

    completeConfigSchema = baseSchema + specificSchema.copy()
    return completeConfigSchema
Exemple #4
0
def update_config_schema(baseSchema):
    specificSchema = Schema((
        IntegerField(
            name='lastMeetingNumberInParliamentaryTerm',
            default=0,
            widget=IntegerField._properties['widget'](
                description="LastMeetingNumberInParliamentaryTerm",
                description_msgid=
                "last_meeting_number_in_parliamentary_term_descr",
                label='Lastmeetingnumberinparliamentaryterm',
                label_msgid=
                'MeetingAndenne_label_lastMeetingNumberInParliamentaryTerm',
                i18n_domain='PloneMeeting',
            ),
            write_permission=WriteRiskyConfig,
        ),
        BooleanField(
            name='useSubCategories',
            default=False,
            widget=BooleanField._properties['widget'](
                description="UseSubCategories",
                description_msgid="use_sub_categories_descr",
                label='Usesubcategories',
                label_msgid='MeetingAndenne_label_useSubCategories',
                i18n_domain='PloneMeeting'),
            write_permission=WriteRiskyConfig,
        ),
        LinesField(
            name='selectableAssociatedGroups',
            widget=MultiSelectionWidget(
                size=20,
                description="SelectableAssociatedGroups",
                description_msgid="selectable_associated_groups_descr",
                label='Selectableassociatedgroups',
                label_msgid='MeetingAndenne_label_selectableAssociatedGroups',
                i18n_domain='PloneMeeting',
            ),
            schemata="advices",
            multiValued=1,
            vocabulary='listSelectableAssociatedGroups',
            enforceVocabulary=True,
            write_permission=WriteRiskyConfig,
        ),
    ), )

    completeConfigSchema = baseSchema + specificSchema.copy()
    return completeConfigSchema
Exemple #5
0
              validators=('isTidyHtmlWithCleanup',),
              #validators=('isTidyHtml',),
              default_output_type='text/x-html-safe',
              widget=RichWidget(
                        description='',
                        label=_(u'label_body_text', default=u'Body Text'),
                        rows=25,
                        allow_file_upload=zconf.ATDocument.allow_document_upload),
    ),

    BooleanField('presentation',
        required=False,
        languageIndependent=True,
        widget=BooleanWidget(
            label=_(
                u'help_enable_presentation',
                default=u'Presentation mode'),
            description=_(
                u'help_enable_presentation_description',
                default=u'If selected, this will give users the ability to view the contents as presentation slides.')
            ),
    ),

    BooleanField('tableContents',
        required=False,
        languageIndependent=True,
        widget=BooleanWidget(
            label=_(
                u'help_enable_table_of_contents',
                default=u'Table of contents'),
            description=_(
                u'help_enable_table_of_contents_description',
Exemple #6
0
def update_config_schema(baseSchema):
    specificSchema = Schema((
        TextField(
            name='preMeetingAssembly_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly",
                description_msgid="premeeting_assembly_descr",
                label='Premeetingassembly',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_default',
                i18n_domain='PloneMeeting',
                label_method='getLabelPreMeetingAssembly_default'),
        ),
        TextField(
            name='preMeetingAssembly_2_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly_2' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly_2",
                description_msgid="premeeting_assembly_2_descr",
                label='Premeetingassembly_2',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_2_default',
                i18n_domain='PloneMeeting',
            ),
        ),
        TextField(
            name='preMeetingAssembly_3_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly_3' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly_3",
                description_msgid="premeeting_assembly_3_descr",
                label='Premeetingassembly_3',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_3_default',
                i18n_domain='PloneMeeting',
            ),
        ),
        TextField(
            name='preMeetingAssembly_4_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly_4' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly_4",
                description_msgid="premeeting_assembly_4_descr",
                label='Premeetingassembly_4',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_4_default',
                i18n_domain='PloneMeeting',
            ),
        ),
        TextField(
            name='preMeetingAssembly_5_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly_5' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly_5",
                description_msgid="premeeting_assembly_5_descr",
                label='Premeetingassembly_5',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_5_default',
                i18n_domain='PloneMeeting',
            ),
        ),
        TextField(
            name='preMeetingAssembly_6_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly_6' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly_6",
                description_msgid="premeeting_assembly_6_descr",
                label='Premeetingassembly_6',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_6_default',
                i18n_domain='PloneMeeting',
            ),
        ),
        TextField(
            name='preMeetingAssembly_7_default',
            widget=TextAreaWidget(
                condition=
                "python: 'preMeetingAssembly_7' in here.getUsedMeetingAttributes()",
                description="PreMeetingAssembly_7",
                description_msgid="premeeting_assembly_7_descr",
                label='Premeetingassembly_7',
                label_msgid=
                'MeetingLalouviere_label_preMeetingAssembly_7_default',
                i18n_domain='PloneMeeting',
            ),
        ),
        BooleanField(
            name='initItemDecisionIfEmptyOnDecide',
            default=True,
            widget=BooleanField._properties['widget'](
                description="InitItemDecisionIfEmptyOnDecide",
                description_msgid="init_item_decision_if_empty_on_decide",
                label='Inititemdecisionifemptyondecide',
                label_msgid=
                'MeetingLaLouviere_label_initItemDecisionIfEmptyOnDecide',
                i18n_domain='PloneMeeting'),
            write_permission=WriteRiskyConfig,
        ),
    ), )

    completeConfigSchema = baseSchema + specificSchema.copy()
    return completeConfigSchema
Exemple #7
0
def update_item_schema(baseSchema):
    specificSchema = Schema((
        StringField(
            name='refdoc',
            default_method="getDocReference",
            widget=StringWidget(
                size=100,
                label='Refdoc',
                label_msgid='MeetingAndenne_label_refDoc',
                i18n_domain='PloneMeeting',
            ),
            searchable=True,
        ),
        StringField(
            name='verifUser',
            default_method="Creator",
            widget=StringWidget(
                visible=False,
                format="select",
                label='Verifuser',
                label_msgid='MeetingAndenne_label_verifUser',
                i18n_domain='PloneMeeting',
            ),
            searchable=True,
        ),
        StringField(name='yourrefdoc',
                    widget=StringWidget(
                        size=100,
                        label='yourRefdoc',
                        label_msgid='MeetingAndenne_label_yourrefDoc',
                        i18n_domain='PloneMeeting',
                    ),
                    searchable=True),
        StringField(
            name='treatUser',
            default_method="Creator",
            widget=SelectionWidget(
                format="select",
                label='Treatuser',
                label_msgid='MeetingAndenne_label_treatUser',
                i18n_domain='PloneMeeting',
            ),
            vocabulary='listTreatUsers',
            searchable=True,
        ),
        TextField(name='projetpv',
                  widget=RichWidget(
                      rows=15,
                      label='Projetpv',
                      label_msgid='MeetingAndenne_label_projetpv',
                      i18n_domain='PloneMeeting',
                  ),
                  read_permission="PloneMeeting: Read decision",
                  default_content_type="text/html",
                  searchable=True,
                  write_permission="PloneMeeting: Write decision",
                  allowable_content_types=('text/html', ),
                  default_output_type="text/html"),
        TextField(name='pv',
                  widget=RichWidget(
                      rows=15,
                      label='Pv',
                      label_msgid='MeetingAndenne_label_pv',
                      i18n_domain='PloneMeeting',
                  ),
                  read_permission="MeetingAndenne: Read pv",
                  default_content_type="text/html",
                  searchable=True,
                  write_permission="MeetingAndenne: Write pv",
                  allowable_content_types=('text/html', ),
                  default_output_type="text/html"),
        TextField(name='textpv',
                  widget=RichWidget(
                      rows=15,
                      label='Textpv',
                      label_msgid='MeetingAndenne_label_textpv',
                      i18n_domain='PloneMeeting',
                  ),
                  read_permission="MeetingAndenne: Read pv",
                  default_content_type="text/html",
                  searchable=True,
                  write_permission="MeetingAndenne: Write pv",
                  allowable_content_types=('text/html', ),
                  default_output_type="text/html"),
        BooleanField(name='isconfidential',
                     widget=BooleanWidget(
                         label='IsConfidential',
                         label_msgid='MeetingAndenne_label_isConfidential',
                         i18n_domain='PloneMeeting',
                     ),
                     searchable=True,
                     default=False),
        LinesField(
            name='itemPresents',
            widget=MultiSelectionWidget(
                visible=False,
                format="checkbox",
                label='Itempresents',
                label_msgid='MeetingAndenne_label_itemPresents',
                i18n_domain='PloneMeeting',
            ),
            multiValued=1,
        ),
    ), )

    completeItemSchema = baseSchema + specificSchema.copy()
    completeItemSchema[
        'title'].widget.condition = "python: not hasattr(here, 'template') or not here.queryState()=='itemcreated' or here.portal_membership.getAuthenticatedMember().has_role('Manager')"

    completeItemSchema[
        'copyGroups'].write_permission = "MeetingAndenne: Write copygroup"
    completeItemSchema[
        'description'].widget.label_method = 'getLabelForDescription'
    completeItemSchema['budgetInfos'].widget.rows = 12
    completeItemSchema['itemSignatories'].optional = True
    completeItemSchema[
        'proposingGroup'].default_method = "getDefaultProposingGroup"
    completeItemSchema[
        'notes'].read_permission = "PloneMeeting: Read item observations"
    completeItemSchema[
        'notes'].write_permission = "PloneMeeting: Write item observations"
    completeItemSchema['votesAreSecret'].default = True

    completeItemSchema['category'].widget = DynatreeWidget(
        condition="python: here.showCategory()",
        description="Category",
        description_msgid="item_category_descr",
        label='Category',
        label_msgid='PloneMeeting_label_category',
        i18n_domain='PloneMeeting',
        leafsOnly=True,
        rootVisible=True,
        selectMode=1,
        sparse=False,
    )
    completeItemSchema['category'].vocabulary = SubCategoriesVocabulary()

    completeItemSchema.moveField('refdoc', pos='top')
    completeItemSchema.moveField('yourrefdoc', pos=2)
    completeItemSchema.moveField('treatUser', pos=8)
    completeItemSchema.moveField('projetpv', pos=25)
    completeItemSchema.moveField('pv', pos=25)
    completeItemSchema.moveField('textpv', pos=24)
    completeItemSchema.moveField('isconfidential', pos='top')

    return completeItemSchema
     required=1,
     default=0,
     read_permission="SignupSheet: View Registration Info",
     validators=('isInt',),
     widget=StringWidget(
         visible={'edit': 'visible', 'view': 'invisible'},
         size=6,
         label=_('field_waitlist_size',
                 default=u'Size of wait list',),
         )
     ),
 BooleanField('display_size_left',
     default=False,
     widget=BooleanWidget(
         visible={'edit': 'visible', 'view': 'invisible'},
         label=_('field_display_size_left', default=u'Display seats left'),
         description=_('fieldhelp_display_size_left',
                       default=u"Choose to show in the subscription page the number of seats left",)
         )
     ),
 DateTimeField('startDate',
     required=False,
     searchable=False,
     accessor='start',
     write_permission=ModifyPortalContent,
     languageIndependent=True,
     widget=CalendarWidget(
         description='',
         label=_E(u'label_event_start', default=u'Event Starts')
         )
     ),
            label=_("Instrument"),
            description=_("Select the preferred instrument"),
        ),
    ),
    ComputedField('InstrumentTitle',
        expression = "context.getInstrument() and context.getInstrument().Title() or ''",
        widget = ComputedWidget(
            visible = False,
        ),
    ),
    BooleanField(
        'EnableMultipleUseOfInstrument',
        default=True,
        schemata="Description",
        widget=BooleanWidget(
            label=_("Enable Multiple Use of Instrument in Worksheets."),
            description=_("If unchecked, \
                          Lab Managers won't be able to assign the same Instrument more than one Analyses while \
                          creating a Worksheet.")
        )
    ),
))

schema['title'].schemata = 'Description'
schema['title'].widget.visible = True

schema['description'].schemata = 'Description'
schema['description'].widget.visible = True


class WorksheetTemplate(BaseContent):
Exemple #10
0
            label='Relative path',
            label_msgid="label_relativepath_criteria_customrelativepath",
            description_msgid="help_relativepath_criteria_customrelativepath",
            i18n_domain="plone",
            description=u"Enter a relative path e.g.: <br /> '..' for the "
            u"parent folder <br /> '../..' for the parent's parent <br />"
            u"'../somefolder' for a sibling folder")
    ),

    BooleanField(
        'recurse',
        mode="rw",
        write_permission=ChangeTopics,
        accessor="Recurse",
        default=False,
        widget=BooleanWidget(
            label="Search Sub-Folders",
            label_msgid="label_path_criteria_recurse",
            description="",
            description_msgid="help_path_criteria_recurse",
            i18n_domain="plone"),
    ),
))


@implementer(IATTopicSearchCriterion)
class ATRelativePathCriterion(ATBaseCriterion):
    """A path criterion"""

    security = ClassSecurityInfo()
    schema = ATRelativePathCriterionSchema
        required=False,
        mode='rw',
        default='sortable_title',
        widget=StringWidget(
            label=_(u'Sort the collection on this index'),
            description='',
            visible=False,
        ),
    ),

    BooleanField(
        name='sort_reversed',
        required=False,
        mode='rw',
        default=False,
        widget=BooleanWidget(
            label=_(u'Sort the results in reversed order'),
            description='',
            visible=False,
        ),
    ),

    IntegerField(
        name='limit',
        required=False,
        mode='rw',
        default=1000,
        widget=IntegerWidget(
            label=_(u'Limit Search Results'),
            description=_(u"Specify the maximum number of items to show.")
        ),
Exemple #12
0
    ReferenceField('Instrument',
                   allowed_types=('Instrument', ),
                   relationship='InstrumentCertificationInstrument',
                   widget=StringWidget(visible=False, )),
    ComputedField(
        'InstrumentUID',
        expression=
        'context.getInstrument() and context.getInstrument().UID() or None',
        widget=ComputedWidget(visible=False, ),
    ),

    # Set the Certificate as Internal
    # When selected, the 'Agency' field is hidden
    BooleanField('Internal',
                 default=False,
                 widget=BooleanWidget(
                     label=_("Internal Certificate"),
                     description=_(
                         "Select if is an in-house calibration certificate"))),
    StringField(
        'Agency',
        widget=StringWidget(
            label=_("Agency"),
            description=
            _("Organization responsible of granting the calibration certificate"
              )),
    ),
    DateTimeField(
        'Date',
        widget=DateTimeWidget(
            label=_("Date"),
            description=_("Date when the calibration certificate was granted"),
Exemple #13
0
 TextField(name='sparql_query',
           default_content_type='text/plain',
           allowable_content_types=('text/plain', ),
           widget=TextAreaWidget(
               macro="sparql_textfield_with_preview",
               helper_js=("sparql_textfield_with_preview.js", ),
               helper_css=("sparql_textfield_with_preview.css", ),
               label="Query",
           ),
           required=1,
           validators=('isSparqlOverLimit', )),
 BooleanField(name='sparql_static',
              widget=BooleanWidget(
                  label='Static query',
                  description='The data will be fetched only once',
                  visible={
                      'edit': 'invisible',
                      'view': 'invisible'
                  }),
              default=False,
              required=0),
 TextField(
     name='sparql_results',
     widget=TextAreaWidget(label="Results",
                           visible={
                               'edit': 'invisible',
                               'view': 'invisible'
                           }),
     required=0,
 ),
 BlobField(
     name='sparql_results_cached',
Exemple #14
0
                   relationship="paths",
                   widget=RelatedItemsWidget(
                       allow_search=1,
                       label=_(u'label_path_criteria_value',
                               default=u'Folders'),
                       description=_(u'help_path_criteria_value',
                                     default=u'Folders to search in.'),
                       base_query={'is_folderish': True},
                       restrict_browse=True,
                       startup_directory='../')),
    BooleanField(
        'recurse',
        mode="rw",
        write_permission=ChangeTopics,
        accessor="Recurse",
        default=False,
        widget=BooleanWidget(
            label=_(u'label_path_criteria_recurse',
                    default=u'Search Sub-Folders'),
            description='',
        ),
    ),
))


class ATPathCriterion(ATBaseCriterion):
    """A path criterion"""

    implements(IATTopicSearchCriterion)

    security = ClassSecurityInfo()
    schema = ATPathCriterionSchema
        vocabulary='_getAvailableMethods',
        allowed_types=('Method', ),
        relationship='InstrumentMethods',
        required=0,
        multiValued=1,
        widget=PicklistWidget(
            size=10,
            label=_("Methods"),
        ),
    ),
    BooleanField(
        'DisposeUntilNextCalibrationTest',
        default=False,
        widget=BooleanWidget(
            label=_("De-activate until next calibration test"),
            description=
            _("If checked, the instrument will be unavailable until the next valid "
              "calibration was performed. This checkbox will automatically be unchecked."
              ),
        ),
    ),

    # Procedures
    TextField(
        'InlabCalibrationProcedure',
        schemata='Procedures',
        default_content_type='text/plain',
        allowed_content_types=('text/plain', ),
        default_output_type="text/plain",
        widget=TextAreaWidget(
            label=_("In-lab calibration procedure"),
Exemple #16
0
from Products.Archetypes.Widget import RelatedItemsWidget

# for ATContentTypes we want to have the description in the edit view
# just like CMF
ATContentTypeSchema = BaseSchema.copy() + MetadataSchema(
    (
        BooleanField(
            'excludeFromNav',
            required=False,
            languageIndependent=True,
            schemata='metadata',  # moved to 'default' for folders
            widget=BooleanWidget(
                description=_(
                    u'help_exclude_from_nav',
                    default=
                    u'If selected, this item will not appear in the navigation tree'
                ),
                label=_(u'label_exclude_from_nav',
                        default=u'Exclude from navigation'),
                visible={
                    'view': 'hidden',
                    'edit': 'visible'
                },
            ),
        ), ), )

ATContentTypeSchema['id'].searchable = True
ATContentTypeSchema['id'].validators = ('isValidId', )

# Update the validation layer after change the validator in runtime
ATContentTypeSchema['id']._validationLayer()
Exemple #17
0
     widget=StringWidget(
         label=_("label_exit_url", default=u"Exit URL"),
         description=_(
             "help_exit_url",
             default=u'This is the URL that the user will be directed to '
             u'on completion of the survey.\n'
             u'Use "http://site.to.go.to/page" or "route/to/page" '
             u'for this portal'),
     ),
 ),
 BooleanField(
     'confidential',
     searchable=0,
     required=0,
     widget=BooleanWidget(
         label=_(u"label_confidential", default=u"Confidential"),
         description=_(
             "help_confidential",
             default=u"Prevent respondents usernames from appearing in "
             u"results"),
     ),
 ),
 BooleanField(
     'allowAnonymous',
     searchable=0,
     required=0,
     widget=BooleanWidget(
         label=_('label_allow_anonymous', default=u"Allow Anonymous"),
         description=_(
             'help_allow_anonymous',
             default=u"Anonymous user will be able to fill the survey"),
     ),
Exemple #18
0
         description_msgid="meeting_user_signature_image_descr",
         condition="python: here.isManager()",
         label='Signatureimage',
         label_msgid='PloneMeeting_label_signatureImage',
         i18n_domain='PloneMeeting',
     ),
     storage=AttributeStorage(),
     write_permission="PloneMeeting: Write risky config",
 ),
 BooleanField(
     name='signatureIsDefault',
     default=False,
     widget=BooleanField._properties['widget'](
         description="MeetingUserSignatureIsDefault",
         description_msgid="meeting_user_signature_is_default",
         condition="python: here.isManager()",
         label='Signatureisdefault',
         label_msgid='PloneMeeting_label_signatureIsDefault',
         i18n_domain='PloneMeeting',
     ),
     write_permission="PloneMeeting: Write risky config",
 ),
 StringField(
     name='adviceStyle',
     widget=SelectionWidget(
         description="AdviceStyle",
         description_msgid="advice_style_descr",
         label='Advicestyle',
         label_msgid='PloneMeeting_label_adviceStyle',
         i18n_domain='PloneMeeting',
     ),
Exemple #19
0
def update_item_schema(baseSchema):
    specificSchema = Schema(
        (
            StringField(
                name='grpBudgetInfos',
                widget=MultiSelectionWidget(
                    description="GrpBudgetInfos",
                    description_msgid="MeetingNamur_descr_grpBudgetInfos",
                    size=10,
                    label='GrpBudgetInfos',
                    label_msgid='MeetingNamur_label_grpBudgetInfos',
                    i18n_domain='PloneMeeting',
                ),
                vocabulary='listGrpBudgetInfosAdviser',
                multiValued=1,
                enforceVocabulary=False,
            ),

            # field used to define specific certified signatures for a MeetingItem
            TextField(
                name='itemCertifiedSignatures',
                widget=TextAreaWidget(
                    label='Signatures',
                    label_msgid='PloneMeeting_label_certifiedSignatures',
                    description=
                    'Leave empty to use the certified signatures defined on the meeting or MeetingGroup',
                    description_msgid='MeetingNamur_descr_certified_signatures',
                    i18n_domain='PloneMeeting',
                ),
                write_permission='MeetingNamur: Write certified signatures',
                allowable_content_types=('text/plain', ),
                default_output_type='text/plain',
                default_content_type='text/plain',
            ),

            # field use to specify if this item is privacy (in this case, it's not visible in public pv)
            BooleanField(
                name='isConfidentialItem',
                default=False,
                widget=BooleanField._properties['widget'](
                    condition=
                    "python: here.portal_plonemeeting.isManager(here)",
                    label='IsConfidentialItem',
                    label_msgid='MeetingNamur_isConfidentialItem',
                    i18n_domain='PloneMeeting',
                ),
                optional=True,
            ),
            TextField(
                name='vote',
                widget=RichWidget(
                    condition="python: here.attributeIsUsed('vote')",
                    description="Vote",
                    description_msgid="item_vote_descr",
                    label='Vote',
                    label_msgid='MeetingNamur_vote',
                    i18n_domain='PloneMeeting',
                ),
                optional=True,
                write_permission=
                "PloneMeeting: Write item MeetingManager reserved fields",
                default_content_type="text/html",
                allowable_content_types=('text/html', ),
                default_output_type="text/x-html-safe",
            ),
        ), )

    baseSchema[
        'description'].write_permission = "MeetingNamur: Write description"
    baseSchema['description'].widget.label = "projectOfDecision"
    baseSchema['description'].widget.label_msgid = "projectOfDecision_label"

    completeSchema = baseSchema + specificSchema.copy()
    return completeSchema
from Products.Archetypes.atapi import BooleanField
from Products.Archetypes.atapi import BooleanWidget

from Products.ATContentTypes.criteria import registerCriterion
from Products.ATContentTypes.criteria import SORT_INDICES
from Products.ATContentTypes.interfaces import IATTopicSortCriterion
from Products.ATContentTypes.permission import ChangeTopics
from Products.ATContentTypes.criteria.base import ATBaseCriterion
from Products.ATContentTypes.criteria.schemata import ATBaseCriterionSchema

from Products.ATContentTypes import ATCTMessageFactory as _

ATSortCriterionSchema = ATBaseCriterionSchema + Schema((BooleanField(
    'reversed',
    required=0,
    mode="rw",
    write_permission=ChangeTopics,
    default=0,
    widget=BooleanWidget(label=_(u'Reverse')),
), ))


class ATSortCriterion(ATBaseCriterion):
    """A sort criterion"""

    implements(IATTopicSortCriterion)
    security = ClassSecurityInfo()
    schema = ATSortCriterionSchema
    meta_type = 'ATSortCriterion'
    archetype_name = 'Sort Criterion'
    shortDesc = 'Sort'
Exemple #21
0
 IntegerField(
     'AutoLogOff',
     schemata="Security",
     required=1,
     default=0,
     widget=IntegerWidget(
         label=_("Automatic log-off"),
         description=_(
             "The number of minutes before a user is automatically logged off. "
             "0 disables automatic log-off"),
     )
 ),
 BooleanField(
     'AllowClerksToEditClients',
     schemata="Security",
     default=False,
     widget=BooleanWidget(
         label=_("Allow Lab Clerks to create and edit clients"),
     )
 ),
 BooleanField(
     'RestrictWorksheetUsersAccess',
     schemata="Security",
     default=True,
     widget=BooleanWidget(
         label=_("Allow access to worksheets only to assigned analysts"),
         description=_("If unchecked, analysts will have access to all worksheets.")
     )
 ),
 BooleanField(
     'RestrictWorksheetManagement',
     schemata="Security",
Exemple #22
0
def update_item_schema(baseSchema):

    specificSchema = Schema(
        (
            # specific field for council added for MeetingManagers to transcribe interventions
            TextField(
                name='interventions',
                widget=RichWidget(
                    rows=15,
                    condition=
                    "python: here.portal_type in ('MeetingItemCouncil', 'MeetingItemZCouncil') \
                and (here.portal_plonemeeting.isManager(here) or here.portal_plonemeeting.userIsAmong('powerobservers')\
                or here.portal_plonemeeting.userIsAmong('restrictedpowerobservers'))",
                    label='Interventions',
                    label_msgid='MeetingSeraing_label_interventions',
                    description='Transcription of interventions',
                    description_msgid='MeetingSeraing_descr_interventions',
                    i18n_domain='PloneMeeting',
                ),
                default_content_type="text/html",
                searchable=True,
                allowable_content_types=('text/html', ),
                default_output_type="text/html",
                optional=True,
            ),
            # specific field for mark if this item must be printing in meeting
            BooleanField(
                name='isToPrintInMeeting',
                default=False,
                widget=BooleanField._properties['widget'](
                    description="IsToPrintInMeeting",
                    description_msgid="item_print_in_meeting_descr",
                    label='IsToPrintInMeeting',
                    label_msgid='PloneMeeting_label_item_print_in_meeting',
                    i18n_domain='PloneMeeting',
                ),
            ),
            # specific field for mark pv note
            TextField(
                name='pvNote',
                widget=RichWidget(
                    rows=15,
                    label='PvNote',
                    label_msgid='MeetingSeraing_label_pvNote',
                    description='PV Note',
                    description_msgid='MeetingSeraing_descr_pvNote',
                    i18n_domain='PloneMeeting',
                ),
                default_content_type="text/html",
                default="",
                searchable=True,
                allowable_content_types=('text/html', ),
                default_output_type="text/html",
                write_permission=
                "PloneMeeting: Write item MeetingManager reserved fields",
                read_permission="PloneMeeting: Read item observations",
                optional=True,
            ),
            # specific field for mark dg note
            TextField(
                name='dgNote',
                widget=RichWidget(
                    rows=15,
                    condition=
                    "python: here.portal_plonemeeting.isManager(here)",
                    label='dgnote',
                    label_msgid='MeetingSeraing_label_dgnote',
                    description='DG Note',
                    description_msgid='MeetingSeraing_descr_dgnote',
                    i18n_domain='PloneMeeting',
                ),
                default_content_type="text/html",
                default="",
                searchable=True,
                allowable_content_types=('text/html', ),
                default_output_type="text/html",
                optional=True,
            ),
        ), )

    baseSchema[
        'motivation'].widget.description_msgid = "MeetingSeraing_descr_motivation"

    completeItemSchema = baseSchema + specificSchema.copy()
    return completeItemSchema
Exemple #23
0
from Products.Archetypes.atapi import registerType
from Products.CMFCore.permissions import View

from Products.ATContentTypes.content.base import ATCTOrderedFolder
from Products.ATContentTypes.content.document import finalizeATCTSchema

from Products.ATContentTypes.lib.constraintypes import ConstrainTypesMixinSchema

schema = ATCTOrderedFolder.schema.copy() + ConstrainTypesMixinSchema + Schema((
    StringField('description',
                isMetadata=1,
                accessor='Description',
                searchable=1,                
                widget=TextAreaWidget(label='Description', description='Give a short description for this template.'),),
    BooleanField('showUsage',
                 default = False,
                 widget=BooleanWidget(label='Show template description and instructions', 
                                      description='When checked, a page with instructions for this template will be displayed before the actual template items are created.')),                
    TextField('usage',
                searchable=1,
                required=0,
                primary=1,
                default_output_type = 'text/x-html-safe',
                allowable_content_types=('text/html',),
                widget=RichWidget(allow_file_upload=0, label='Instructions for the user', 
                                  allow_format_edit=0,
                                  description="")),
        ))

finalizeATCTSchema(schema)

class Template(ATCTOrderedFolder):
Exemple #24
0
        default = 0,
        validators = (validators.POSITIVE_NUMBER_VALIDATOR_NAME, ),
        widget = IntegerWidget(
            label = "Maximum number of attempts",
            label_msgid = "label_max_tries",
            description = "Maximum number of attempts, 0 means unlimited",
            description_msgid = "help_max_tries",
            i18n_domain = config.I18N_DOMAIN,
        ),
    ),

    BooleanField('wrapAnswer',
        default=True,
        widget=BooleanWidget(
            label="Enable word wrap in the Answer text area",
            description="If selected, text entered in the Answer field will be word-wrapped.  Disable word wrap if students are supposed to enter program code or similar notations.",
            label_msgid='label_wrapAnswer',
            description_msgid='help_wrapAnswer',
            i18n_domain=config.I18N_DOMAIN,
        ),
    ),

    BooleanField('sendNotificationEmail',
        default=False,
        widget=BooleanWidget(
            label="Send notification e-mail messages",
            description="If selected, the owner of this assignment box will receive an e-mail message each time an assignment is submitted.",
            label_msgid='label_sendNotificationEmail',
            description_msgid='help_sendNotificationEmail',
            i18n_domain=config.I18N_DOMAIN,
        ),
    ),
Exemple #25
0
            storage=AnnotationStorage(migrate=True),
            validators=('isTidyHtmlWithCleanup', ),
            # validators=('isTidyHtml',),
            default_output_type='text/x-html-safe',
            widget=TinyMCEWidget(
                description='',
                label=_(u'label_body_text', default=u'Body Text'),
                rows=25,
                allow_file_upload=zconf.ATDocument.allow_document_upload),
        ),
        BooleanField(
            'tableContents',
            required=False,
            languageIndependent=True,
            widget=BooleanWidget(
                label=_(u'help_enable_table_of_contents',
                        default=u'Table of contents'),
                description=_(
                    u'help_enable_table_of_contents_description',
                    default=u'If selected, this will show a table of contents '
                    u'at the top of the page.')),
        )),
    marshall=RFC822Marshaller())

ATDocumentSchema['description'].widget.label = \
    _(u'label_summary', default=u'Summary')

finalizeATCTSchema(ATDocumentSchema)
# moved schema setting after finalizeATCTSchema, so the order of the fieldsets
# is preserved
ATDocumentSchema.changeSchemataForField('tableContents', 'settings')
Exemple #26
0
     default_output_type='text/x-html-safe',
     write_permission=ChangeTopics,
     widget=RichWidget(
         description='',
         label=_(u'label_body_text', default=u'Body Text'),
         rows=25,
         allow_file_upload=zconf.ATDocument.allow_document_upload),
 ),
 BooleanField(
     'acquireCriteria',
     required=False,
     mode="rw",
     default=False,
     write_permission=ChangeTopics,
     widget=BooleanWidget(
         label=_(u'label_inherit_criteria', default=u'Inherit Criteria'),
         description=_(
             u'help_inherit_collection_criteria',
             default=
             u"Narrow down the search results from the parent Collection(s) "
             "by using the criteria from this Collection."),
         # Only show when the parent object is a Topic also,
         condition="python:object.aq_parent.portal_type == 'Topic'"),
 ),
 BooleanField(
     'limitNumber',
     required=False,
     mode="rw",
     default=False,
     write_permission=ChangeTopics,
     widget=BooleanWidget(
         label=_(u'label_limit_number', default=u'Limit Search Results'),
                    label_msgid='EEAEnquiry_label_city',
                    i18n_domain='EEAEnquiry',
                )),
    StringField(name='region',
                widget=StringWidget(
                    description="Please enter your state or region.",
                    label='Region',
                    label_msgid='EEAEnquiry_label_region',
                    description_msgid='EEAEnquiry_help_region',
                    i18n_domain='EEAEnquiry',
                )),
    BooleanField(
        name='subscribed',
        default=True,
        widget=BooleanWidget(
            label=("I would like to receive email notifications on free to "
                   "download reports and other products published by EEA"),
            label_msgid='EEAEnquiry_label_subscribed',
            i18n_domain='EEAEnquiry',
        )),
    ReferenceField(name='enquiries',
                   widget=ReferenceWidget(
                       label='Enquiries',
                       label_msgid='EEAEnquiry_label_enquiries',
                       i18n_domain='EEAEnquiry',
                   ),
                   allowed_types=('Enquiry', ),
                   multiValued=1,
                   relationship='enquiries'),
), )
Exemple #28
0
 IntegerField(
     'AutoLogOff',
     schemata="Security",
     required=1,
     default=0,
     widget=IntegerWidget(
         label=_("Automatic log-off"),
         description=_(
             "The number of minutes before a user is automatically logged off. "
             "0 disables automatic log-off"),
     )),
 BooleanField(
     'RestrictWorksheetUsersAccess',
     schemata="Security",
     default=True,
     widget=BooleanWidget(
         label=_("Allow access to worksheets only to assigned analysts"),
         description=_(
             "If unchecked, analysts will have access to all worksheets."))
 ),
 BooleanField(
     'AllowToSubmitNotAssigned',
     schemata="Security",
     default=True,
     widget=BooleanWidget(
         label=_("Allow to submit results for unassigned analyses or for "
                 "analyses assigned to others"),
         description=_(
             "If unchecked, users will only be able to submit results "
             "for the analyses they are assigned to, and the submission of "
             "results for unassigned analyses won't be permitted. This "
Exemple #29
0
from Products.ATContentTypes import ATCTMessageFactory as _
from Products.ATContentTypes.criteria import FIELD_INDICES
from Products.ATContentTypes.criteria import registerCriterion
from Products.ATContentTypes.criteria.base import ATBaseCriterion
from Products.ATContentTypes.criteria.schemata import ATBaseCriterionSchema
from Products.ATContentTypes.interfaces import IATTopicSearchCriterion
from Products.ATContentTypes.permission import ChangeTopics
from Products.CMFCore.permissions import View
from zope.interface import implements

ATBooleanCriterionSchema = ATBaseCriterionSchema + Schema((BooleanField(
    'bool',
    required=1,
    mode="rw",
    write_permission=ChangeTopics,
    default=None,
    widget=BooleanWidget(label=_(u'label_boolean_criteria_bool',
                                 default=u'Value'),
                         description=_(u'help_boolean_criteria_bool',
                                       default=u'True or false')),
), ))


class ATBooleanCriterion(ATBaseCriterion):
    """A boolean criterion"""

    implements(IATTopicSearchCriterion)

    security = ClassSecurityInfo()
    schema = ATBooleanCriterionSchema
    meta_type = 'ATBooleanCriterion'
    def formatted_value(self, value):
        """ Format value from temporal widget
        """
        try:
            return "\n".join(grouped_coverage(value))
        except ValueError:
            return "\n".join(value)


PRODUCT_SCHEMA = Schema((
    # DEFAULT =================================================================
    BooleanField(
        name='isValidatedDataset',
        schemata="default",
        widget=BooleanWidget(
            label=("Is Validated Dataset"),
            description=("Check this only if dataset is validated.")
        ),
    ),
    StringField(
        name='notValidatedCustomText',
        widget=StringWidget(
            label="Custom text for not validated",
            description=(
                "If this dataset is not validated you can set a "
                "custom label text here."),
            i18n_domain='eea',
        ),
        default="",
        searchable=False,
        schemata="default",