Пример #1
0
    def test_title(self):
        dummy = self._dummy
        field = dummy.getField('title')

        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.required == 1)
        self.assertTrue(field.default == '')
        self.assertTrue(field.searchable == 1)
        self.assertTrue(field.vocabulary == ())
        self.assertTrue(field.enforceVocabulary == 0)
        self.assertTrue(field.multiValued == 0)
        self.assertTrue(field.isMetadata == 0)
        self.assertTrue(field.accessor == 'Title')
        self.assertTrue(field.mutator == 'setTitle')
        self.assertTrue(field.read_permission == permissions.View)
        self.assertTrue(
            field.write_permission == permissions.ModifyPortalContent)
        self.assertTrue(field.generateMode == 'veVc')
        self.assertTrue(field.force == '')
        self.assertTrue(field.type == 'string')
        self.assertTrue(isinstance(field.storage, atapi.AttributeStorage))
        self.assertTrue(
            field.getLayerImpl('storage') == atapi.AttributeStorage())
        self.assertTrue(field.validators == ())
        self.assertTrue(isinstance(field.widget, atapi.StringWidget))
        vocab = field.Vocabulary(dummy)
        self.assertTrue(isinstance(vocab, atapi.DisplayList))
        self.assertTrue(tuple(vocab) == ())
Пример #2
0
class TaggableExtender(object):
    adapts(ITaggable)
    implements(ISchemaExtender, IBrowserLayerAwareExtender)

    fields = []
    layer = IFtwTaggingLayer

    fields.append(
        LinesExtensionField(
            'tags',
            multiValued=True,
            languageIndependent=False,
            vocabulary_factory="tags",
            accessor='tags',
            vocab_source='special_tag_source',

            # This is necessary to make the field indexable
            storage=atapi.AttributeStorage(),
            widget=atapi.KeywordWidget(
                label=_(u"label_taggable_extender_tags", default=u"Tags"),
                description=_(u"help_taggable_extender_tags", default=u""),
                vocab_source='special_tag_source',
                roleBasedAdd=False,
            ),
        ), )

    def __init__(self, context):
        self.context = context

    def getFields(self):
        return self.fields
Пример #3
0
class ProgrammeFields(grok.Adapter):

    # This applies to all AT Content Types, change this to
    # the specific content type interface you want to extend
    grok.context(IProgrammeFieldsEnabled)
    grok.name('wcc.programmeplanner.programmefields')
    grok.implements(IOrderableSchemaExtender, IBrowserLayerAwareExtender)
    grok.provides(IOrderableSchemaExtender)

    layer = IProductSpecific

    fields = [
        # add your extension fields here
        ExtensionStringField(
            'event_type',
            vocabulary_factory='wcc.programmeplanner.event_type',
            storage=atapi.AttributeStorage(),
            widget=atapi.SelectionWidget(label=u'Event Type'),
            required=False,
            schemata='default'),
        ExtensionStringField(
            'focus_group',
            vocabulary_factory='wcc.programmeplanner.focus_group',
            storage=atapi.AttributeStorage(),
            widget=atapi.SelectionWidget(label=u'Focus Group', ),
            required=False,
            schemata='default')
    ]

    def __init__(self, context):
        self.context = context

    def getFields(self):
        return self.fields

    def getOrder(self, schematas):
        # you may reorder the fields in the schemata here
        return schematas
Пример #4
0
    def test_endDateField(self):
        dummy = self._dummy
        field = dummy.getField('endDate')

        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.required == 1, 'Value is %s' % field.required)
        self.assertTrue(field.default is None, 'Value is %s' %
                        str(field.default))
        self.assertTrue(field.default_method == DateTime,
                        'Value is %s' % str(field.default_method))
        self.assertTrue(field.searchable is False,
                        'Value is %s' % field.searchable)
        self.assertTrue(field.vocabulary == (),
                        'Value is %s' % str(field.vocabulary))
        self.assertTrue(field.enforceVocabulary == 0,
                        'Value is %s' % field.enforceVocabulary)
        self.assertTrue(field.multiValued == 0,
                        'Value is %s' % field.multiValued)
        self.assertTrue(field.isMetadata == 0, 'Value is %s' %
                        field.isMetadata)
        self.assertTrue(field.accessor == 'end',
                        'Value is %s' % field.accessor)
        self.assertTrue(field.mutator == 'setEndDate',
                        'Value is %s' % field.mutator)
        self.assertTrue(field.read_permission == View,
                        'Value is %s' % field.read_permission)
        self.assertTrue(field.write_permission ==
                        ModifyPortalContent,
                        'Value is %s' % field.write_permission)
        self.assertTrue(field.generateMode == 'veVc',
                        'Value is %s' % field.generateMode)
        self.assertTrue(field.force == '', 'Value is %s' % field.force)
        self.assertTrue(field.type == 'datetime', 'Value is %s' % field.type)
        self.assertTrue(isinstance(field.storage, atapi.AttributeStorage),
                        'Value is %s' % type(field.storage))
        self.assertTrue(
            field.getLayerImpl('storage') == atapi.AttributeStorage(),
            'Value is %s' % field.getLayerImpl('storage'))
        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.validators == (),
                        'Value is %s' % str(field.validators))
        self.assertTrue(isinstance(field.widget, atapi.DatetimeWidget),
                        'Value is %s' % id(field.widget))
        vocab = field.Vocabulary(dummy)
        self.assertTrue(isinstance(vocab, atapi.DisplayList),
                        'Value is %s' % type(vocab))
        self.assertTrue(tuple(vocab) == (), 'Value is %s' % str(tuple(vocab)))
Пример #5
0
    def test_remoteUrlField(self):
        dummy = self._dummy
        field = dummy.getField('remoteUrl')

        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.required == 1, 'Value is %s' % field.required)
        self.assertTrue(field.default == 'http://',
                        'Value is %s' % str(field.default))
        self.assertTrue(field.searchable == 1,
                        'Value is %s' % field.searchable)
        self.assertTrue(field.vocabulary == (),
                        'Value is %s' % str(field.vocabulary))
        self.assertTrue(field.enforceVocabulary == 0,
                        'Value is %s' % field.enforceVocabulary)
        self.assertTrue(field.multiValued == 0,
                        'Value is %s' % field.multiValued)
        self.assertTrue(field.isMetadata == 0,
                        'Value is %s' % field.isMetadata)
        self.assertTrue(field.accessor == 'getRemoteUrl',
                        'Value is %s' % field.accessor)
        self.assertTrue(field.mutator == 'setRemoteUrl',
                        'Value is %s' % field.mutator)
        self.assertTrue(field.read_permission == View,
                        'Value is %s' % field.read_permission)
        self.assertTrue(field.write_permission == ModifyPortalContent,
                        'Value is %s' % field.write_permission)
        self.assertTrue(field.generateMode == 'veVc',
                        'Value is %s' % field.generateMode)
        self.assertTrue(field.force == '', 'Value is %s' % field.force)
        self.assertTrue(field.type == 'string', 'Value is %s' % field.type)
        self.assertTrue(isinstance(field.storage, atapi.AttributeStorage),
                        'Value is %s' % type(field.storage))
        self.assertTrue(
            field.getLayerImpl('storage') == atapi.AttributeStorage(),
            'Value is %s' % field.getLayerImpl('storage'))
        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.validators == (),
                        'Value is %s' % str(field.validators))
        self.assertTrue(isinstance(field.widget, atapi.StringWidget),
                        'Value is %s' % id(field.widget))
        vocab = field.Vocabulary(dummy)
        self.assertTrue(isinstance(vocab, atapi.DisplayList),
                        'Value is %s' % type(vocab))
        self.assertTrue(tuple(vocab) == (), 'Value is %s' % str(tuple(vocab)))
        self.assertTrue(field.primary == 1, 'Value is %s' % field.primary)
Пример #6
0
    def test_limitNumberField(self):
        dummy = self._dummy
        field = dummy.getField('limitNumber')
        field_vocab = BooleanField._properties.get('vocabulary', ())

        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.required == 0, 'Value is %s' % field.required)
        self.assertFalse(field.default, 'Value is %s' % str(field.default))
        self.assertTrue(field.searchable == 0,
                        'Value is %s' % field.searchable)
        self.assertTrue(field.vocabulary == field_vocab,
                        'Value is %s' % str(field.vocabulary))
        self.assertTrue(field.enforceVocabulary == 0,
                        'Value is %s' % field.enforceVocabulary)
        self.assertTrue(field.multiValued == 0,
                        'Value is %s' % field.multiValued)
        self.assertTrue(field.isMetadata == 0,
                        'Value is %s' % field.isMetadata)
        self.assertTrue(field.accessor == 'getLimitNumber',
                        'Value is %s' % field.accessor)
        self.assertTrue(field.mutator == 'setLimitNumber',
                        'Value is %s' % field.mutator)
        self.assertTrue(field.read_permission == View,
                        'Value is %s' % field.read_permission)
        self.assertTrue(field.write_permission == ChangeTopics,
                        'Value is %s' % field.write_permission)
        self.assertTrue(field.generateMode == 'veVc',
                        'Value is %s' % field.generateMode)
        self.assertTrue(field.force == '', 'Value is %s' % field.force)
        self.assertTrue(field.type == 'boolean', 'Value is %s' % field.type)
        self.assertTrue(isinstance(field.storage, atapi.AttributeStorage),
                        'Value is %s' % type(field.storage))
        self.assertTrue(
            field.getLayerImpl('storage') == atapi.AttributeStorage(),
            'Value is %s' % field.getLayerImpl('storage'))
        self.assertTrue(field.validators == EmptyValidator,
                        'Value is %s' % str(field.validators))
        self.assertTrue(isinstance(field.widget, atapi.BooleanWidget),
                        'Value is %s' % id(field.widget))
        vocab = field.Vocabulary(dummy)
        self.assertTrue(isinstance(vocab, atapi.DisplayList),
                        'Value is %s' % type(vocab))
        self.assertTrue(
            tuple(vocab) == tuple([x[0] for x in field_vocab]),
            'Value is %s' % str(tuple(vocab)))
Пример #7
0
    def test_customViewField(self):
        # XXX not in the current version
        return
        dummy = self._dummy
        field = dummy.getField('customView')

        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.required == 0, 'Value is %s' % field.required)
        self.assertFalse(field.default, 'Value is %s' % str(field.default))
        self.assertTrue(field.searchable == 0,
                        'Value is %s' % field.searchable)
        self.assertTrue(field.vocabulary == (),
                        'Value is %s' % str(field.vocabulary))
        self.assertTrue(field.enforceVocabulary == 0,
                        'Value is %s' % field.enforceVocabulary)
        self.assertTrue(field.multiValued == 0,
                        'Value is %s' % field.multiValued)
        self.assertTrue(field.isMetadata == 0,
                        'Value is %s' % field.isMetadata)
        self.assertTrue(field.accessor == 'getCustomView',
                        'Value is %s' % field.accessor)
        self.assertTrue(field.mutator == 'setCustomView',
                        'Value is %s' % field.mutator)
        self.assertTrue(field.read_permission == View,
                        'Value is %s' % field.read_permission)
        self.assertTrue(field.write_permission == ChangeTopics,
                        'Value is %s' % field.write_permission)
        self.assertTrue(field.generateMode == 'veVc',
                        'Value is %s' % field.generateMode)
        self.assertTrue(field.force == '', 'Value is %s' % field.force)
        self.assertTrue(field.type == 'boolean', 'Value is %s' % field.type)
        self.assertTrue(isinstance(field.storage, atapi.AttributeStorage),
                        'Value is %s' % type(field.storage))
        self.assertTrue(
            field.getLayerImpl('storage') == atapi.AttributeStorage(),
            'Value is %s' % field.getLayerImpl('storage'))
        self.assertTrue(field.validators == EmptyValidator,
                        'Value is %s' % str(field.validators))
        self.assertTrue(isinstance(field.widget, atapi.BooleanWidget),
                        'Value is %s' % id(field.widget))
        vocab = field.Vocabulary(dummy)
        self.assertTrue(isinstance(vocab, atapi.DisplayList),
                        'Value is %s' % type(vocab))
        self.assertTrue(tuple(vocab) == (), 'Value is %s' % str(tuple(vocab)))
Пример #8
0
    def test_customViewFieldsField(self):
        # XXX not in the current version
        return
        dummy = self._dummy
        field = dummy.getField('customViewFields')

        self.assertTrue(ILayerContainer.providedBy(field))
        self.assertTrue(field.required == 0, 'Value is %s' % field.required)
        self.assertTrue(field.default == ('Title',), 'Value is %s' % str(field.default))
        self.assertTrue(field.searchable == 0, 'Value is %s' % field.searchable)
        self.assertTrue(field.vocabulary == 'listMetaDataFields',
                        'Value is %s' % str(field.vocabulary))
        self.assertTrue(field.enforceVocabulary == True,
                        'Value is %s' % field.enforceVocabulary)
        self.assertTrue(field.multiValued == 0,
                        'Value is %s' % field.multiValued)
        self.assertTrue(field.isMetadata == 0, 'Value is %s' % field.isMetadata)
        self.assertTrue(field.accessor == 'getCustomViewFields',
                        'Value is %s' % field.accessor)
        self.assertTrue(field.mutator == 'setCustomViewFields',
                        'Value is %s' % field.mutator)
        self.assertTrue(field.read_permission == View,
                        'Value is %s' % field.read_permission)
        self.assertTrue(field.write_permission == ChangeTopics,
                        'Value is %s' % field.write_permission)
        self.assertTrue(field.generateMode == 'veVc',
                        'Value is %s' % field.generateMode)
        self.assertTrue(field.force == '', 'Value is %s' % field.force)
        self.assertTrue(field.type == 'lines', 'Value is %s' % field.type)
        self.assertTrue(isinstance(field.storage, atapi.AttributeStorage),
                        'Value is %s' % type(field.storage))
        self.assertTrue(field.getLayerImpl('storage') == atapi.AttributeStorage(),
                        'Value is %s' % field.getLayerImpl('storage'))
        self.assertTrue(field.validators == EmptyValidator,
                        'Value is %s' % str(field.validators))
        self.assertTrue(isinstance(field.widget, atapi.InAndOutWidget),
                        'Value is %s' % id(field.widget))
Пример #9
0
 #            label=_(u"FacultyStaffDirectory_label_officePhone", default=u"Office Phone"),
 #            description=_(u"FacultyStaffDirectory_description_officePhone", default=u""),
 #            i18n_domain='FacultyStaffDirectory',
 #        ),
 #        schemata="Contact Information",
 #        searchable=True,
 #    ),
 atapi.ImageField(
     name='image',
     schemata="Basic Information",
     widget=atapi.ImageWidget(
         label=_(u"FacultyStaffDirectory_label_image", default=u"Image"),
         i18n_domain='FacultyStaffDirectory',
         default_content_type='image/gif',
     ),
     storage=atapi.AttributeStorage(),
     original_size=(400, 500),
     sizes={
         'thumb': (100, 125),
         'normal': (200, 250)
     },
     default_output_type='image/jpeg',
     allowable_content_types=('image/gif', 'image/jpeg', 'image/png'),
 ),
 atapi.ComputedField(name='title',
                     widget=atapi.ComputedWidget(
                         label=_(u"FacultyStaffDirectory_label_fullName",
                                 default=u"Full Name"),
                         visible={
                             'edit': 'invisible',
                             'view': 'visible'
class SliderImage(grok.Adapter):

    # This applies to all AT Content Types, change this to
    # the specific content type interface you want to extend
    grok.context(ISliderFieldsEnabled)
    grok.name('collective.sliderfields.slider_image')
    grok.implements(IOrderableSchemaExtender, IBrowserLayerAwareExtender)
    grok.provides(IOrderableSchemaExtender)

    layer = IProductSpecific

    fields = [
        # add your extension fields here
        ExtensionImageField('slider_image',
                            required=0,
                            languageIndependent=1,
                            pil_quality=100,
                            storage=atapi.AttributeStorage(),
                            schemata='settings',
                            widget=atapi.ImageWidget(
                                label=_(u'slider_image_label',
                                        default=u'Slider Image'),
                                description=_(
                                    u'slider_image_description',
                                    default=u'Upload sliderimage.'))),
        ExtensionStringField(
            'slider_title',
            required=0,
            storage=atapi.AttributeStorage(),
            schemata='settings',
            widget=atapi.StringField._properties['widget'](
                label=_(u'slider_title_label', default=u'Slider Title'),
                description=_(
                    u'slider_title_description',
                    default=(u'If set, the slider will use this title instead'
                             ' of the content title')))),
        ExtensionStringField(
            'slider_description',
            required=0,
            storage=atapi.AttributeStorage(),
            schemata='settings',
            widget=atapi.StringField._properties['widget'](
                label=_(u'slider_description_label',
                        default=u'Slider Description'),
                description=_(
                    u'slider_description_description',
                    default=(
                        u'If set, the slider will use this description instead'
                        ' of the content description')),
            ))
    ]

    def __init__(self, context):
        self.context = context

    def getFields(self):
        return self.fields

    def getOrder(self, schematas):
        # you may reorder the fields in the schemata here
        return schematas