__init__.py
1.91 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
45
46
47
48
49
50
51
52
from tangsel.base.models import (StandarModel, DefaultModel, DBSession, Partner,
User, DBSession, Partner, UserGroup, Group)
from sqlalchemy import Column, String, Integer, case, func
from sqlalchemy.orm import (relationship,
backref, column_property)
# from zope.sqlalchemy import ZopeTransactionExtension
from tangsel.base.models import Base
TABLE_ARGS = {'extend_existing': True,
'schema': 'public'}
def subs(o, s, p):
return func.substr(o, s, p)
STATUS_NOP = [
(0, "Draft"),
(1, "Verified"),
(2, "Canceled"),
(-1, "Declined"),
]
class PartnerNop(StandarModel, Base):
__tablename__ = 'partner_nop'
nop = Column(String(18), nullable=False)
thn_awal = Column(Integer())
thn_akhir = Column(Integer())
partner_id = Column(Integer(), server_default="0")
dokumen = Column(String())
status = Column(Integer())
status_text = column_property(case((status == 0, STATUS_NOP[0][1]),
(status == 1, STATUS_NOP[1][1]),
(status == 2, STATUS_NOP[2][1]),
else_=STATUS_NOP[len(STATUS_NOP)-1][1]))
nop_formatted = column_property(
subs(nop, 1, 2) + "." + subs(nop, 3, 2) + "-" + subs(nop, 5, 3) + "." +
subs(nop, 8, 3) + "-" + subs(nop, 11, 3) + "." + subs(nop, 14, 4) + "-" + subs(nop, 18, 1))
kecamatan = column_property(
subs(nop, 1, 2)+"."+subs(nop, 3, 2)+"."+subs(nop, 5, 3))
kelurahan = column_property(
subs(nop, 1, 2)+"."+subs(nop, 3, 2)+"."+subs(nop, 5, 3)+"."+subs(nop, 8, 3))
partner = relationship("Partner", backref=backref("nop"),
foreign_keys=[partner_id],
primaryjoin="Partner.id==PartnerNop.partner_id")
@ classmethod
def query_register(cls):
return cls.query(cls)
from .es_log import *