class Datetest(EntityType): dt1 = Datetime(default=u'now') dt2 = Datetime(default=u'today') d1 = Date(default=u'today') d2 = Date(default=date(2007, 12, 11)) t1 = Time(default=time(8, 40)) t2 = Time(default=time(9, 45))
class Datetest(EntityType): dt1 = Datetime(default=u'now') dt2 = Datetime(default=u'today') d1 = Date(default=u'today', constraints=[BoundaryConstraint('<=', TODAY())]) d2 = Date(default=date(2007, 12, 11)) t1 = Time(default=time(8, 40)) t2 = Time(default=time(9, 45))
class Personne(EntityType): nom = String(fulltextindexed=True, required=True, maxsize=64) prenom = String(fulltextindexed=True, maxsize=64) sexe = String(maxsize=1, default='M', __permissions__={ 'read': ( 'managers', 'users', 'guests', ), 'add': ('managers', 'users'), 'update': ('managers', ) }) promo = String(vocabulary=('bon', 'pasbon')) titre = String(fulltextindexed=True, maxsize=128) ass = String(maxsize=128) web = String(maxsize=128) tel = Int() fax = Int() datenaiss = Datetime() tzdatenaiss = TZDatetime() test = Boolean() description = String() salary = Float() travaille = SubjectRelation('Societe')
class Personne(EntityType): __permissions__ = { 'read': ('managers', 'users', 'guests'), # 'guests' will be removed 'add': ('managers', 'users'), 'update': ('managers', 'owners'), 'delete': ('managers', 'owners') } __unique_together__ = [('nom', 'prenom', 'inline2')] nom = String(fulltextindexed=True, required=True, maxsize=64) prenom = String(fulltextindexed=True, maxsize=64) sexe = String(maxsize=1, default='M', fulltextindexed=True) promo = String(vocabulary=('bon', 'pasbon')) titre = String(fulltextindexed=True, maxsize=128) adel = String(maxsize=128) ass = String(maxsize=128) web = String(maxsize=128) tel = Int() fax = Int() datenaiss = Datetime() tzdatenaiss = TZDatetime() test = Boolean( __permissions__={ 'read': ('managers', 'users', 'guests'), 'add': ('managers', ), 'update': ('managers', ), }) description = String() firstname = String(fulltextindexed=True, maxsize=64) concerne = SubjectRelation('Affaire') connait = SubjectRelation('Personne') inline2 = SubjectRelation('Affaire', inlined=True, cardinality='?*')
class Personne(EntityType): __permissions__ = { 'read': ('managers', 'users'), # 'guests' was removed 'add': ('managers', 'users'), 'update': ('managers', 'owners'), 'delete': ('managers', 'owners') } __unique_together__ = [('nom', 'prenom', 'datenaiss')] nom = String(fulltextindexed=True, required=True, maxsize=64) prenom = String(fulltextindexed=True, maxsize=64) civility = String(maxsize=1, default='M', fulltextindexed=True) promo = String(vocabulary=('bon','pasbon', 'pasbondutout')) titre = String(fulltextindexed=True, maxsize=128) adel = String(maxsize=128) ass = String(maxsize=128) web = String(maxsize=128) tel = Int() fax = Int() datenaiss = Datetime() test = Boolean() travaille = SubjectRelation('Societe') concerne = SubjectRelation('Affaire') concerne2 = SubjectRelation(('Affaire', 'Note'), cardinality='1*') connait = SubjectRelation('Personne', symmetric=True)
class Email(EntityType): """electronic mail""" subject = String(fulltextindexed=True) date = Datetime(description=_('UTC time on which the mail was sent')) messageid = String(required=True, indexed=True) headers = String(description=_('raw headers')) sender = SubjectRelation('EmailAddress', cardinality='?*') # an email with only Bcc is acceptable, don't require any recipients recipients = SubjectRelation('EmailAddress') cc = SubjectRelation('EmailAddress') parts = SubjectRelation('EmailPart', cardinality='*1', composite='subject') attachment = SubjectRelation('File') reply_to = SubjectRelation('Email', cardinality='?*') cites = SubjectRelation('Email') in_thread = SubjectRelation('EmailThread', cardinality='?*')
class TimeSeries(_AbstractTimeSeries): """Periodic Timeseries, defined with a start date and a fixed granularity""" granularity = String(description=_('Granularity'), required=True, internationalizable=True, vocabulary=[ _('15min'), _('hourly'), _('daily'), _('weekly'), _('monthly'), _('yearly'), _('constant') ], default='daily') start_date = Datetime(description=_('Start date'), required=True, default='TODAY')
class Note(Para): __specializes_schema__ = True __permissions__ = {'read': ('managers', 'users', 'guests',), 'update': ('managers', 'owners',), 'delete': ('managers', ), 'add': ('managers', ERQLExpression('X ecrit_part PE, U in_group G, ' 'PE require_permission P, P name "add_note", ' 'P require_group G'),)} whatever = Int(default=0) # keep it before `date` for unittest_migraction.test_add_attribute_int yesno = Boolean(default=False) date = Datetime() type = String(maxsize=1) unique_id = String(maxsize=1, required=True, unique=True) mydate = Date(default='TODAY') oldstyledefaultdate = Date(default='2013/01/01') newstyledefaultdate = Date(default=dt.date(2013, 1, 1)) shortpara = String(maxsize=11, default='hop', vocabulary=['hop', 'hop hop', 'hop hop hop']) ecrit_par = SubjectRelation('Personne', constraints=[RQLConstraint('S concerne A, O concerne A')]) attachment = SubjectRelation('File')
class Activity(EntityType): start = Datetime(constraints=[BoundaryConstraint('<=', Attribute('end'))], description=_('when the activity started')) end = Datetime(constraints=[BoundaryConstraint('>=', Attribute('start'))], description=_('when the activity ended'))
class Application(WorkflowableEntityType): date = Datetime(default='TODAY', required=True) for_person = SubjectRelation('Person', cardinality='1*', composite='object')
class Foo(EntityType): i = Int(required=True, metadata={'name': String()}) f = Float() d = Datetime()