Example #1
0
class Group(orb.Table):
    id = orb.IdColumn()
    name = orb.StringColumn()

    users = orb.Pipe(through_path='GroupUser.group.user')

    byName = orb.Index(columns=['name'], flags={'Unique'})
Example #2
0
    class GroupUser(orb.Table):
        id = orb.IdColumn()
        user = orb.ReferenceColumn(reference='User')
        group = orb.ReferenceColumn(reference='Group')

        byUserAndGroup = orb.Index(('user', 'group'), flags={'Unique'})
        byUser = orb.Index(('user', ))
Example #3
0
    class TestDefault(orb.Table):
        id = orb.IdColumn()
        name = orb.StringColumn()

        @classmethod
        def onSync(cls, event):
            print 'syncing defaults'
            cls.ensureExists({'name': 'test'})
Example #4
0
class Address(orb.Table):
    id = orb.IdColumn()
    user = orb.ReferenceColumn(reference='User')
    name = orb.StringColumn()
    street = orb.StringColumn()
    city = orb.StringColumn()
    state = orb.StringColumn()
    zipcode = orb.IntegerColumn()
Example #5
0
    class Group(orb.Table):
        __resource__ = True

        id = orb.IdColumn()
        name = orb.StringColumn(flags={'Required'})

        users = orb.Pipe(through_path='GroupUser.group.user')

        byName = orb.Index(columns=['name'], flags={'Unique'})
Example #6
0
    class TestExplicit(orb.Table):
        __namespace__ = 'test_explicit'

        id = orb.IdColumn()
        name = orb.StringColumn()

        @classmethod
        def onSync(cls, event):
            print 'syncing explicit'
            cls.ensureExists({'name': 'test'})
Example #7
0
    class Group(orb.Table):
        __resource__ = True

        id = orb.IdColumn()
        name = orb.StringColumn(flags={'Unique'})
        owner = orb.ReferenceColumn(reference='User')

        users = orb.Pipe(through_path='GroupUser.group.user')
        groupUsers = orb.ReverseLookup(from_column='GroupUser.group')

        byName = orb.Index(columns=['name'], flags={'Unique'})
Example #8
0
class Asset(orb.Table):
    id = orb.IdColumn()
    code = orb.StringColumn(flags={'Unique'})
    display_name = orb.StringColumn()
    parent = orb.ReferenceColumn(reference='Asset')
    project = orb.ReferenceColumn(reference='Project')

    type = orb.StringColumn(flags={'Polymorphic'})

    children = orb.ReverseLookup(from_column='Asset.parent')
    dependsOn = orb.Pipe(through_path='Dependency.target.source')
    dependencies = orb.Pipe(through_path='Dependency.source.target')
Example #9
0
    class Address(orb.Table):
        __resource__ = True

        id = orb.IdColumn()
        user = orb.ReferenceColumn(reference='User')
        street = orb.StringColumn(flags={'Required'})
        city = orb.StringColumn(flags={'Required'})
        state = orb.StringColumn(flags={'Required'})
        zipcode = orb.IntegerColumn()

        def onInit(self, event):
            context = self.context()
            self.set('user', context.scope.get('user'))
Example #10
0
class UserSchema(orb.ModelMixin):
    id = orb.IdColumn()
    username = orb.StringColumn(flags={'Required'})
    password = orb.StringColumn(flags={'Required'})
    first_name = orb.StringColumn()
    last_name = orb.StringColumn()

    addresses = orb.ReverseLookup(from_column='Address.user')
    preferences = orb.ReverseLookup(from_column='Preference.user',
                                    flags={'Unique'})
    groups = orb.Pipe(through_path='GroupUser.user.group')

    byUsername = orb.Index(columns=['username'], flags={'Unique'})
    byName = orb.Index(columns=['first_name', 'last_name'])
Example #11
0
    class TestAllColumns(orb.Table):
        Test = enum('Ok')

        # boolean
        bool = orb.BooleanColumn()

        # data
        binary = orb.BinaryColumn()
        json = orb.JSONColumn()
        query = orb.QueryColumn()
        yaml = orb.YAMLColumn()

        # datetime
        date = orb.DateColumn()
        datetime = orb.DatetimeColumn()
        datetime_tz = orb.DatetimeWithTimezoneColumn()
        interval = orb.IntervalColumn()
        time = orb.TimeColumn()
        timestamp = orb.TimestampColumn()
        utc_datetime = orb.UTC_DatetimeColumn()
        utc_timestamp = orb.UTC_TimestampColumn()

        # numeric
        id = orb.IdColumn()
        decimal = orb.DecimalColumn(scale=2)
        float = orb.FloatColumn()
        integer = orb.IntegerColumn()
        long = orb.LongColumn()
        enum = orb.EnumColumn()

        # reference
        reference = orb.ReferenceColumn(reference='TestReference')

        # string
        string = orb.StringColumn()
        text = orb.TextColumn()
        color = orb.ColorColumn()
        directory = orb.DirectoryColumn()
        email = orb.EmailColumn()
        filepath = orb.FilepathColumn()
        html = orb.HtmlColumn()
        password = orb.PasswordColumn(default='T3st1ng!')
        token = orb.TokenColumn()
        url = orb.UrlColumn()
        xml = orb.XmlColumn()
Example #12
0
    class User(orb.Table):
        __resource__ = True

        id = orb.IdColumn()
        username = orb.StringColumn(flags={'Required'})
        password = orb.StringColumn(flags={'Required', 'Private'})

        groups = orb.Pipe(through_path='GroupUser.user.group')
        addresses = orb.ReverseLookup(from_column='Address.user')

        byUsername = orb.Index(columns=['username'], flags={'Unique'})

        @classmethod
        @action(method='get')
        def run(cls, request):
            return 'user run model'

        @action(method='get', name='run')
        def run_record(self, request):
            return 'user run record'

        @classmethod
        @action(method='post', name='exec')
        def run_post_model(self, request):
            return 'user exec post model'

        @action(method='delete', name='run')
        def run_delete(self, request):
            return 'user run delete record'

        @action(method='patch', name='run')
        def run_patch(self, request):
            return 'user run patch record'

        @action(method='put', name='run')
        def run_put(self, request):
            return 'user run put record'
Example #13
0
    class User(orb.Table):
        __resouce__ = True

        id = orb.IdColumn()
        username = orb.StringColumn(flags={'Unique'})
        password = orb.PasswordColumn()
        token = orb.TokenColumn()

        groups = orb.Pipe(through='GroupUser', from_='user', to='group')
        userGroups = orb.ReverseLookup(from_column='GroupUser.user')

        @orb.virtual(orb.BooleanColumn)
        def hasGroups(self, **context):
            return len(self.get('groups')) != 0

        @orb.virtual(orb.Collector, model='Group')
        def myGroups(self, **context):
            group_ids = GroupUser.select(
                where=orb.Query('user') == self).values('group')
            context['where'] = orb.Query('id').in_(group_ids) & context.get(
                'where')
            return Group.select(**context)

        byUsername = orb.Index(columns=['username'], flags={'Unique'})
Example #14
0
 class Comment(orb.Table):
     id = orb.IdColumn(type='hash')
     text = orb.TextColumn()
     attachments = orb.ReverseLookup(from_column='Attachment.comment',
                                     flags={'AutoExpand'})
Example #15
0
 class Document(orb.Table):
     id = orb.IdColumn()
     title = orb.StringColumn(flags={'I18n'})
     description = orb.TextColumn(flags={'I18n'})
Example #16
0
class Preference(orb.Table):
    id = orb.IdColumn()
    user = orb.ReferenceColumn(reference='User', flags={'Unique'})
    notifications_enabled = orb.BooleanColumn()
Example #17
0
 class Role(orb.Table):
     id = orb.IdColumn()
     name = orb.StringColumn()
Example #18
0
class GroupUser(orb.Table):
    id = orb.IdColumn()
    user = orb.ReferenceColumn(reference='User')
    group = orb.ReferenceColumn(reference='Group')
Example #19
0
class Dependency(orb.Table):
    id = orb.IdColumn()
    source = orb.ReferenceColumn(reference='Asset')
    target = orb.ReferenceColumn(reference='Asset')
Example #20
0
 class Attachment(orb.Table):
     id = orb.IdColumn(type='hash')
     filename = orb.StringColumn()
     comment = orb.ReferenceColumn(reference='Comment', flags={'Required'})
Example #21
0
class ProjectSupervisor(orb.Table):
    id = orb.IdColumn()
    project = orb.ReferenceColumn(reference='Project')
    user = orb.ReferenceColumn(reference='User')
Example #22
0
 class TestReference(orb.Table):
     id = orb.IdColumn()