company.py
1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from datetime import datetime
from sqlalchemy import Column, String, Integer, ForeignKey
from opensipkd.base.models import Kelurahan, Kecamatan, Kota, Provinsi
from . import Partner
from ..models import DBSession, Base
from ..models import (NamaModel,
TABLE_ARGS)
class Company(Base, NamaModel):
__tablename__ = 'company'
kategori = Column(String(32))
partner_id = Column(Integer, ForeignKey(Partner.id))
logo = Column(String(255))
alamat = Column(String(255))
alamat2 = Column(String(255))
kelurahan_id = Column(Integer, ForeignKey(Kelurahan.id))
kecamatan_id = Column(Integer, ForeignKey(Kecamatan.id))
kota_id = Column(Integer, ForeignKey(Kota.id))
provinsi_id = Column(Integer, ForeignKey(Provinsi.id))
__table_args__ = (TABLE_ARGS,)
@classmethod
def save(cls, values, user, row=None, **kwargs):
if not row:
row = Company()
row.created = datetime.now()
row.create_uid = user.id
row.from_dict(values)
row.updated = datetime.now()
row.update_uid = user.id
row.status = 'status' in values and values['status'] and 1 or 0
DBSession.add(row)
DBSession.flush()
return row
@classmethod
def kategori_get(cls):
return (("kota", "Kota"),
("kab", "Kabupaten"),
("prov", "Provinsi"))