__init__.py 6.64 KB
import logging

from tangsel.base import titles
from tangsel.tools import get_settings
from tangsel.tools.pbb import pbb_pemda, FixDati2
from sqlalchemy import engine_from_config

from .models import PbbmDBSession, PbbmBase

log = logging.getLogger(__name__)
# TTR_URL = "pbb/eta/nik"
# BB_URL = "pbb/eta/bb"
# STATIC_URL = "pbb/eta/static"
# ESPPT = "pbb/eta/esppt"

routes = [
    # ("pbb-eta-iop-act", "/pbb/eta/iop/{act}/act", "Action IOP"),
    ('pbbm', '/pbbm', 'PBB Monitoring, 1'),
    ('pbbm-act', '/pbbm/{act}/act', 'ACT PBB Monitoring, 1'),
    ('pbbm-dashboard', '/pbbm/dashboard', 'Dashboard PBB'),
    ('pbbm-dashboard-act', '/pbbm/dashboard/{act}/act', 'ACT Dashboard PBB'),

    ('pbbm-piutang', '/pbbm/piutang', 'PBBM Piutang'),
    ('pbbm-piutang-act', '/pbbm/piutang/{act}/act', 'PBBM Piutang Act'),
    ('pbbm-piutang-rpt', '/pbbm/piutang/{rpt}/rpt', 'PBBM Report Piutang'),

    ('pbbm-realisasi-all', '/pbbm/realisasi/all', 'PBBM Realisasi All'),
    ('pbbm-realisasi-all-act',
     '/pbbm/realisasi/all/{act}/act', 'PBBM Realisasi All Act'),
    ('pbbm-realisasi-all-rpt',
     '/pbbm/realisasi/all/{rpt}/rpt', 'PBBM Report Realisasi All'),
    ('pbbm-realisasi-kurang', '/pbbm/realisasi/kurang', 'PBBM Realisasi KB'),
    ('pbbm-realisasi-kurang-act',
     '/pbbm/realisasi/kurang/{act}/act', 'PBBM Realisasi KB Act'),
    ('pbbm-realisasi-lebih', '/pbbm/realisasi/lebih', 'PBBM Realisasi LB'),
    ('pbbm-realisasi-lebih-act',
     '/pbbm/realisasi/lebih/{act}/act', 'PBBM Realisasi LB Act'),
    ('pbbm-sejarah', '/pbbm/sejarah', 'PBBM Sejarah SPPT'),
    ('pbbm-sejarah-act', '/pbbm/sejarah/{act}/act', 'PBBM Sejarah SPPT Act'),
    ('pbbm-dph', '/pbbm/dph', 'PBBM DPH'),
    ('pbbm-dph-act', '/pbbm/dph/{act}/act', 'PBBM Tambah DPH'),
    ('pbbm-dph-add', '/pbbm/dph/add', 'PBBM Tambah DPH'),
    ('pbbm-dph-edt', '/pbbm/dph/{id}/edt', 'PBBM Edit DPH'),
    ('pbbm-dph-view', '/pbbm/dph/{id}/view', 'PBBM Lihat DPH'),
    ('pbbm-dph-del', '/pbbm/dph/{id}/del', 'PBBM Hapus DPH'),
    ('pbbm-dph-rpt', '/pbbm/dph/{rpt}/rpt', 'PBBM Report DPH'),
    ('pbbm-dph-set', '/pbbm/dph/set', 'PBBM Setoran DPH'),
    ('pbbm-dph-set-add', '/pbbm/dph/set/add', 'PBBM Tambah Setoran DPH'),
    ('pbbm-dph-set-act', '/pbbm/dph/set/{act}/act', 'PBBM Tambah DPH'),
    ('pbbm-dph-set-edt', '/pbbm/dph/set/{id}/edt', 'PBBM Tambah Setoran DPH'),
    ('pbbm-dph-set-del', '/pbbm/dph/set/{id}/del', 'PBBM Hapus Setoran DPH'),
    ('pbbm-dph-set-rpt', '/pbbm/dph/set/{id}/rpt', 'PBBM Report Setoran DPH'),
    ('pbbm-kelurahan', '/pbbm/kelurahan', 'PBBM Kelurahan'),
    ('pbbm-kelurahan-act', '/pbbm/kelurahan/{act}/act', 'PBBM Act Kelurahan'),
    ('pbbm-kelurahan-add', '/pbbm/kelurahan/add', 'PBBM Tambah Kelurahan'),
    ('pbbm-kelurahan-edit',
     '/pbbm/kelurahan/{id}/edit', 'PBBM Edit Kelurahan'),
    ('pbbm-kelurahan-view',
     '/pbbm/kelurahan/{id}/view', 'PBBM View Kelurahan'),
    ('pbbm-kelurahan-delete',
     '/pbbm/kelurahan/{id}/delete', 'PBBM Hapus Kelurahan'),
    ('pbbm-kelurahan-rpt',
     '/pbbm/kelurahan/{rpt}/rpt', 'PBBM Report Kelurahan'),
    ('pbbm-kecamatan', '/pbbm/kecamatan', 'PBBM Kecamatan'),
    ('pbbm-kecamatan-act', '/pbbm/kecamatan/{act}/act', 'PBBM Act Kecamatan'),
    ('pbbm-kecamatan-add', '/pbbm/kecamatan/add', 'PBBM Tambah Kecamatan'),
    ('pbbm-kecamatan-edit',
     '/pbbm/kecamatan/{id}/edit', 'PBBM Edit Kecamatan'),
    ('pbbm-kecamatan-delete',
     '/pbbm/kecamatan/{id}/delete', 'PBBM Hapus Kecamatan'),
    ('pbbm-kecamatan-view',
     '/pbbm/kecamatan/{id}/view', 'PBBM Hapus Kecamatan'),
    ('pbbm-kecamatan-rpt',
     '/pbbm/kecamatan/{rpt}/rpt', 'PBBM Report Kecamatan'),
    ('pbbm-eis', '/pbbm/eis', 'PBBM Eis'),
    ('pbbm-eis-act', '/pbbm/eis/{act}/act', 'PBBM Act Eis'),
    ('pbbm-target', '/pbbm/target', 'PBBM Target'),
    ('pbbm-target-act', '/pbbm/target/{act}/act', 'PBBM Act Target'),
    ('pbbm-target-add', '/pbbm/target/add', 'PBBM Tambah Target'),
    ('pbbm-target-edit', '/pbbm/target/{id}/edit', 'PBBM Edit Target'),
    ('pbbm-target-delete', '/pbbm/target/{id}/delete', 'PBBM Hapus Target'),
    ('pbbm-target-view', '/pbbm/target/{id}/view', 'PBBM Lihat Target'),
    ('pbbm-target-rpt', '/pbbm/target/{rpt}/rpt', 'PBBM Report Target'),
    ('pbbm-dph-rekap', '/pbbm/dph/rekap', 'Rekap Laporan DPH'),
    ('pbbm-dph-rekap-add', '/pbbm/dph/rekap/add', 'PBBM Tambah Rekap DPH'),
    ('pbbm-dph-rekap-act',
     '/pbbm/dph/rekap/{act}/act', 'Rekap Act Laporan DPH'),
    ('pbbm-dph-rekap-rpt', '/pbbm/dph/rekap/{rpt}/rpt', 'PBBM Rekap DPH'),
    ('pbbm-user-area', '/pbbm/user/area', 'User Area'),
    ('pbbm-user-area-add', '/pbbm/user/area/add', 'Tambah User Area'),
    ('pbbm-user-area-act', '/pbbm/user/area/{act}/act', 'User Area Action'),
    ('pbbm-user-area-view', '/pbbm/user/area/{id}/view', 'Lihat Area USER'),
    ('pbbm-user-area-edit', '/pbbm/user/area/{id}/edit', 'Edit User Area'),
    ('pbbm-user-area-delete',
     '/pbbm/user/area/{id}/delete', 'Delete User Area'),
    
    ('pbbm-dhkp', '/pbbm/dhkp', 'PBBM DHKP'),
    ('pbbm-dhkp-act', '/pbbm/dhkp/{act}/act', 'PBBM DHKP Act'),
    ('pbbm-dhkp-rpt', '/pbbm/dhkp/{rpt}/rpt', 'PBBM Report DHKP'),
    
    ('pbbm-realisasi-harian', '/pbbm/realisasi/harian', 'PBBM Realisasi Harian'),
    ('pbbm-realisasi-harian-add', '/pbbm/realisasi/harian/add', 'PBBM Tambah Realisasi Harian'),
    ('pbbm-realisasi-harian-act', '/pbbm/realisasi/harian/{act}/act', 'PBBM Act Realisasi Harian'),
    ('pbbm-pelayanan', '/pbbm/pelayanan', 'Pelayanan'),
    ('pbbm-pelayanan-act', '/pbbm/pelayanan/{act}/act', 'Pelayanan Action'),
]


def includeme(config):
    """_summary_

    Args:
        config (_type_): _description_
    """
    settings = get_settings()
    for route in routes:
        config.add_route(route[0], route[1])
        titles[route[0]] = route[2]
    config.add_static_view('pbbm/static', 'tangsel.pbb.monitoring:static',
                           cache_max_age=3600)
    try:
        if "lib_dir" in settings and settings["lib_dir"]:
            import cx_Oracle
            lib_dir = rf"{settings['lib_dir']}"
            cx_Oracle.init_oracle_client(lib_dir=lib_dir)
    except Exception as e:
        log.error("Error in cx_Oracle.init_oracle_client: %s", e)
        pass

    url = 'pbbm.url' in settings and settings['pbbm.url'] and 'pbbm.' or None
    if not url:
        url = 'pbb.url' in settings and settings['pbb.url'] and 'pbb.' or 'sqlalchemy.'

    engine = engine_from_config(settings, url)
    PbbmDBSession.configure(bind=engine)
    PbbmBase.metadata.bind = engine

    # set_routes(config, app_id=191)
    config.scan('.')
    log.info("Module PBB Monitoring Loaded")