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()))
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={})
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())
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)
class IDynamicFields(Interface): fields = fields.PatchField(schema.Dict( key_type=schema.Text(), value_type=schema.Object( schema=IFieldType ) ))
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={})
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())
class IDynamicFields(Interface): fields = fields.PatchField( schema.Dict( key_type=schema.Text(), value_type=schema.Object(schema=IFieldType), required=True, max_length=1000, ))
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), )
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)))))
class IImagingSettings(Interface): allowed_sizes = schema.Dict( missing_value={ "high": "1400:1400", "large": "768:768", "preview": "400:400", "mini": "200:200", "thumb": "128:128", "tile": "64:64", "icon": "32:32", }) quality = schema.Int(default=88)
class IImagingSettings(Interface): allowed_sizes = schema.Dict( missing_value={ 'high': '1400:1400', 'large': '768:768', 'preview': '400:400', 'mini': '200:200', 'thumb': '128:128', 'tile': '64:64', 'icon': '32:32' }) quality = schema.Int(default=88)
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()
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()
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)
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())
class IImageFile(IFile): """Image file""" previews = schema.Dict(title="Generated previews", key_type=schema.TextLine(), value_type=CloudPreviewImageFileField())
class IDynamicFieldValues(Interface): values = fields.DynamicField( schema.Dict(key_type=schema.Text(), required=True, max_length=1000))
class IDynamicFieldValues(Interface): values = fields.DynamicField(schema.Dict(key_type=schema.Text()))