示例#1
0
class Siswa(db.Model):
    # query_class = PostQuery
    id = db.Column(db.Integer, primary_key=True)
    nama = db.Column(db.String(255), nullable=False)
    jenis_kelamin_id = db.Column(db.Integer,
                                 db.ForeignKey('jenis_kelamin.id'),
                                 nullable=False)
    agama_id = db.Column(db.Integer, db.ForeignKey('agama.id'), nullable=False)
    tgl_lahir = db.Column(db.DateTime, nullable=False)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    alamat = db.Column(db.Text, nullable=False)
    image_thumb = db.Column(db.String(255),
                            nullable=False,
                            default='default.jpg')
    slug = db.Column(db.String(255), nullable=False)
    active = db.Column(db.Boolean(), nullable=False, server_default='1')
    kelas_id = db.Column(db.Integer, db.ForeignKey('kelas.id'))
    # absensi = db.relationship('Kehadiran', lazy='dynamic', backref='pelajar')
    spp_siswa = db.relationship('PembayaranSpp',
                                backref='spp_siswa',
                                lazy=True)
    absensi = db.relationship('Absen', secondary='kehadiran')
    nilai_ujian = db.relationship('NilaiUjian', backref='nilai_ujian')

    def __repr__(self):
        return "Siswa('{self.nama}', '{self.date_posted}')"
示例#2
0
class Kelas(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nama = db.Column(db.String(255), nullable=False)
    siswas = db.relationship('Siswa', backref='kelas_siswa', lazy=True)
    jadwal_kelas = db.relationship('JadwalMapel',
                                   backref='jadwal_kelas',
                                   lazy=True)
示例#3
0
class Mapel(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nama = db.Column(db.String(255), nullable=False)
    absen_mapel = db.relationship('Absen', secondary='kehadiran')
    jadwal_mapel = db.relationship('JadwalMapel',
                                   backref='jadwal_mapel',
                                   lazy=True)
示例#4
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    project_id = db.Column(db.Integer, index=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255), default=lambda: ''.join(random.choice(string.ascii_lowercase) for _ in range(20)))
    first_name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    current_portal_user_yn = db.Column(db.Boolean)
    gv_end_del_log = db.Column(db.Date)
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    last_login_at = db.Column(db.DateTime())
    current_login_at = db.Column(db.DateTime())
    last_login_ip = db.Column(db.String(50))
    current_login_ip = db.Column(db.String(50))
    login_count = db.Column(db.Integer())
    is_imported = db.Column(db.Boolean(), default=False)
    roles = db.relationship(
        'Role',
        secondary=roles_users,
        backref=db.backref('users', lazy='dynamic'),
        collection_class=set,
    )
    practices = db.relationship(
        'Practice',
        secondary=practices_users,
        backref=db.backref('users', lazy='dynamic'),
        collection_class=set,
    )
    practice_groups = db.relationship(
        'PracticeGroup',
        secondary=practice_groups_users,
        backref=db.backref('users', lazy='dynamic'),
        collection_class=set,
    )
    last_update_timestamp = db.Column(db.Integer, nullable=True)

    def get_id(self):
        return self.email
        
    @property
    def is_super(self):
        return self.is_admin or len(self.practice_groups) > 0

    @property
    def is_admin(self):
        return self.has_role(Role.ADMIN_ROLENAME)

    @property
    def is_system(self):
        return self.email == '*****@*****.**'

    @property
    def all_practices(self):
        return set(self.practices) | set(chain.from_iterable(pg.practices for pg in self.practice_groups))

    @property
    def full_name(self):
        return '{} {}'.format(self.first_name or '', self.last_name or '').strip() or self.email
示例#5
0
class JenisKelamin(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    kelamin = db.Column(db.String(255), nullable=False)
    siswas = db.relationship('Siswa', backref='kelamin', lazy=True)
    guru = db.relationship('Guru', backref='kelamin_guru', lazy=True)

    def __repr__(self):
        return "Post('{self.kelamin}')"
示例#6
0
class Agama(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    agama = db.Column(db.String(255), nullable=False)
    siswas = db.relationship('Siswa', backref='agama_siswa', lazy=True)
    guru = db.relationship('Guru', backref='agama_guru', lazy=True)

    def __repr__(self):
        return "Post('{self.agama}')"
示例#7
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    login_id = db.Column(db.String, unique=True, nullable=False)
    user_type = db.Column(db.String, nullable=False)
    name = db.Column(db.String, nullable=False)
    email = db.Column(db.String, unique=True, nullable=False)
    school = db.Column(db.String, nullable=False)
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)
    replies = db.relationship('Reply', backref='replier', lazy=True)

    def __repr__(self):
        return f"User('{self.name}', '{self.login_id}', '{self.email}')"
示例#8
0
class Kehadiran(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    siswa_id = db.Column(db.Integer, db.ForeignKey('siswa.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    mapel_id = db.Column(db.Integer, db.ForeignKey('mapel.id'))
    absen_id = db.Column(db.Integer, db.ForeignKey('absen.id'))
    waktu_absen = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    siswas = db.relationship('Siswa', backref='kehadiran_siswa', lazy=True)
    # user = db.relationship('User', backref='pengabsen', lazy=True)
    mapel = db.relationship('Mapel', backref='mata_pelajaran', lazy=True)
    absen = db.relationship('Absen', backref='data_absen', lazy=True)
示例#9
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(40), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default='default.jpg')
    firstname = db.Column(db.String(40))
    lastname = db.Column(db.String(40))
    country = db.Column(db.String(40))
    designation = db.Column(db.String(40))
    password = db.Column(db.String(60), nullable=False)
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)
    is_admin = db.Column(db.Boolean, default=False)
    is_employer = db.Column(db.Boolean, default=False)
    is_candidate = db.Column(db.Boolean, default=False)
    is_active = db.Column(db.Boolean, default=False)
    posts = db.relationship('Post', backref='author', lazy=True)
    offer = db.relationship('jobs', backref='employer', lazy='dynamic')
    company = db.relationship('company', backref='company', lazy='dynamic')
    following = db.relationship('User',
                                secondary=followers,
                                primaryjoin=(followers.c.follower_id == id),
                                secondaryjoin=(followers.c.followee_id == id),
                                backref=db.backref('followers',
                                                   lazy='dynamic'),
                                lazy='dynamic')

    followed_by = db.relationship(
        'User',
        secondary=followers,
        primaryjoin=(followers.c.followee_id == id),
        secondaryjoin=(followers.c.follower_id == id),
        backref=db.backref('followees', lazy='dynamic'),
        lazy='dynamic')

    def get_reset_token(self, expires_sec=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id)

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
示例#10
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default='default.png')
    password = db.Column(db.String(60), nullable=False)
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)
    is_admin = db.Column(db.Boolean, default=False)
    is_manager = db.Column(db.Boolean, default=False)
    is_active = db.Column(db.Boolean, default=False)
    posts = db.relationship('Post', backref='author', lazy=True)
    def get_reset_token(self,expires_sec=1800):
        s = Serializer(app.config['SECRET_KEY'],expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id) 

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
示例#11
0
class RecruitStatus(db.Model):

    __tablename__ = 'etl_recruit_status'

    id = db.Column(db.String(50), db.ForeignKey(Recruit.id), primary_key=True)
    recruit = db.relationship(Recruit, uselist=False, back_populates="status")
    status = db.Column(db.String(100))
    study_id = db.Column(db.String(100))
    first_name = db.Column(db.String(100))
    last_name = db.Column(db.String(100))
    processed_by = db.Column(db.String(500))
    processed_date = db.Column(db.Date)
    invoice_year = db.Column(db.String(50))
    invoice_quarter = db.Column(db.String(50))
    reimbursed_status = db.Column(db.String(50))

    @property
    def full_name(self):
        return '{} {}'.format(self.first_name or '', self.last_name or '')

    @property
    def invoice_period(self):
        return '{} {}'.format(
            self.invoice_year or '',
            self.invoice_quarter or '')
示例#12
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    register_on = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    activate_on = db.Column(db.DateTime)
    roles_id = db.Column(db.Integer,
                         db.ForeignKey('role.id'),
                         nullable=False,
                         default=1)
    guru = db.relationship('Kehadiran', lazy='dynamic', backref='guru')

    def get_reset_token(self, expires_sec=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id)

    def __repr__(self):
        return "User('{self.username}', '{self.email}', '{self.image_file}')"
示例#13
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(255), nullable=False)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    on_update = db.Column(db.DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    image_thumb = db.Column(db.String(255), nullable=False, default='default.jpg')
    slug = db.Column(db.String(255), nullable=False)
    publish = db.Column(db.Boolean(), nullable=False, default=True)
    headline = db.Column(db.Boolean(), nullable=False)
    dibaca = db.Column(db.Integer, nullable=False, default=0)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    kategori_id = db.Column(db.Integer, db.ForeignKey('kategori.id'), nullable=False)
    tags = db.relationship('Tag', secondary=post_tags, lazy='dynamic', backref='tagger')
    comments = db.relationship('Comments', backref='post_comment', lazy='dynamic')

    def __repr__(self):
        return "Post('{self.title}', '{self.date_posted}')"
示例#14
0
class JadwalUjian(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    mapel_id = db.Column(db.Integer, db.ForeignKey('mapel.id'), nullable=False)
    kelas_id = db.Column(db.Integer, db.ForeignKey('kelas.id'), nullable=False)
    waktu_ujian = db.Column(db.DateTime, nullable=False)
    akhir_ujian = db.Column(db.DateTime, nullable=False)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    nilai = db.relationship('NilaiUjian', backref='jadwal_ujian', lazy=True)
示例#15
0
class PracticeRegistration(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String, db.ForeignKey(Practice.code))
    date_created = db.Column(db.DateTime, nullable=False)
    practice = db.relationship(Practice)

    def __init__(self, *args, **kwargs):
        self.code = kwargs.get('code')
        self.date_created = datetime.datetime.now()
示例#16
0
class Kategori(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    slug = db.Column(db.String(255), nullable=False)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    posts = db.relationship('Post', backref='category', lazy=True)

    def __repr__(self):
        return "Post('{self.nama_kategori}', '{self.date_posted}')"
示例#17
0
class Recruit(db.Model):

    id = db.Column(db.String(50), primary_key=True)
    practice_registration_id = db.Column(
        db.Integer,
        db.ForeignKey(PracticeRegistration.id))
    practice_registration = db.relationship(
        PracticeRegistration,
        backref=db.backref('recruits', cascade="all, delete-orphan"))
    user_id = db.Column(db.Integer, db.ForeignKey(User.id))
    user = db.relationship(
        User,
        backref=db.backref('recruits', cascade="all, delete-orphan"))
    nhs_number = db.Column(db.String(20), nullable=False)
    date_of_birth = db.Column(db.Date, nullable=False)
    date_recruited = db.Column(db.Date, nullable=False)
    date_created = db.Column(db.DateTime, nullable=False)
    status = db.relationship(
        "RecruitStatus",
        uselist=False,
        back_populates="recruit")

    def __init__(self, *args, **kwargs):
        self.practice_registration_id = kwargs.get('practice_registration').id
        self.user_id = kwargs.get('user').id
        self.nhs_number = kwargs.get('nhs_number')
        self.date_of_birth = kwargs.get('date_of_birth')
        self.date_recruited = kwargs.get('date_recruited')
        self.date_created = datetime.datetime.now()
        self.id = uuid.uuid1()

    @property
    def date_of_birth_day(self):
        return self.date_of_birth.day

    @property
    def date_of_birth_month(self):
        return self.date_of_birth.month

    @property
    def date_of_birth_year(self):
        return self.date_of_birth.year
示例#18
0
class Practice(db.Model):

    __tablename__ = 'etl_practice'

    code = db.Column(db.String, primary_key=True)
    name = db.Column(db.String, nullable=False)
    ccg_name = db.Column(db.String, nullable=True)
    address = db.Column(db.String, nullable=True)
    delegates = db.relationship(
        "Delegate",
        back_populates="practice")
示例#19
0
class UangSpp(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nilai = db.Column(
        db.Numeric(precision=8, asdecimal=False, decimal_return_scale=None))
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    edit_posted = db.Column(db.DateTime)
    pembayaran_spp = db.relationship('PembayaranSpp',
                                     backref='pembayaran_spp',
                                     lazy=True)
示例#20
0
class RecruitSummary(db.Model):

    __tablename__ = 'etl_recruit_summary'

    practice_code = db.Column(db.String(500), db.ForeignKey(Practice.code), primary_key=True, nullable=True)
    practice = db.relationship("Practice", back_populates="recruit_summary")
    recruited = db.Column(db.Integer)
    excluded = db.Column(db.Integer)
    excluded_percentage = db.Column(db.Float)
    withdrawn = db.Column(db.Integer)
    withdrawn_percentage = db.Column(db.Float)
    last_recruited_date = db.Column(db.Date)
示例#21
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    biografi = db.Column(db.String(255))
    roles_id = db.Column(db.Integer, db.ForeignKey('role.id'))
    active = db.Column(db.Boolean(), nullable=False, default=False)
    register_on = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    posts = db.relationship('Post', backref='author', lazy=True)
    pages = db.relationship('Page', backref='author_pages', lazy=True)
    kategori = db.relationship('Kategori', backref='categories', lazy=True)

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)
        if self.role is None:
            if self.email == current_app.config['ADMIN_BLOG']:
                self.active = True
                self.role = Role.query.filter_by(name='admin').first()
            else:
                self.role = Role.query.filter_by(name='writer').first()


    def get_reset_token(self, expires_sec=1800):
        s = Serializer(current_app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(current_app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id)

    def __repr__(self):
        return "User('{self.username}', '{self.email}', '{self.image_file}')"
示例#22
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    first_name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    last_login_at = db.Column(db.DateTime())
    current_login_at = db.Column(db.DateTime())
    last_login_ip = db.Column(db.String(50))
    current_login_ip = db.Column(db.String(50))
    login_count = db.Column(db.Integer())
    roles = db.relationship(
        'Role',
        secondary=roles_users,
        backref=db.backref('users', lazy='dynamic'))
    practices = db.relationship(
        'PracticeRegistration',
        secondary=practice_registrations_users,
        backref=db.backref('users', lazy='dynamic'))

    def __init__(self, *args, **kwargs):
        self.email = kwargs.get('email')
        self.password = kwargs.get('password')
        self.first_name = kwargs.get('first_name')
        self.last_name = kwargs.get('last_name')
        self.active = 0

    def is_admin(self):
        return self.has_role(Role.ADMIN_ROLENAME)

    def is_system(self):
        return self.email == '*****@*****.**'

    @property
    def full_name(self):
        return '{} {}'.format(self.first_name or '', self.last_name or '')
示例#23
0
class Role(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=False)
    users = db.relationship('User', backref='role', lazy=True)

    @staticmethod
    def insert_roles():
        roles = ['admin', 'moderator', 'writer']
        for r in roles:
            role = Role.query.filter_by(name=r).first()
            if role is None:
                role = Role(name=r)
            db.session.add(role)
        db.session.commit()
示例#24
0
文件: models.py 项目: jkosik/sib
class TargetSet(db.Model): 
    __tablename__ = 'targetset'
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(255)) 
    target = db.relationship('Target', backref='ts', lazy='dynamic') # to establish .targetset attribute on child Target which will refer to parent TargetSet as target.targetset (backref can not be the same as the child column name)
    
    def __init__(self, name): 
        self.name = name 
 
    def __repr__(self): 
        #return '<Target Sets %d>'.format(self.id)
        return f'{self.name}'
     
    def __str__(self):
        return f'{self.name}'    
示例#25
0
class Recruit(db.Model):
    __tablename__ = 'etl_recruit'

    status = db.Column(db.String(100))
    nhs_number = db.Column(db.String(20), nullable=False)
    study_id = db.Column(db.String(100))
    practice_code = db.Column(db.String(100), db.ForeignKey("etl_practice_detail.code"), nullable=True)
    first_name = db.Column(db.String(100))
    last_name = db.Column(db.String(100))
    date_of_birth = db.Column(db.Date, nullable=False)
    civicrm_contact_id = db.Column(db.Integer)
    civicrm_case_id = db.Column(db.Integer, primary_key=True)
    recruited_date = db.Column(db.Date, nullable=False)
    invoice_year = db.Column(db.Integer)
    invoice_quarter = db.Column(db.String(50))
    reimbursed_status = db.Column(db.String(50))
    exclusion_reason = db.relationship("ExclusionReason", uselist=False, back_populates="recruit")

    @property
    def exclusion_reason_stripped(self):
        re_tag = re.compile(r'(<!--.*?-->|<[^>]*>)')
        re_nbsp = re.compile(r'(&nbsp;)')
        re_amp = re.compile(r'(&amp;)')

        if self.exclusion_reason:
            return re_amp.sub('&', re_nbsp.sub('', re_tag.sub('', self.exclusion_reason.details or ''))).strip()
        else:
            return ''

    @property
    def exclusion_text(self):
        if len(self.exclusion_reason_stripped) > 0:
            return f"Excluded: {self.exclusion_reason_stripped}"
        else:
            return 'Excluded'

    @property
    def full_name(self):
        return '{} {}'.format(self.first_name or '', self.last_name or '')

    @property
    def invoice_period(self):
        return '{} {}'.format(
            self.invoice_year or '',
            self.invoice_quarter or '',
        ).strip()
示例#26
0
class Delegate(db.Model):

    __tablename__ = 'etl_delegate'

    practice_code = db.Column(db.String, primary_key=True)
    instance = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(500))
    role = db.Column(db.String(500))
    gcp_trained = db.Column(db.Boolean)
    gv_trained = db.Column(db.Boolean)
    on_delegation_log_yn = db.Column(db.Boolean)
    gv_start_del_log = db.Column(db.Date)
    gv_end_del_log = db.Column(db.Date)
    gv_phone_a = db.Column(db.String(100))
    gv_phone_b = db.Column(db.String(100))
    contact_email_add = db.Column(db.String(500), db.ForeignKey(User.email), nullable=True)
    user = db.relationship(User)
    primary_contact_yn = db.Column(db.Boolean)
示例#27
0
class Comments(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    email = db.Column(db.String(120))
    website = db.Column(db.String(255))
    comment = db.Column(db.Text, nullable=False)
    reply_id = db.Column(db.Integer, db.ForeignKey('comments.id'))
    date_comment = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    publish = db.Column(db.Boolean())
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)
    children = db.relationship('Comments', backref=db.backref('reply', remote_side=[id]))

    def avatar(self, size):
        digest = md5(self.email.lower().encode('utf-8')).hexdigest()
        return f'https://www.gravatar.com/avatar/{digest}?d=identicon&s={size}'

    def __repr__(self):
        return "Comments('{self.comment}', '{self.date_comment}')"
示例#28
0
class Guru(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nama = db.Column(db.String(255), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    tgl_lahir = db.Column(db.DateTime, nullable=False)
    agama_id = db.Column(db.Integer, db.ForeignKey('agama.id'), nullable=False)
    jenis_kelamin_id = db.Column(db.Integer,
                                 db.ForeignKey('jenis_kelamin.id'),
                                 nullable=False)
    alamat = db.Column(db.Text, nullable=False)
    image_thumb = db.Column(db.String(255),
                            nullable=False,
                            default='default.jpg')
    slug = db.Column(db.String(255), nullable=False)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    jadwal_mapel = db.relationship('JadwalMapel',
                                   backref='jadwal_guru',
                                   lazy=True)
示例#29
0
class Delegate(db.Model):

    __tablename__ = 'etl_delegationLog'

    practice_code = db.Column(
        db.String,
        db.ForeignKey(Practice.code),
        primary_key=True)
    practice = db.relationship(Practice, back_populates="delegates")
    instance = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(500))
    role = db.Column(db.String(500))
    gcp_training = db.Column(db.Boolean)
    gv_trained = db.Column(db.Boolean)
    on_delegation_log_yn = db.Column(db.Boolean)
    gv_start_del_log = db.Column(db.Date)
    gv_end_del_log = db.Column(db.Date)
    gv_phone_a = db.Column(db.String(100))
    gv_phone_b = db.Column(db.String(100))
    contact_email_add = db.Column(db.String(500))
    primary_contact_yn = db.Column(db.Boolean)
示例#30
0
class StaffMember(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    practice_registration_id = db.Column(
        db.Integer,
        db.ForeignKey(PracticeRegistration.id))
    first_name = db.Column(db.String, nullable=False)
    last_name = db.Column(db.String, nullable=False)
    date_created = db.Column(db.DateTime, nullable=False)
    practice_registration = db.relationship(
        PracticeRegistration,
        backref=db.backref('staff', cascade="all, delete-orphan"))

    def __init__(self, *args, **kwargs):
        self.practice_registration_id = kwargs.get('practice_registration').id
        self.first_name = kwargs.get('first_name')
        self.last_name = kwargs.get('last_name')
        self.date_created = datetime.datetime.now()

    def full_name(self):
        return '{} {}'.format(self.first_name or '', self.last_name or '')