示例#1
0
class IUser(IFolder, IPrincipal):

    username = schema.TextLine(title=_("Username"), required=False)

    index_field("email", index_name="user_email", type="keyword")
    email = schema.TextLine(title=_("Email"), required=False)

    index_field("name", index_name="user_name", type="textkeyword")
    name = schema.TextLine(title=_("Name"), required=False)

    read_permission(password="******")
    password = schema.TextLine(title=_("Password"), required=False)

    write_permission(user_groups="guillotina.ManageUsers")
    user_groups = schema.List(title=_("Groups"),
                              value_type=schema.TextLine(),
                              required=False)

    write_permission(user_roles="guillotina.ManageUsers")
    index_field("user_roles", type="textkeyword")
    user_roles = schema.List(title=_("Roles"),
                             value_type=schema.TextLine(),
                             required=False)

    write_permission(user_permissions="guillotina.ManageUsers")
    user_permissions = schema.List(title=_("Permissions"),
                                   value_type=schema.TextLine(),
                                   required=False,
                                   default=[])

    write_permission(disabled="guillotina.ManageUsers")
    index_field("disabled", type="boolean")
    disabled = schema.Bool(title=_("Disabled"), default=False)

    properties = schema.Dict(required=False, default={})
示例#2
0
class IUser(IFolder):

    username = schema.TextLine(title=_('Username'), required=False)

    email = schema.TextLine(title=_('Email'), required=False)

    name = schema.TextLine(title=_('Name'), required=False)

    password = schema.TextLine(title=_('Password'), required=False)

    user_groups = schema.List(title=_('Groups'),
                              value_type=schema.TextLine(),
                              required=False)

    user_roles = schema.List(title=_('Roles'),
                             value_type=schema.TextLine(),
                             required=False)

    user_permissions = schema.List(title=_('Permissions'),
                                   value_type=schema.TextLine(),
                                   required=False,
                                   default=[])

    disabled = schema.Bool(title=_('Disabled'), default=False)

    properties = schema.Dict(required=False, default={})
示例#3
0
class IGroup(IFolder):

    name = schema.TextLine(title=_("Group name"), required=False)
    description = schema.TextLine(title=_("Group Description"), required=False)
    user_roles = schema.List(title=_("Roles"),
                             value_type=schema.TextLine(),
                             required=False)
    users = schema.List(title=_("Users"),
                        value_type=schema.TextLine(),
                        required=False,
                        default=[])
示例#4
0
class IPatientIndex(interfaces.IItem):
    text = schema.Text()
    first_name = schema.Text()
    last_name = schema.Text()
    middle_names = schema.List(value_type=schema.Text())
    date_of_birth = schema.Date()
    addresses = schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                                   value_type=schema.Text()))
    activities = schema.List(value_type=schema.Dict(
        key_type=schema.Text(), value_type=schema.Text()), )
    id_data = schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                                 value_type=schema.Text()))
示例#5
0
class ISyndicationSettings(Interface):

    max_items = schema.Int(
        title="Maximum items",
        description="Maximum number of items that will be syndicated.",
        default=15,
    )

    sort_on = schema.Choice(
        title="Sort on",
        default="creation_date",
        source=AppSettingSource(
            "syndication.sort_on",
            missing=[
                ["creation_date", "Publication Date"],
                ["effective_date", "Publication Date"],
                ["modification_date", "Modification Date"],
            ],
        ),
    )

    sort_reverse = schema.Bool(title="Reverse sort",
                               description="Order items in reverse order",
                               default=True)

    categories = schema.List(
        title="Categories",
        description="(not used with all feed types)",
        value_type=schema.TextLine(),
        default=[],
        required=False,
        missing_value=[],
    )
示例#6
0
class ICMSBehavior(Interface):

    index_field('hidden_navigation', type='boolean')
    fieldset('hidden_navigation', 'settings')
    hidden_navigation = schema.Bool(title='Should be hidden on navigation',
                                    required=False,
                                    default=False)

    index_field('language', type='keyword')
    fieldset('language', 'categorization')
    language = schema.Choice(title='Language',
                             required=False,
                             source='languages')

    index_field('content_layout', type='keyword')
    fieldset('content_layout', 'settings')
    content_layout = schema.Choice(title='Content Layout',
                                   required=False,
                                   source='content_layouts',
                                   default='default')

    index_field('position_in_parent', type='int')
    position = schema.Int(title='Position in parent', required=False)

    index_field('review_state', type='keyword')
    review_state = schema.Choice(readonly=True,
                                 title='Workflow review state',
                                 required=False,
                                 source='worklow_states')

    history = schema.List(title='History list',
                          readonly=True,
                          required=False,
                          value_type=schema.JSONField(title='History element',
                                                      schema=HISTORY_SCHEMA))
示例#7
0
class IExample(IResource):

    metadata("categories")

    index_field("boolean_field", type="boolean")
    boolean_field = schema.Bool(required=False)

    index_field("categories", field_mapping=CATEGORIES_MAPPING)
    categories = schema.List(title="categories",
                             default=[],
                             value_type=schema.JSONField(title="term",
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine(title="kk",
                                     widget="testing",
                                     required=False)
    text_field = schema.Text(required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
    jsonfield_value = schema.JSONField(schema={"type": "array"},
                                       required=False)
    write_permission(write_protected="example.MyPermission")
    write_protected = schema.TextLine(title="Write protected field",
                                      required=False)

    default_factory_test = schema.Text(defaultFactory=lambda: "foobar")

    context_default_factory_test = schema.Text(
        defaultFactory=ContextDefaultFactory())
示例#8
0
class IGroup(IFolder):

    name = schema.TextLine(title=_('Group name'), required=False)

    user_roles = schema.List(title=_('Roles'),
                             value_type=schema.TextLine(),
                             required=False)
示例#9
0
def test_all(dummy_request):
    mapping = [
        (schema.Object(schema=IResource),
         serialize_schema_field.DefaultSchemaFieldSerializer),
        (schema.Text(),
         serialize_schema_field.DefaultTextSchemaFieldSerializer),
        (schema.TextLine(),
         serialize_schema_field.DefaultTextLineSchemaFieldSerializer),
        (schema.Float(),
         serialize_schema_field.DefaultFloatSchemaFieldSerializer),
        (schema.Int(), serialize_schema_field.DefaultIntSchemaFieldSerializer),
        (schema.Bool(),
         serialize_schema_field.DefaultBoolSchemaFieldSerializer),
        (schema.List(),
         serialize_schema_field.DefaultCollectionSchemaFieldSerializer),
        (schema.Choice(values=('one', 'two')),
         serialize_schema_field.DefaultChoiceSchemaFieldSerializer),
        (schema.Object(schema=IResource),
         serialize_schema_field.DefaultObjectSchemaFieldSerializer),
        (RichText(),
         serialize_schema_field.DefaultRichTextSchemaFieldSerializer),
        (schema.Date(),
         serialize_schema_field.DefaultDateSchemaFieldSerializer),
        (schema.Time(),
         serialize_schema_field.DefaultTimeSchemaFieldSerializer),
        (schema.Dict(),
         serialize_schema_field.DefaultDictSchemaFieldSerializer),
        (schema.Datetime(),
         serialize_schema_field.DefaultDateTimeSchemaFieldSerializer),
    ]
    container = Container()
    for field, klass in mapping:
        adapter = getMultiAdapter((field, container, dummy_request),
                                  interface=ISchemaFieldSerializeToJson)
        assert isinstance(adapter, klass)
示例#10
0
class ISyndicationSettings(Interface):

    max_items = schema.Int(
        title='Maximum items',
        description='Maximum number of items that will be syndicated.',
        default=15)

    sort_on = schema.Choice(
        title='Sort on',
        default='creation_date',
        source=AppSettingSource(
            'syndication.sort_on',
            missing=[
                ['creation_date', 'Publication Date'],
                ['effective_date', 'Publication Date'],
                ['modification_date', 'Modification Date']
            ]
        )
    )

    sort_reverse = schema.Bool(
        title='Reverse sort',
        description='Order items in reverse order',
        default=True)

    categories = schema.List(
        title='Categories',
        description='(not used with all feed types)',
        value_type=schema.TextLine(),
        default=[],
        required=False,
        missing_value=[]
    )
示例#11
0
class IExample(IResource):

    metadata('categories')

    index_field('boolean_field', type='boolean')
    boolean_field = schema.Bool(required=False)

    index_field('categories', field_mapping=CATEGORIES_MAPPING)
    categories = schema.List(title='categories',
                             default=[],
                             value_type=schema.JSONField(title='term',
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine(title='kk',
                                     widget='testing',
                                     required=False)
    text_field = schema.Text(required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)

    write_permission(write_protected='example.MyPermission')
    write_protected = schema.TextLine(
        title='Write protected field',
        required=False,
    )

    default_factory_test = schema.Text(defaultFactory=lambda: 'foobar')

    context_default_factory_test = schema.Text(
        defaultFactory=ContextDefaultFactory())
示例#12
0
class IGutenberg(Interface):

    fieldset_field("gutenberg", "default")
    gutenberg = schema.List(
        title="Gutenberg list object",
        required=False,
        default=[],
        value_type=schema.JSONField(title="Element Gutenberg", schema=GUTENBERG_SCHEMA),
    )
示例#13
0
class IGroup(IFolder):
    index_field("name", index_name="group_name", type="textkeyword")
    name = schema.TextLine(title=_("Group name"), required=False)

    description = schema.TextLine(title=_("Group Description"), required=False)

    index_field("user_roles",
                index_name="group_user_roles",
                type="textkeyword")
    user_roles = schema.List(title=_("Roles"),
                             value_type=schema.TextLine(),
                             required=False)

    index_field("users", index_name="group_users", type="textkeyword")
    users = schema.List(title=_("Users"),
                        value_type=schema.TextLine(),
                        required=False,
                        default=[])
示例#14
0
class ICMSBehavior(Interface):

    index_field("is_folderish", store=True, type="boolean")
    is_folderish = schema.Bool(title="Is a folderish object", readonly=True)

    index_field("hidden_navigation", store=True, type="boolean")
    fieldset("hidden_navigation", "settings")
    hidden_navigation = schema.Bool(title="Should be hidden on navigation",
                                    required=False,
                                    default=False)

    index_field("language", store=True, type="keyword")
    fieldset("language", "categorization")
    language = schema.Choice(title="Language",
                             required=False,
                             source="languages")

    index_field("content_layout", store=True, type="keyword")
    fieldset("content_layout", "settings")
    content_layout = schema.Choice(title="Content Layout",
                                   required=False,
                                   source="content_layouts",
                                   default="default")

    fieldset("allow_discussion", "settings")
    allow_discussion = schema.Bool(title="Allow discussion",
                                   required=False,
                                   default=False)

    # not absolute positioning, just a relative positioning
    # based on ordered numbers. It won't be numbers like 1,2,3,4,5,etc
    index_field("position_in_parent", type="int")
    position_in_parent = schema.Int(title="Position in parent",
                                    default=-1,
                                    required=False)

    index_field("review_state", store=True, type="keyword")
    review_state = schema.Choice(readonly=True,
                                 title="Workflow review state",
                                 required=False,
                                 source="worklow_states")

    history = schema.List(
        title="History list",
        readonly=True,
        required=False,
        value_type=schema.JSONField(title="History element",
                                    schema=HISTORY_SCHEMA),
    )

    comments = schema.Dict(
        title="Comments list field",
        required=False,
        key_type=schema.TextLine(title="CommentID"),
        value_type=schema.JSONField(title="Comment", schema=DISCUSSION_SCHEMA),
    )
示例#15
0
class ITestSchema(Interface):

    text = schema.TextLine(required=False)
    integer = schema.Int(required=False)
    floating = schema.Float(required=False)
    list_of_text = schema.List(value_type=schema.TextLine(), required=False)
    tuple_of_text = schema.Tuple(value_type=schema.TextLine(), required=False)
    set_of_text = schema.Set(value_type=schema.TextLine(), required=False)
    frozenset_of_text = schema.FrozenSet(value_type=schema.TextLine(),
                                         required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
    date = schema.Date(required=False)
    time = schema.Time(required=False)

    patch_list = fields.PatchField(
        schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                           value_type=schema.Text()),
                    required=False))
    patch_dict = fields.PatchField(schema.Dict(key_type=schema.Text(),
                                               value_type=schema.Text()),
                                   required=False)

    bucket_list = fields.BucketListField(bucket_len=10,
                                         required=False,
                                         value_type=schema.Dict(
                                             key_type=schema.Text(),
                                             value_type=schema.Text()))

    datetime_bucket_list = fields.BucketListField(bucket_len=10,
                                                  required=False,
                                                  value_type=schema.Datetime())

    nested_patch = fields.PatchField(
        schema.Dict(required=False,
                    key_type=schema.Text(),
                    value_type=fields.PatchField(
                        schema.List(value_type=schema.Object(
                            schema=INestFieldSchema)))))
示例#16
0
class IFollowing(Interface):

    index_field("favorites", type="keyword", store=True)

    read_permission(favorites="guillotina.")
    write_permission(favorites="guillotina.NoBody")
    favorites = schema.List(title=u"favorites",
                            default=[],
                            value_type=schema.TextLine(title="follower"))

    favorite = schema.Bool(title=u"Current user has it favorited",
                           default=False)
示例#17
0
class IFollowing(Interface):

    index_field('favorites', type='keyword', store=True)

    read_permission(favorites='guillotina.')
    write_permission(favorites='guillotina.NoBody')
    favorites = schema.List(title=u'favorites',
                            default=[],
                            value_type=schema.TextLine(title='follower'))

    favorite = schema.Bool(title=u'Current user has it favorited',
                           default=False)
示例#18
0
class IDynamicType(Interface):
    '''
    Used to dynamicly bind data to validate
    new values against
    '''
    date = schema.Datetime(required=False)
    text = schema.Text(required=False)
    integer = schema.Int(required=False)
    float = schema.Float(required=False)
    boolean = schema.Bool(required=False)
    keyword = schema.UnionField(schema.List(required=False,
                                            value_type=schema.Text()),
                                schema.Text(required=False),
                                required=False)
示例#19
0
class ITestSchema(Interface):

    text = schema.TextLine()
    integer = schema.Int()
    floating = schema.Float()
    list_of_text = schema.List(value_type=schema.TextLine())
    tuple_of_text = schema.Tuple(value_type=schema.TextLine())
    set_of_text = schema.Set(value_type=schema.TextLine())
    frozenset_of_text = schema.FrozenSet(value_type=schema.TextLine())
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine())
    datetime = schema.Datetime()
    date = schema.Date()
    time = schema.Time()
示例#20
0
class IExample(IResource):

    metadata('categories')

    index('categories', type='nested')
    categories = schema.List(title='categories',
                             default=[],
                             value_type=schema.JSONField(title='term',
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine()
    text_field = schema.Text()
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine())
    datetime = schema.Datetime()
示例#21
0
class IWorkflowBehavior(Interface):

    index_field("review_state", store=True, type="keyword")
    review_state = schema.Choice(
        readonly=True,
        title="Workflow review state",
        required=False,
        defaultFactory=DefaultReviewState(),
        source="worklow_states",
    )

    history = schema.List(
        title="History list",
        readonly=True,
        required=False,
        defaultFactory=list,
        value_type=schema.JSONField(title="History element", schema=HISTORY_SCHEMA),
    )
示例#22
0
class IExample(IResource):

    metadata('categories')

    index_field('categories', type='nested')
    categories = schema.List(title='categories',
                             default=[],
                             value_type=schema.JSONField(title='term',
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine(title='kk',
                                     widget='testing',
                                     required=False)
    text_field = schema.Text(required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
示例#23
0
class IConversation(IFolder):

    index_field("users", type="keyword")
    users = schema.List(value_type=schema.TextLine(), default=list())
示例#24
0
class ITestSchema(Interface):

    text = schema.TextLine(required=False)
    integer = schema.Int(required=False)
    floating = schema.Float(required=False)
    list_of_text = schema.List(value_type=schema.TextLine(), required=False)
    tuple_of_text = schema.Tuple(value_type=schema.TextLine(), required=False)
    set_of_text = schema.Set(value_type=schema.TextLine(), required=False)
    frozenset_of_text = schema.FrozenSet(value_type=schema.TextLine(),
                                         required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
    date = schema.Date(required=False)
    time = schema.Time(required=False)

    patch_list = fields.PatchField(
        schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                           value_type=schema.Text()),
                    required=False))
    patch_list_int = fields.PatchField(
        schema.List(value_type=schema.Int(), required=False))
    patch_dict = fields.PatchField(schema.Dict(key_type=schema.Text(),
                                               value_type=schema.Text()),
                                   required=False)

    patch_int = fields.PatchField(schema.Int(default=22), required=False)

    patch_int_no_default = fields.PatchField(schema.Int(), required=False)

    bucket_list = fields.BucketListField(
        bucket_len=10,
        required=False,
        value_type=schema.Dict(key_type=schema.Text(),
                               value_type=schema.Text()),
    )

    datetime_bucket_list = fields.BucketListField(bucket_len=10,
                                                  required=False,
                                                  value_type=schema.Datetime())

    union_field = schema.UnionField(schema.Datetime(),
                                    schema.Int(),
                                    required=False)
    union_field_obj = schema.UnionField(schema.Object(IObjectA),
                                        schema.Object(schema=IObjectB),
                                        required=False)

    nested_patch = fields.PatchField(
        schema.Dict(
            required=False,
            key_type=schema.Text(),
            value_type=fields.PatchField(
                schema.List(value_type=schema.Object(
                    schema=INestFieldSchema))),
        ))

    dict_of_obj = schema.Dict(
        required=False,
        key_type=schema.Text(),
        value_type=schema.Object(schema=INestFieldSchema))

    patch_dict_of_obj = fields.PatchField(
        schema.Dict(required=False,
                    key_type=schema.Text(),
                    value_type=schema.Object(schema=INestFieldSchema)))

    patch_tuple = fields.PatchField(
        schema.Tuple(required=False,
                     value_type=schema.Text(schema=INestFieldSchema)))

    bucket_dict = fields.BucketDictField(bucket_len=10,
                                         required=False,
                                         key_type=schema.Text(),
                                         value_type=schema.Text())
示例#25
0
class INestFieldSchema(Interface):
    foo = schema.Text(required=False)
    bar = schema.Int(required=False)
    foobar_list = schema.List(required=False, value_type=schema.Text())
    nested_int = fields.PatchField(schema.Int(required=False))
示例#26
0
class IConversation(Interface):

    users = schema.List(value_type=schema.TextLine())
示例#27
0
class IRule(Interface):
    conditions = schema.List()
    actions = schema.List()
示例#28
0
class INestFieldSchema(Interface):
    foo = schema.Text(required=False)
    bar = schema.Int(required=False)
    foobar_list = schema.List(required=False, value_type=schema.Text())