コード例 #1
0
class Membership(Model):
    belongs_to('user', 'organization')
    role = Field()

    @scope('admins')
    def filter_admins(self):
        return self.role == 'admin'
コード例 #2
0
ファイル: donation.py プロジェクト: wiredmind/h-funding
class Donation(Model):
    belongs_to('user', 'campaign')

    date = Field('datetime', default=lambda: request.now)
    amount = Field('integer')

    form_rw = {"user": False, "campaign": False, "date": False}

    validation = {'amount': {'gt': 1}}
コード例 #3
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Elephant(Animal):
    belongs_to('mouse')
    color = Field()

    @virtualfield('pretty')
    def get_pretty(self, row):
        return row.name+" "+row.color

    @before_insert
    def bi2(self, *args, **kwargs):
        pass
コード例 #4
0
class Comment(Model):
    belongs_to('user', 'post')

    text = Field('text')
    date = Field('datetime')

    default_values = {
        'user': lambda: session.auth.user.id,
        'date': lambda: request.now
    }
    validation = {'text': {'presence': True}}
    form_rw = {'user': False, 'post': False, 'date': False}
コード例 #5
0
class Post(Model):
    belongs_to('user')
    has_many('comments')

    title = Field()
    text = Field('text')
    date = Field('datetime')

    default_values = {
        'user': lambda: session.auth.user.id,
        'date': lambda: request.now
    }
    validation = {'title': {'presence': True}, 'text': {'presence': True}}
    form_rw = {'user': False, 'date': False}
コード例 #6
0
ファイル: cost.py プロジェクト: wiredmind/h-funding
class Cost(Model):
    belongs_to('campaign')

    name = Field(notnull=True)
    date = Field('datetime', default=lambda: request.now)
    amount = Field('integer')

    form_rw = {
        "campaign": False,
        "date": False
    }

    validation = {
        'amount': {'gt': 1}
    }
コード例 #7
0
ファイル: test_validators.py プロジェクト: mulonemartin/weppy
class Thing(Model):
    belongs_to('person')

    name = Field()
    color = Field()
    uid = Field(unique=True)

    validation = {
        'name': {
            'presence': True
        },
        'color': {
            'in': ['blue', 'red']
        },
        'uid': {
            'empty': False
        }
    }
コード例 #8
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Subscription(Model):
    belongs_to('person')

    name = Field()
    status = Field('int')
    expires_at = Field('datetime')

    STATUS = {'active': 1, 'suspended': 2, 'other': 3}

    @scope('expired')
    def get_expired(self):
        return self.expires_at < datetime.now()

    @scope('of_status')
    def filter_status(self, *statuses):
        if len(statuses) == 1:
            return self.status == self.STATUS[statuses[0]]
        return self.status.belongs(*[self.STATUS[v] for v in statuses])
コード例 #9
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Animal(Model):
    belongs_to('zoo')
    name = Field()

    @virtualfield('doublename')
    def get_double_name(self, row):
        return row.name*2

    @virtualfield('pretty')
    def get_pretty(self, row):
        return row.name

    @before_insert
    def bi(self, *args, **kwargs):
        pass

    @before_insert
    def bi2(self, *args, **kwargs):
        pass
コード例 #10
0
ファイル: test_validators.py プロジェクト: mulonemartin/weppy
class Mixed(Model):
    belongs_to('person')

    date = Field('date')
    type = Field()
    inside = Field()
    number = Field('int')
    dont = Field()
    yep = Field()
    psw = Field('password')

    validation = {
        'date': {
            'format': '%d/%m/%Y',
            'gt': lambda: datetime.utcnow().date()
        },
        'type': {
            'in': ['a', 'b'],
            'allow': None
        },
        'inside': {
            'in': ['asd', 'lol']
        },
        'number': {
            'allow': 'blank'
        },
        'dont': {
            'empty': True
        },
        'yep': {
            'presence': True
        },
        'psw': {
            'len': {
                'range': (6, 25)
            },
            'crypt': True
        }
    }
コード例 #11
0
class Campaign(Model):
    belongs_to('user')
    has_many('donations', 'costs')

    title = Field('string', notnull=True)
    description = Field('string', notnull=True)
    start = Field('datetime')
    end = Field('datetime')
    goal = Field('int')
    closed = Field('bool', default=True)

    form_rw = {"user": False, "closed": False}

    validation = {
        "goal": {
            'gt': 1
        },
        "start": {
            'gt': lambda: request.now,
            'format': "%d/%m/%Y %H:%M:%S"
        },
        "end": {
            'gt': lambda: request.now,
            'format': "%d/%m/%Y %H:%M:%S"
        }
    }

    form_labels = {"title": T("Title: ")}

    @rowmethod('pledged')
    def get_pledge(self, row):
        summed = self.db.Donation.amount.sum()
        return row.donations(summed).first()[summed] or 0

    @rowmethod('spended')
    def get_spended(self, row):
        summed = self.db.Cost.amount.sum()
        return row.costs(summed).first()[summed] or 0
コード例 #12
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Dog(Model):
    belongs_to({'owner': 'Person'})
    name = Field()
コード例 #13
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Thing(Model):
    belongs_to('person')
    has_many('features')

    name = Field()
    color = Field()
コード例 #14
0
class Thing(Model):
    belongs_to('user')
コード例 #15
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Feature(Model):
    belongs_to('thing')
    has_one('price')

    name = Field()
コード例 #16
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Membership(Model):
    belongs_to('user', 'organization')
    role = Field()
コード例 #17
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Appointment(Model):
    belongs_to('patient', 'doctor')
    date = Field('datetime')
コード例 #18
0
ファイル: test_dal.py プロジェクト: assad2008/weppy
class Price(Model):
    belongs_to('feature')

    value = Field('integer')