3689b5e by Anon Ray at 2014-02-14 1
# -*- coding utf-8 -*-
bcff786 by Anon Ray at 2014-02-19 2
# User Management::Membership
3689b5e by Anon Ray at 2014-02-14 3
4
from datetime import datetime
5
e432b39 by Anon Ray at 2014-03-08 6
from .config import db
7
3689b5e by Anon Ray at 2014-02-14 8
class Membership(db.Model):
eae10f7 by Anon Ray at 2014-02-14 9
    """ docstring """
bcff786 by Anon Ray at 2014-02-19 10
11
    __tablename__ = 'memberships'
eae10f7 by Anon Ray at 2014-02-14 12
3689b5e by Anon Ray at 2014-02-14 13
    id = db.Column(db.Integer, primary_key=True)
eae10f7 by Anon Ray at 2014-02-14 14
    uid = db.Column(db.Integer, db.ForeignKey('users.id'))
15
    gid = db.Column(db.Integer, db.ForeignKey('groups.id'))
16
    created = db.Column(db.DateTime, default=datetime.utcnow)
3689b5e by Anon Ray at 2014-02-14 17
e432b39 by Anon Ray at 2014-03-08 18
    user = db.relationship('User', backref='memberships')
19
    group = db.relationship('Group', backref='memberships')
0e1075a by Anon Ray at 2014-02-18 20
bcff786 by Anon Ray at 2014-02-19 21
    def __init__(self, user, group):
22
        self.user = user
23
        self.group = group
3689b5e by Anon Ray at 2014-02-14 24
bcff786 by Anon Ray at 2014-02-19 25
    # persist in the database
26
    def persist(self):
eae10f7 by Anon Ray at 2014-02-14 27
        db.session.add(self)
3689b5e by Anon Ray at 2014-02-14 28
        db.session.commit()
29
bcff786 by Anon Ray at 2014-02-19 30
    # delete from a database
31
    def remove(self):
eae10f7 by Anon Ray at 2014-02-14 32
        db.session.delete(self)
3689b5e by Anon Ray at 2014-02-14 33
        db.session.commit()
34
35
    def __repr__(self):
36
        return'<Membership %d>' % self.uid
37