def afterSetUp(self):
        from Products.OrderableReferenceField import OrderableReferenceField
        self.field = OrderableReferenceField('aField', relationship='aField')
        self.folder.validate_field = lambda *args, **kw: None

        self.folder.invokeFactory('Document', 'd1')
        self.folder.invokeFactory('Document', 'd2')
class OrderableReferenceFieldTest(TestCase):

    def afterSetUp(self):
        from Products.OrderableReferenceField import OrderableReferenceField
        self.field = OrderableReferenceField('aField', relationship='aField')
        self.folder.validate_field = lambda *args, **kw: None

        self.folder.invokeFactory('Document', 'd1')
        self.folder.invokeFactory('Document', 'd2')

    def test_defaults(self):
        self.assertEquals(self.field.get(self.folder), [])

    def test_getRaw(self):
        self.assertEquals(self.field.getRaw(self.folder), [])
        self.field.set(self.folder, [self.folder.d1.UID()])
        self.assertEquals(self.field.getRaw(self.folder),
                          [self.folder.d1.UID()])

    def test_set(self):
        self.assertEquals(self.field.get(self.folder), [])
        self.field.set(self.folder, [self.folder.d2, self.folder.d1])
        self.assertEquals(self.field.get(self.folder),
                          [self.folder.d2, self.folder.d1])
Ejemplo n.º 3
0
            label='Preview image',
            label_msgid="label_preview_image",
        ),
        storage=AttributeStorage(),
        sizes={'normal': (200, 130), },
    ),
    OrderableReferenceField(
        'references',
        languageIndependent=1,
        required=0,
        allowed_types=(),
        multiValued=1,
        relationship='references',
        widget=ReferenceBrowserWidget(
            allow_browse=1,
            allow_search=1,
            allow_sorting=1,
            description='Select one or more remote objects',
            description_msgid='help_references',
            i18n_domain='plonegazette',
            label='References',
            label_msgid='label_references',
            show_indexes=0,
        )
    ),
))


class NewsletterRichReference(BaseContent, PropertyManager):

    portal_type = meta_type = 'NewsletterRichReference'
__author__ = """Jean-Paul Ladage <*****@*****.**>"""
__docformat__ = 'plaintext'

from AccessControl import ClassSecurityInfo
from Products.Archetypes.atapi import *

from Products.OrderableReferenceField.config import *
from Products.OrderableReferenceField import OrderableReferenceField
from Products.OrderableReferenceField import OrderableReferenceWidget


schema = Schema((
    OrderableReferenceField(
        name = 'contact',
        vocabulary_display_path_bound = "-1",
        widget = OrderableReferenceWidget(label='Contact'),
        allowed_types = ('ContactPerson', ),
        multiValued = 1,
        relationship = 'favorite_contact'),
    ),)

Favorite_schema = BaseSchema.copy() + schema.copy()


class MyFavorite(BaseContent):
    """A group of favorite contacts
    """
    security = ClassSecurityInfo()

    archetype_name = meta_type = portal_type = 'MyFavorite'
    schema = Favorite_schema
Ejemplo n.º 5
0
         description=
         "The allowance of extra takes to cater for sitting overrunning",
         label='Extratakes',
         label_msgid='Bungeni_label_ExtraTakes',
         description_msgid='Bungeni_help_ExtraTakes',
         i18n_domain='Bungeni',
     ),
     required=1,
     validators=('isPositiveNumber', )),
 OrderableReferenceField(
     name='AvailableReporters',
     vocabulary='getAvailableReportersVocab',
     widget=OrderableReferenceField._properties['widget'](
         label='Availablereporters',
         label_msgid='Bungeni_label_AvailableReporters',
         i18n_domain='Bungeni',
     ),
     allowed_types=[
         'Staff',
     ],
     relationship="rotatool_availablereporters",
     relation_implementation="basic"),
 RelationField(name='RotaSubscribers',
               widget=ReferenceWidget(
                   label='Rotasubscribers',
                   label_msgid='Bungeni_label_RotaSubscribers',
                   i18n_domain='Bungeni',
               ),
               relationship='rotatool_rotasubscribers',
               multiValued=1,
               vocabulary='getRotaSubscribersVocab',
Ejemplo n.º 6
0
from Products.CMFCore.WorkflowCore import WorkflowException
from Products.CMFCore.utils import getToolByName
from Products.Archetypes.utils import shasattr
from Products.Archetypes.utils import log
##/code-section module-header

copied_fields = {}
copied_fields['title'] = BaseSchema['title'].copy()
copied_fields['title'].default_method = "defaultTitle"
schema = Schema((
    OrderableReferenceField(
        name='ReportersForSitting',
        vocabulary='getReportersForSittingVocab',
        widget=OrderableReferenceField._properties['widget'](
            macro_edit="reportersforsitting_edit",
            label='Reportersforsitting',
            label_msgid='Bungeni_label_ReportersForSitting',
            i18n_domain='Bungeni',
        ),
        allowed_types=['Staff'],
        relationship="rotafolder_reportersforsitting",
        relation_implementation="basic"),
    ComputedField(name='RotaFrom',
                  widget=ComputedField._properties['widget'](
                      label='Rotafrom',
                      label_msgid='Bungeni_label_RotaFrom',
                      i18n_domain='Bungeni',
                  )),
    ComputedField(name='RotaTo',
                  widget=ComputedField._properties['widget'](
                      label='Rotato',
                      label_msgid='Bungeni_label_RotaTo',
Ejemplo n.º 7
0
        enforce_vocabulary=True,
        widget=atapi.SelectionWidget(
            label=_(u"Functional Area Code"),
            description=_(
                u"The department or function that governs this content"),
        ),
        required=True,
    ),
    OrderableReferenceField(
        name="childItems",
        schemata="categorization",
        relationship='children',
        allowed_types=(
            'Howto',
            'Form',
        ),
        multiValued=1,
        vocabulary_display_path_bound=None,
        widget=OrderableReferenceWidget(
            label=_(u"Child Items"),
            description=
            _(u"Items which will be rendered as children of this object in the TOC and printed versions of manuals."
              ),
        )),
))

# Set storage on fields copied from ATDocumentSchema, making sure
# they work well with the python bridge properties.
ProcedureSchema['title'].storage = atapi.AnnotationStorage()
ProcedureSchema['description'].storage = atapi.AnnotationStorage()

# Hide some fields
Ejemplo n.º 8
0
                default=(
                    u"Tags can be used to add arbitrary categorisation to "
                    u"issues. The list below shows existing tags which "
                    u"you can select, or you can add new ones.")),
        ),
        searchable=True,
        vocabulary='getTagsVocab',
        enforceVocabulary=False,
        write_permission=permissions.ModifyIssueTags,
        accessor="Subject"
    ),

    OrderableReferenceField('relatedIssue',
        multiValued=1,
        relationship='related_issue',
        allowed_types=('PoiIssue'),
        widget=IssueReferenceWidget(
            label=('Related issue(s)'),
            description='Link related issues')),

))

PoiIssue_schema = BaseFolderSchema.copy() + \
    schema.copy()
PoiIssue_schema.moveField('subject', after='watchers')


class PoiIssue(BaseFolder, BrowserDefaultMixin):
    """The default tracker
    """
    _at_rename_after_creation = True