__init__.py 1.65 KB
from beaker.session import Session
from sqlalchemy.ext.declarative import declarative_base

from tangsel.base.models import CommonModel, DefaultModel as BaseDefaultModel, Targets, DBSession, Partner
from zope.sqlalchemy import register
from sqlalchemy.orm import (scoped_session, sessionmaker, Session)


class MySession(Session):
    def execute(self, clause, params=None, mapper=None, **kw):
        # Your magic with clause here
        # print("Session:", clause, params, mapper, kw)
        return Session.execute(self, clause, params)  # , mapper


session_factory = sessionmaker(class_=MySession)
PbbmDBSession = scoped_session(session_factory)
register(PbbmDBSession)
PbbmBase = declarative_base()
pbbm_schema = 'pbb'
PBBM_ARGS = {'extend_existing': True,
             'schema': pbbm_schema}


class DefaultModel(BaseDefaultModel):
    def save(self):
        if self.id:
            # Who knows another user edited, so use merge ()
            PbbmDBSession.merge(self)
        else:
            PbbmDBSession.add(self)

    @classmethod
    def query(cls):
        return PbbmDBSession.query(cls)

    @classmethod
    def query_id(cls, id):
        return cls.query().filter_by(id=id)

    @classmethod
    def delete(cls, id):
        cls.query_id(id).delete()


from .propinsi import Propinsi
from .dati2 import Dati2
from .kecamatan import Kecamatan
from .kelurahan import Kelurahan
from .sppt import Sppt
from .pembayaran_sppt import PembayaranSppt
from .pembayaran_dph import PembayaranDph
from .dat_objek_pajak import DatObjekPajak
from .dat_subjek_pajak import DatSubjekPajak
from .ref import *
from .pelayanan import *