perubahan ke base 5

1 parent 3e14c155
from sqlalchemy import engine_from_config from sqlalchemy import engine_from_config
from .models import EisDBSession, EisBase # from .models import DBSession, EisBase
from opensipkd.tools import get_settings
def main(global_config, **settings): from pyramid.events import BeforeRender, subscriber
""" This function returns a Pyramid WSGI application. from opensipkd.base import get_params, BaseApp
""" import os
if 'eis.' in settings:
engine = engine_from_config(settings, 'eis.') class AppClass(BaseApp):
EisDBSession.configure(bind=engine) def __init__(self):
EisBase.metadata.bind = engine super().__init__()
self.base_dir = os.path.split(__file__)[0]
APP_CLASS = AppClass()
def includeme(config):
# APP_CLASS.init()
# APP_CLASS.static_views(config)
# SPPT_CLASS.route_from_list(config, routes, paket="opensipkd.pbb.esppt")
APP_CLASS.route_from_csv(config, "eispajak.views")
config.scan(".")
print("+", __name__, "includeme class loaded")
# url = 'pbb.url' in settings and settings['pbb.url'] and 'pbb.' or 'sqlalchemy.'
# # if not url:
# # url = 'pbbm.url' in settings and settings['pbbm.url'] and 'pbbm.' or 'sqlalchemy.'
# # log.debug(url)
# 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")
# if 'eis.' in settings:
# engine = engine_from_config(settings, 'eis.')
# DBSession.configure(bind=engine)
# EisBase.metadata.bind = engine
@subscriber(BeforeRender)
def add_global(event):
event['get_eis_menus'] = APP_CLASS.get_menus
\ No newline at end of file \ No newline at end of file
from datetime import datetime
from sqlalchemy import ( from sqlalchemy import (
Column, func
Integer,
Text,
DateTime,
ForeignKey,
UniqueConstraint,
String,
SmallInteger
) )
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
relationship,
backref
)
from zope.sqlalchemy import ZopeTransactionExtension
from ...models import (CommonModel, DefaultModel as BaseDefaultModel, from opensipkd.base.models import *
Base as EisBase, DBSession as EisDBSession, from opensipkd.base.models import (DefaultModel as BaseDefaultModel)
KodeModel as BaseKodeModel, NamaModel as BaseNamaModel)
TABLE_ARGS = {'extend_existing':True,
'schema':'eis'
}
class DefaultModel(BaseDefaultModel): class DefaultModel(BaseDefaultModel):
def save(self):
if self.id:
EisDBSession.merge(self)
else:
EisDBSession.add(self)
@classmethod
def query(cls):
return EisDBSession.query(cls)
@classmethod @classmethod
def count(cls): def count(cls):
return EisDBSession.query(func.count('id')).scalar() return DBSession.query(func.count('id')).scalar()
class KodeModel(DefaultModel, BaseKodeModel):
pass
class NamaModel(KodeModel, BaseNamaModel):
pass
from .eis import Eis, Slide, Chart, ChartItem, EisParams, ArPayment, LastUpdate
\ No newline at end of file \ No newline at end of file
from .eis import *
\ No newline at end of file \ No newline at end of file
from datetime import datetime
from sqlalchemy import ( from sqlalchemy import (
Column, Column,
Integer, Integer,
BigInteger, BigInteger,
SmallInteger, SmallInteger,
Text,
DateTime, DateTime,
String, String,
UniqueConstraint, UniqueConstraint,
ForeignKey, ForeignKey
Index
) )
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm import ( from sqlalchemy.orm import (
scoped_session, relationship
sessionmaker,
relationship, backref
) )
from ..models import (EisDBSession, DefaultModel, EisBase, NamaModel, TABLE_ARGS) from . import (DBSession, DefaultModel, Base, NamaModel, TABLE_ARGS, Base)
class Eis(EisBase, NamaModel): class Eis(Base, NamaModel):
__tablename__ = 'wells' __tablename__ = 'wells'
tahun = Column(Integer) tahun = Column(Integer)
amt_tahun = Column(BigInteger) amt_tahun = Column(BigInteger)
...@@ -33,7 +26,7 @@ class Eis(EisBase, NamaModel): ...@@ -33,7 +26,7 @@ class Eis(EisBase, NamaModel):
@classmethod @classmethod
def sum_data(cls, kode, tahun): def sum_data(cls, kode, tahun):
q = EisDBSession.query(cls).filter_by( q = DBSession.query(cls).filter_by(
kode==kode, kode==kode,
tahun=tahun).first() tahun=tahun).first()
if q: if q:
...@@ -47,13 +40,13 @@ class Eis(EisBase, NamaModel): ...@@ -47,13 +40,13 @@ class Eis(EisBase, NamaModel):
@classmethod @classmethod
def sum_order_id(cls, tahun): def sum_order_id(cls, tahun):
q = EisDBSession.query(cls).filter_by( q = DBSession.query(cls).filter_by(
tahun=tahun) tahun=tahun)
if q: if q:
return q return q
return return
class Slide(NamaModel, EisBase): class Slide(NamaModel, Base):
__tablename__ = 'slides' __tablename__ = 'slides'
source_type = Column(String(16)) #grid, image, chart-line, chart-pie, chart-bar source_type = Column(String(16)) #grid, image, chart-line, chart-pie, chart-bar
source_id = Column(String(128)) source_id = Column(String(128))
...@@ -61,7 +54,7 @@ class Slide(NamaModel, EisBase): ...@@ -61,7 +54,7 @@ class Slide(NamaModel, EisBase):
aktif = Column(SmallInteger, default=0) aktif = Column(SmallInteger, default=0)
__table_args__ = TABLE_ARGS __table_args__ = TABLE_ARGS
class Chart(NamaModel, EisBase): class Chart(NamaModel, Base):
__tablename__ = 'charts' __tablename__ = 'charts'
chart_type = Column(String(16)) chart_type = Column(String(16))
label = Column(String(128)) #digunakan jika chart membutuhkan label label = Column(String(128)) #digunakan jika chart membutuhkan label
...@@ -70,7 +63,7 @@ class Chart(NamaModel, EisBase): ...@@ -70,7 +63,7 @@ class Chart(NamaModel, EisBase):
__table_args__ = (UniqueConstraint('kode'), __table_args__ = (UniqueConstraint('kode'),
TABLE_ARGS) TABLE_ARGS)
class ChartItem(NamaModel, EisBase): class ChartItem(NamaModel, Base):
__tablename__ = 'chart_items' __tablename__ = 'chart_items'
value_1 = Column(BigInteger, default=0) value_1 = Column(BigInteger, default=0)
value_2 = Column(BigInteger, default=0) value_2 = Column(BigInteger, default=0)
...@@ -84,7 +77,7 @@ class ChartItem(NamaModel, EisBase): ...@@ -84,7 +77,7 @@ class ChartItem(NamaModel, EisBase):
value10 = Column(BigInteger, default=0) value10 = Column(BigInteger, default=0)
value11 = Column(BigInteger, default=0) value11 = Column(BigInteger, default=0)
value12 = Column(BigInteger, default=0) value12 = Column(BigInteger, default=0)
chart_id = Column(Integer, ForeignKey('eis.charts.id')) chart_id = Column(Integer, ForeignKey(Chart.id))
source_type = Column(String(32), default='realisasi') source_type = Column(String(32), default='realisasi')
rekening_kd = Column(String(128)) rekening_kd = Column(String(128))
color = Column(String(6)) color = Column(String(6))
...@@ -99,17 +92,17 @@ class ChartItem(NamaModel, EisBase): ...@@ -99,17 +92,17 @@ class ChartItem(NamaModel, EisBase):
__table_args__ = (UniqueConstraint('kode'), __table_args__ = (UniqueConstraint('kode'),
TABLE_ARGS) TABLE_ARGS)
class EisParams(NamaModel, EisBase): class EisParams(NamaModel, Base):
__tablename__ = 'params' __tablename__ = 'params'
last_update = Column(DateTime(timezone=False), nullable=True) last_update = Column(DateTime(timezone=False), nullable=True)
__table_args__ = (TABLE_ARGS) __table_args__ = (TABLE_ARGS)
class LastUpdate(DefaultModel, EisBase): class LastUpdate(DefaultModel, Base):
__tablename__ = 'last_update' __tablename__ = 'last_update'
wells = Column(DateTime(timezone=False), nullable=True) wells = Column(DateTime(timezone=False), nullable=True)
__table_args__ = (TABLE_ARGS) __table_args__ = (TABLE_ARGS)
class ArPayment(NamaModel, EisBase): class ArPayment(NamaModel, Base):
__tablename__ = 'ar_payment' __tablename__ = 'ar_payment'
tanggal = Column(DateTime(timezone=False)) tanggal = Column(DateTime(timezone=False))
denda = Column(BigInteger) denda = Column(BigInteger)
......
ChartData = {
'options': ['insert if not exists','delete first'],
'csv': ['chart.csv'],
}
ChartItemData = {
'options': ['insert if not exists','delete first'],
'csv': ['chart_item.csv'],
}
kode,nama,path,status
eis,EIS,/eis,1
eis-carousel,Carousel,/eis/carousel,1
eis-carousel-act,Carousel Action,/eis/carousel/{act}/act,1
eis-carousel-add,Carousel Add,/eis/carousel/add,1
eis-carousel-edit,Carousel Edit,/eis/carousel/{id}/edit,1
eis-carousel-delete,Carousel Delete,/eis/carousel/{id}/delete,1
eis-dashboard,EIS,/eis/dashboard,1
eis-dashboard-act,EIS Act,/eis/dashboard/{act}/act,1
eis-dashboard-calc-all,EIS Calc ALL,/eis/dashboad/calc/all,1
eis-home,EIS Home,/eis/home,1
eis-act,EIS Home Act,/eis/{act}/act,1
eis-calc-all,EIS Calc ALL,/eis/calc/all,1
eis-chart,Chart,/eis/chart,1
eis-chart-act,EIS Chart Action,/eis/chart/{act}/act,1
eis-chart-add,EIS Chart Add,/eis/chart/add,1
eis-chart-edit,EIS Chart Edit,/eis/chart/{id}/edit,1
eis-chart-delete,EIS Chart Delet,/eis/chart/{id}/delete,1
eis-chart-item,Chart Item,/eis/chart/item/{chart_id},1
eis-chart-item-act,EIS Chart Item Action,/eis/chart/item/{chart_id}/{act}/act,1
eis-chart-item-add,EIS Chart Item Add,/eis/chart/item/{chart_id}/add,1
eis-chart-item-edit,EIS Chart Item Edit,/eis/chart/item/{chart_id}/{id}/edit,1
eis-chart-item-delete,EIS Chart Item Delet,/eis/chart/item/{chart_id}/{id}/delete,1
eis-item,EIS Item,/eis/item,1
eis-item-act,EIS Item Action,/eis/item/{act}/act,1
eis-item-add,EIS Item Add,/eis/item/add,1
eis-item-edit,EIS Item Edit,/eis/item/{id}/edit,1
eis-item-delete,EIS Item Delete,/eis/item/{id}/delete,1
eis-slide,EIS Slide,/eis/slide,1
eis-slide-act,EIS Slide Act,/eis/slide/{act}/act,1
eis-slide-add,EIS Slide Add,/eis/slide/add,1
eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1
eis-slide-delete,EIS Slide Delete,/eis/slide/{id}/delete,1
kode,nama,path,status,type
eis,EIS,/eis,1,0
eis-carousel,Carousel,/eis/carousel,1,0
eis-carousel-act,Carousel Action,/eis/carousel/{act}/act,1,0
eis-carousel-add,Carousel Add,/eis/carousel/add,1,0
eis-carousel-edit,Carousel Edit,/eis/carousel/{id}/edit,1,0
eis-carousel-delete,Carousel Delete,/eis/carousel/{id}/delete,1,0
eis-dashboard,EIS,/eis/dashboard,1,0
eis-dashboard-act,EIS Act,/eis/dashboard/{act}/act,1,0
eis-dashboard-calc-all,EIS Calc ALL,/eis/dashboad/calc/all,1,0
eis-home,EIS Home,/eis/home,1,0
eis-act,EIS Home Act,/eis/{act}/act,1,0
eis-calc-all,EIS Calc ALL,/eis/calc/all,1,0
eis-chart,Chart,/eis/chart,1,0
eis-chart-act,EIS Chart Action,/eis/chart/{act}/act,1,0
eis-chart-add,EIS Chart Add,/eis/chart/add,1,0
eis-chart-edit,EIS Chart Edit,/eis/chart/{id}/edit,1,0
eis-chart-delete,EIS Chart Delet,/eis/chart/{id}/delete,1,0
eis-chart-item,Chart Item,/eis/chart/item/{chart_id},1,0
eis-chart-item-act,EIS Chart Item Action,/eis/chart/item/{chart_id}/{act}/act,1,0
eis-chart-item-add,EIS Chart Item Add,/eis/chart/item/{chart_id}/add,1,0
eis-chart-item-edit,EIS Chart Item Edit,/eis/chart/item/{chart_id}/{id}/edit,1,0
eis-chart-item-delete,EIS Chart Item Delet,/eis/chart/item/{chart_id}/{id}/delete,1,0
eis-item,EIS Item,/eis/item,1,0
eis-item-act,EIS Item Action,/eis/item/{act}/act,1,0
eis-item-add,EIS Item Add,/eis/item/add,1,0
eis-item-edit,EIS Item Edit,/eis/item/{id}/edit,1,0
eis-item-delete,EIS Item Delete,/eis/item/{id}/delete,1,0
eis-slide,EIS Slide,/eis/slide,1,0
eis-slide-act,EIS Slide Act,/eis/slide/{act}/act,1,0
eis-slide-add,EIS Slide Add,/eis/slide/add,1,0
eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1,0
eis-slide-delete,EIS Slide Delete,/eis/slide/{id}/delete,1,0
RouteData = {
'options': ['insert if not exists','delete first'],
'csv': ['route.csv'],
'keys':['kode'],
}
SlideData = {
'options': ['insert if not exists','delete first'],
'csv': ['slide.csv'],
}
EisData = {
'options': ['insert if not exists','delete first'],
'csv': ['wells.csv'],
}
import os
from .data.routes import RouteData
from ...scripts.initial_data import InitialData
from ..models import (
EisBase as ModuleBase,
CommonModel,
EisDBSession as ModuleDBSession,
)
from .data.routes import RouteData
from .data.slide import SlideData
from .data.wells import EisData
from .data.chart import ChartData
from .data.chart_item import ChartItemData
from ...scripts.DbTools import (
get_pkeys,
execute,
split_tablename,
)
from ..models import (
EisBase as ModuleBase,
CommonModel,
EisDBSession as ModuleDBSession,
Eis,Slide, Chart, ChartItem
)
fixtures = [
('routes', RouteData),
#('eis.charts', ChartData),
#('eis.chart_items', ChartItemData),
#('eis.slides', SlideData),
#('eis.wells', EisData),
]
def insert():
initialData = InitialData(ModuleBase, ModuleDBSession)
base_dir = os.path.split(__file__)[0]
initialData.insert(base_dir, fixtures)
\ No newline at end of file \ No newline at end of file
import os
import sys import sys
import transaction import transaction
import subprocess from sqlalchemy import (engine_from_config, )
from sqlalchemy import (
engine_from_config,
select,
)
from sqlalchemy.schema import CreateSchema
from pyramid.paster import ( from pyramid.paster import (
get_appsettings, get_appsettings,
setup_logging, setup_logging,
) )
from ..models import (
EisDBSession as ModuleDBSession,
EisBase as ModuleBase,
)
from ..models import * from ..models import *
from . import initial_data from opensipkd.base.scripts.initializedb import create_schema
#from .tools import mkdir
from ...scripts.initializedb import create_schema, read_file
from ...tools import get_settings
def main(settings): def main(argv=sys.argv):
'eis' config_uri = argv[1]
if 'eis.url' in settings and settings['eis.url']: setup_logging(config_uri)
engine = engine_from_config(settings, 'eis.') settings = get_appsettings(config_uri)
engine = engine_from_config(settings, 'sqlalchemy.')
else: Base.metadata.bind = engine
engine = ModuleDBSession.bind;
create_schema(engine, 'eis') create_schema(engine, 'eis')
ModuleBase.metadata.create_all(engine) Base.metadata.create_all(bind=engine)
ModuleDBSession.configure(bind=engine) DBSession.configure(bind=engine)
initial_data.insert()
transaction.commit() transaction.commit()
print('****EIS CREATED****') print('****EIS CREATED****')
from opensipkd.tools import *
\ No newline at end of file \ No newline at end of file
from ...views.base_views import BaseView as OsBaseView from opensipkd.base.views import base_views
from ...views.common import DataTables, ColumnDT from opensipkd.base.views import DataTables, ColumnDT
from ...views import widget class BaseView(base_views.BaseView):
from pyramid.view import (
view_config,
)
class BaseView(OsBaseView):
pass pass
...@@ -6,8 +6,7 @@ from pyramid.view import ( ...@@ -6,8 +6,7 @@ from pyramid.view import (
# HTTPFound, # HTTPFound,
# ) # )
from ..views import BaseView from ..views import BaseView
from ..models import EisDBSession from ..models import *
from ..models import Eis, Chart, ChartItem, Slide
#from ..tools import row2dict #from ..tools import row2dict
class dashboard(BaseView): class dashboard(BaseView):
...@@ -20,7 +19,7 @@ class dashboard(BaseView): ...@@ -20,7 +19,7 @@ class dashboard(BaseView):
@view_config(route_name='eis-dashboard', renderer='templates/dashboard.pt') @view_config(route_name='eis-dashboard', renderer='templates/dashboard.pt')
def view_app(self): def view_app(self):
tahun = self.ses['tahun'] tahun = self.ses['tahun']
datas = EisDBSession.query(Slide).filter(Slide.status==1).order_by(Slide.order_id) datas = DBSession.query(Slide).filter(Slide.status==1).order_by(Slide.order_id)
if not datas: if not datas:
datas = {} datas = {}
return dict(project='EIS', datas=datas) return dict(project='EIS', datas=datas)
...@@ -35,7 +34,7 @@ class dashboard(BaseView): ...@@ -35,7 +34,7 @@ class dashboard(BaseView):
json_data['success']=False json_data['success']=False
if req.matchdict['act']=='grid': if req.matchdict['act']=='grid':
rows = EisDBSession.query(Eis).filter(Eis.id==id) rows = DBSession.query(Eis).filter(Eis.id==id)
if not rows: if not rows:
return json_data return json_data
...@@ -57,12 +56,12 @@ class dashboard(BaseView): ...@@ -57,12 +56,12 @@ class dashboard(BaseView):
# GRAFIK LINE/BAR # GRAFIK LINE/BAR
####################################################################### #######################################################################
elif req.matchdict['act']=='linebar': elif req.matchdict['act']=='linebar':
rows = EisDBSession.query(Chart).filter(Chart.id==id).first() rows = DBSession.query(Chart).filter(Chart.id==id).first()
if not rows: if not rows:
return json_data return json_data
json_data['label'] = rows.label.split(',') json_data['label'] = rows.label.split(',')
rows = EisDBSession.query(ChartItem).filter(ChartItem.chart_id==id).\ rows = DBSession.query(ChartItem).filter(ChartItem.chart_id==id).\
order_by(ChartItem.id) order_by(ChartItem.id)
for row in rows: for row in rows:
json_data[row.source_type] = [row.value_1/row.chart.devider,row.value_2/row.chart.devider,row.value_3/row.chart.devider, json_data[row.source_type] = [row.value_1/row.chart.devider,row.value_2/row.chart.devider,row.value_3/row.chart.devider,
...@@ -78,12 +77,12 @@ class dashboard(BaseView): ...@@ -78,12 +77,12 @@ class dashboard(BaseView):
# GRAFIK LINGKARAN # GRAFIK LINGKARAN
####################################################################### #######################################################################
elif req.matchdict['act']=='pie': elif req.matchdict['act']=='pie':
rows = EisDBSession.query(Chart).filter(Chart.id==id).first() rows = DBSession.query(Chart).filter(Chart.id==id).first()
if not rows: if not rows:
return json_data return json_data
json_data['label'] = rows.label.split(',') json_data['label'] = rows.label.split(',')
rows = EisDBSession.query(ChartItem).filter(ChartItem.chart_id==id).\ rows = DBSession.query(ChartItem).filter(ChartItem.chart_id==id).\
order_by(ChartItem.id) order_by(ChartItem.id)
json_data['rows'] = {} json_data['rows'] = {}
for row in rows: for row in rows:
......
...@@ -15,12 +15,7 @@ from deform import ( ...@@ -15,12 +15,7 @@ from deform import (
widget, widget,
ValidationFailure, ValidationFailure,
) )
from ..models import ( from ..models import *
EisDBSession
)
from ..models.eis import (
Eis
)
from ..views import BaseView, ColumnDT, DataTables from ..views import BaseView, ColumnDT, DataTables
...@@ -121,13 +116,13 @@ class view_carousel(BaseView): ...@@ -121,13 +116,13 @@ class view_carousel(BaseView):
columns.append(ColumnDT(Eis.aktif, )) columns.append(ColumnDT(Eis.aktif, ))
columns.append(ColumnDT(func.to_char(Eis.updated, "DD-MM-YYYY"), )) columns.append(ColumnDT(func.to_char(Eis.updated, "DD-MM-YYYY"), ))
query = EisDBSession.query().select_from(Eis) query = DBSession.query().select_from(Eis)
rowTable = DataTables(request.GET, query, columns) rowTable = DataTables(request.GET, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='hon': elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or '' term = 'term' in params and params['term'] or ''
prefix = 'prefix' in params and params['prefix'] or '' prefix = 'prefix' in params and params['prefix'] or ''
qry = EisDBSession.query(Eis).\ qry = DBSession.query(Eis).\
filter(Eis.status == 1).\ filter(Eis.status == 1).\
filter(Eis.nama.ilike('%%%s%%' % term)).\ filter(Eis.nama.ilike('%%%s%%' % term)).\
order_by(Eis.nama) order_by(Eis.nama)
...@@ -221,7 +216,7 @@ class view_carousel(BaseView): ...@@ -221,7 +216,7 @@ class view_carousel(BaseView):
msg = 'Carousel ID %d %s sudah dihapus.' % (row.id, row.nama) msg = 'Carousel ID %d %s sudah dihapus.' % (row.id, row.nama)
try: try:
q.delete() q.delete()
EisDBSession.flush() DBSession.flush()
except: except:
msg = 'Carousel ID %d %s tidak dapat dihapus.' % (row.id, row.nama) msg = 'Carousel ID %d %s tidak dapat dihapus.' % (row.id, row.nama)
request.session.flash(msg) request.session.flash(msg)
...@@ -235,7 +230,7 @@ class view_carousel(BaseView): ...@@ -235,7 +230,7 @@ class view_carousel(BaseView):
def form_validator(form, value): def form_validator(form, value):
if 'id' in form.request.matchdict: if 'id' in form.request.matchdict:
uid = form.request.matchdict['id'] uid = form.request.matchdict['id']
q = EisDBSession.query(Eis).filter_by(id=uid) q = DBSession.query(Eis).filter_by(id=uid)
row = q.first() row = q.first()
else: else:
row = None row = None
...@@ -273,8 +268,8 @@ def save(values, user, row=None): ...@@ -273,8 +268,8 @@ def save(values, user, row=None):
row.from_dict(values['amount']) row.from_dict(values['amount'])
row.status = 'status' in values and values['status'] and 1 or 0 row.status = 'status' in values and values['status'] and 1 or 0
row.aktif = 'aktif' in values and values['aktif'] and 1 or 0 row.aktif = 'aktif' in values and values['aktif'] and 1 or 0
EisDBSession.add(row) DBSession.add(row)
EisDBSession.flush() DBSession.flush()
return row return row
def route_list(request): def route_list(request):
...@@ -284,7 +279,7 @@ def route_list(request): ...@@ -284,7 +279,7 @@ def route_list(request):
# Edit # # Edit #
######## ########
def query_id(request): def query_id(request):
return EisDBSession.query(Eis).filter_by(id=request.matchdict['id']) return DBSession.query(Eis).filter_by(id=request.matchdict['id'])
def id_not_found(request): def id_not_found(request):
msg = 'Carousel ID %s Tidak Ditemukan.' % request.matchdict['id'] msg = 'Carousel ID %s Tidak Ditemukan.' % request.matchdict['id']
......
...@@ -16,7 +16,7 @@ from deform import ( ...@@ -16,7 +16,7 @@ from deform import (
ValidationFailure, ValidationFailure,
) )
from ..models import ( from ..models import (
EisDBSession DBSession
) )
from ..models.eis import ( from ..models.eis import (
Chart Chart
...@@ -94,14 +94,14 @@ class view_eis_chart(BaseView): ...@@ -94,14 +94,14 @@ class view_eis_chart(BaseView):
columns.append(ColumnDT(Chart.chart_type)) columns.append(ColumnDT(Chart.chart_type))
columns.append(ColumnDT(Chart.devider)) columns.append(ColumnDT(Chart.devider))
query = EisDBSession.query().select_from(Chart) query = DBSession.query().select_from(Chart)
rowTable = DataTables(req.GET, query, columns) rowTable = DataTables(req.GET, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='hon': elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or '' term = 'term' in params and params['term'] or ''
prefix = 'prefix' in params and params['prefix'] or '' prefix = 'prefix' in params and params['prefix'] or ''
chart_type = 'chart_type' in params and params['chart_type'] or '' chart_type = 'chart_type' in params and params['chart_type'] or ''
qry = EisDBSession.query(Chart).\ qry = DBSession.query(Chart).\
filter(Chart.status == 1, filter(Chart.status == 1,
Chart.chart_type==chart_type, Chart.chart_type==chart_type,
Chart.nama.ilike('%%%s%%' % term)).\ Chart.nama.ilike('%%%s%%' % term)).\
...@@ -121,7 +121,7 @@ class view_eis_chart(BaseView): ...@@ -121,7 +121,7 @@ class view_eis_chart(BaseView):
def form_validator(self, form, value): def form_validator(self, form, value):
if 'id' in form.request.matchdict: if 'id' in form.request.matchdict:
uid = form.request.matchdict['id'] uid = form.request.matchdict['id']
q = EisDBSession.query(Chart).filter_by(id=uid) q = DBSession.query(Chart).filter_by(id=uid)
row = q.first() row = q.first()
else: else:
row = None row = None
...@@ -143,8 +143,8 @@ class view_eis_chart(BaseView): ...@@ -143,8 +143,8 @@ class view_eis_chart(BaseView):
row.updated = datetime.now() row.updated = datetime.now()
row.update_uid = user.id row.update_uid = user.id
row.aktif = 'aktif' in values and values['aktif'] and 1 or 0 row.aktif = 'aktif' in values and values['aktif'] and 1 or 0
EisDBSession.add(row) DBSession.add(row)
EisDBSession.flush() DBSession.flush()
return row return row
def save_request(self, values, row=None): def save_request(self, values, row=None):
...@@ -187,7 +187,7 @@ class view_eis_chart(BaseView): ...@@ -187,7 +187,7 @@ class view_eis_chart(BaseView):
# Edit # # Edit #
######## ########
def query_id(self): def query_id(self):
return EisDBSession.query(Chart).filter_by(id=self.req.matchdict['id']) return DBSession.query(Chart).filter_by(id=self.req.matchdict['id'])
def id_not_found(self): def id_not_found(self):
msg = 'Chart ID %s Tidak Ditemukan.' % self.req.matchdict['id'] msg = 'Chart ID %s Tidak Ditemukan.' % self.req.matchdict['id']
...@@ -237,7 +237,7 @@ class view_eis_chart(BaseView): ...@@ -237,7 +237,7 @@ class view_eis_chart(BaseView):
msg = 'Chart ID %d %s sudah dihapus.' % (row.id, row.nama) msg = 'Chart ID %d %s sudah dihapus.' % (row.id, row.nama)
try: try:
q.delete() q.delete()
EisDBSession.flush() DBSession.flush()
except: except:
msg = 'Chart ID %d %s tidak dapat dihapus.' % (row.id, row.nama) msg = 'Chart ID %d %s tidak dapat dihapus.' % (row.id, row.nama)
request.session.flash(msg) request.session.flash(msg)
......
...@@ -7,7 +7,7 @@ from pyramid.view import (view_config,) ...@@ -7,7 +7,7 @@ from pyramid.view import (view_config,)
from pyramid.httpexceptions import ( HTTPFound, ) from pyramid.httpexceptions import ( HTTPFound, )
import colander import colander
from deform import (Form, widget, ValidationFailure, ) from deform import (Form, widget, ValidationFailure, )
from ..models import EisDBSession from ..models import DBSession
from ..models.eis import ChartItem, Chart from ..models.eis import ChartItem, Chart
from ..views import BaseView, ColumnDT, DataTables from ..views import BaseView, ColumnDT, DataTables
...@@ -166,7 +166,7 @@ class view_eis_chart_item(BaseView): ...@@ -166,7 +166,7 @@ class view_eis_chart_item(BaseView):
columns.append(ColumnDT(ChartItem.value_5, )) columns.append(ColumnDT(ChartItem.value_5, ))
columns.append(ColumnDT(ChartItem.value_6, )) columns.append(ColumnDT(ChartItem.value_6, ))
query = EisDBSession.query().select_from(ChartItem).filter(ChartItem.chart_id==chart_id) query = DBSession.query().select_from(ChartItem).filter(ChartItem.chart_id==chart_id)
rowTable = DataTables(req.GET, query, columns) rowTable = DataTables(req.GET, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -176,7 +176,7 @@ class view_eis_chart_item(BaseView): ...@@ -176,7 +176,7 @@ class view_eis_chart_item(BaseView):
def form_validator(self, form, value): def form_validator(self, form, value):
if 'id' in form.request.matchdict: if 'id' in form.request.matchdict:
uid = form.request.matchdict['id'] uid = form.request.matchdict['id']
q = EisDBSession.query(ChartItem).filter_by(id=uid) q = DBSession.query(ChartItem).filter_by(id=uid)
row = q.first() row = q.first()
else: else:
row = None row = None
...@@ -201,8 +201,8 @@ class view_eis_chart_item(BaseView): ...@@ -201,8 +201,8 @@ class view_eis_chart_item(BaseView):
row.from_dict(values['values_1']) row.from_dict(values['values_1'])
row.from_dict(values['values_2']) row.from_dict(values['values_2'])
row.is_sum = 'is_sum' in values and values['is_sum'] and 1 or 0 row.is_sum = 'is_sum' in values and values['is_sum'] and 1 or 0
EisDBSession.add(row) DBSession.add(row)
EisDBSession.flush() DBSession.flush()
return row return row
def save_request(self, values, row=None): def save_request(self, values, row=None):
...@@ -250,7 +250,7 @@ class view_eis_chart_item(BaseView): ...@@ -250,7 +250,7 @@ class view_eis_chart_item(BaseView):
# Edit # # Edit #
######## ########
def query_id(self): def query_id(self):
return EisDBSession.query(ChartItem).filter_by(id=self.req.matchdict['id']) return DBSession.query(ChartItem).filter_by(id=self.req.matchdict['id'])
def id_not_found(self,chart_id): def id_not_found(self,chart_id):
msg = 'ChartItem ID %s Tidak Ditemukan.' % self.req.matchdict['id'] msg = 'ChartItem ID %s Tidak Ditemukan.' % self.req.matchdict['id']
......
...@@ -7,7 +7,7 @@ from pyramid.view import (view_config,) ...@@ -7,7 +7,7 @@ from pyramid.view import (view_config,)
from pyramid.httpexceptions import ( HTTPFound, ) from pyramid.httpexceptions import ( HTTPFound, )
import colander import colander
from deform import (Form, widget, ValidationFailure, ) from deform import (Form, widget, ValidationFailure, )
from ..models import EisDBSession from ..models import DBSession
#from ..models.eis import ARPaymentDetail as AR #from ..models.eis import ARPaymentDetail as AR
from ..views import BaseView, ColumnDT, DataTables from ..views import BaseView, ColumnDT, DataTables
...@@ -124,7 +124,7 @@ class view_eis_item(BaseView): ...@@ -124,7 +124,7 @@ class view_eis_item(BaseView):
columns.append(ColumnDT('tanggal', )) columns.append(ColumnDT('tanggal', ))
columns.append(ColumnDT('amount', )) columns.append(ColumnDT('amount', ))
query = EisDBSession.query().select_from(AR) query = DBSession.query().select_from(AR)
rowTable = DataTables(req.GET, query, columns) rowTable = DataTables(req.GET, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -134,7 +134,7 @@ class view_eis_item(BaseView): ...@@ -134,7 +134,7 @@ class view_eis_item(BaseView):
def form_validator(self, form, value): def form_validator(self, form, value):
if 'id' in form.request.matchdict: if 'id' in form.request.matchdict:
uid = form.request.matchdict['id'] uid = form.request.matchdict['id']
q = EisDBSession.query(AR).filter_by(id=uid) q = DBSession.query(AR).filter_by(id=uid)
row = q.first() row = q.first()
else: else:
row = None row = None
...@@ -157,8 +157,8 @@ class view_eis_item(BaseView): ...@@ -157,8 +157,8 @@ class view_eis_item(BaseView):
row.update_uid = user.id row.update_uid = user.id
row.disable = 'disable' in values and values['disable'] and 1 or 0 row.disable = 'disable' in values and values['disable'] and 1 or 0
row.is_kota = 'is_kota' in values and values['is_kota'] and 1 or 0 row.is_kota = 'is_kota' in values and values['is_kota'] and 1 or 0
EisDBSession.add(row) DBSession.add(row)
EisDBSession.flush() DBSession.flush()
return row return row
def save_request(self, values, row=None): def save_request(self, values, row=None):
...@@ -205,7 +205,7 @@ class view_eis_item(BaseView): ...@@ -205,7 +205,7 @@ class view_eis_item(BaseView):
# Edit # # Edit #
######## ########
def query_id(self): def query_id(self):
return EisDBSession.query(AR).filter_by(id=self.req.matchdict['id']) return DBSession.query(AR).filter_by(id=self.req.matchdict['id'])
def id_not_found(self): def id_not_found(self):
msg = 'AR ID %s Tidak Ditemukan.' % self.req.matchdict['id'] msg = 'AR ID %s Tidak Ditemukan.' % self.req.matchdict['id']
...@@ -272,7 +272,7 @@ class view_eis_item(BaseView): ...@@ -272,7 +272,7 @@ class view_eis_item(BaseView):
msg = 'AR ID %d %s sudah dihapus.' % (row.id, row.nama) msg = 'AR ID %d %s sudah dihapus.' % (row.id, row.nama)
try: try:
q.delete() q.delete()
EisDBSession.flush() DBSession.flush()
except: except:
msg = 'AR ID %d %s tidak dapat dihapus.' % (row.id, row.nama) msg = 'AR ID %d %s tidak dapat dihapus.' % (row.id, row.nama)
request.session.flash(msg) request.session.flash(msg)
......
...@@ -9,7 +9,7 @@ import colander ...@@ -9,7 +9,7 @@ import colander
from deform import (Form, ValidationFailure, FileData,) from deform import (Form, ValidationFailure, FileData,)
#from ..views import widget #from ..views import widget
from deform import widget from deform import widget
from ..models import EisDBSession from ..models import DBSession
from ..models.eis import Slide, Eis from ..models.eis import Slide, Eis
from sqlalchemy.sql.expression import update from sqlalchemy.sql.expression import update
from ..views import BaseView, ColumnDT, DataTables from ..views import BaseView, ColumnDT, DataTables
...@@ -139,7 +139,7 @@ class view_eis_slide(BaseView): ...@@ -139,7 +139,7 @@ class view_eis_slide(BaseView):
columns.append(ColumnDT(Slide.order_id)) columns.append(ColumnDT(Slide.order_id))
columns.append(ColumnDT(Slide.aktif)) columns.append(ColumnDT(Slide.aktif))
columns.append(ColumnDT(Slide.status)) columns.append(ColumnDT(Slide.status))
query = EisDBSession.query().select_from(Slide) query = DBSession.query().select_from(Slide)
rowTable = DataTables(req.GET, query, columns) rowTable = DataTables(req.GET, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -149,7 +149,7 @@ class view_eis_slide(BaseView): ...@@ -149,7 +149,7 @@ class view_eis_slide(BaseView):
def form_validator(self, form, value): def form_validator(self, form, value):
if 'id' in form.request.matchdict: if 'id' in form.request.matchdict:
uid = form.request.matchdict['id'] uid = form.request.matchdict['id']
q = EisDBSession.query(Slide).filter_by(id=uid) q = DBSession.query(Slide).filter_by(id=uid)
row = q.first() row = q.first()
else: else:
row = None row = None
...@@ -206,7 +206,7 @@ class view_eis_slide(BaseView): ...@@ -206,7 +206,7 @@ class view_eis_slide(BaseView):
# Edit # # Edit #
######## ########
def query_id(self): def query_id(self):
return EisDBSession.query(Slide).filter_by(id=self.req.matchdict['id']) return DBSession.query(Slide).filter_by(id=self.req.matchdict['id'])
def id_not_found(self): def id_not_found(self):
msg = 'Slide ID %s Tidak Ditemukan.' % self.req.matchdict['id'] msg = 'Slide ID %s Tidak Ditemukan.' % self.req.matchdict['id']
...@@ -265,7 +265,7 @@ class view_eis_slide(BaseView): ...@@ -265,7 +265,7 @@ class view_eis_slide(BaseView):
msg = 'Slide ID %d %s sudah dihapus.' % (row.id, row.nama) msg = 'Slide ID %d %s sudah dihapus.' % (row.id, row.nama)
try: try:
q.delete() q.delete()
EisDBSession.flush() DBSession.flush()
except: except:
msg = 'Slide ID %d %s tidak dapat dihapus.' % (row.id, row.nama) msg = 'Slide ID %d %s tidak dapat dihapus.' % (row.id, row.nama)
request.session.flash(msg) request.session.flash(msg)
...@@ -299,11 +299,11 @@ def save(values, user, row=None): ...@@ -299,11 +299,11 @@ def save(values, user, row=None):
row.update_uid = user.id row.update_uid = user.id
row.aktif = 'aktif' in values and values['aktif'] and 1 or 0 row.aktif = 'aktif' in values and values['aktif'] and 1 or 0
row.status = 'status' in values and values['status'] and 1 or 0 row.status = 'status' in values and values['status'] and 1 or 0
EisDBSession.add(row) DBSession.add(row)
EisDBSession.flush() DBSession.flush()
if 'aktif' in values and values['aktif']: if 'aktif' in values and values['aktif']:
stmt = update(Slide).where(Slide.id!=row.id).\ stmt = update(Slide).where(Slide.id!=row.id).\
values(aktif=0) values(aktif=0)
EisDBSession.execute(stmt) DBSession.execute(stmt)
EisDBSession.flush() DBSession.flush()
return row return row
<html metal:use-macro = "load: ../../../views/templates/base.pt"> <html metal:use-macro = "load: opensipkd.base.views:templates/base.pt">
<div metal:fill-slot="header"> <div metal:fill-slot="header">
<link href="/static/chart/legend/legend.css" rel="stylesheet"> <link href="/static/chart/legend/legend.css" rel="stylesheet">
<script type="text/javascript" src="/static/chart/Chart.js"> </script> <script type="text/javascript" src="/static/chart/Chart.js"> </script>
......
...@@ -5,20 +5,19 @@ build-backend = 'setuptools.build_meta' ...@@ -5,20 +5,19 @@ build-backend = 'setuptools.build_meta'
#packages = ["opensipkd", "opensipkd.pbb", "opensipkd.pbb.esppt"] #packages = ["opensipkd", "opensipkd.pbb", "opensipkd.pbb.esppt"]
[tool.setuptools.packages.find] [tool.setuptools.packages.find]
include = ['eispajak.*'] include = ['eispajak']
[tool.mypy] [tool.mypy]
exclude = [ exclude = ['tmp' , 'build', 'dist', 'eispajak.egg-info', 'docs', 'tests']
]
show_error_codes = true show_error_codes = true
[[tool.mypy.overrides]] #[[tool.mypy.overrides]]
#
module = [ #module = [
] #]
warn_unused_ignores = true #warn_unused_ignores = true
strict = true #strict = true
[project] [project]
......
from ..tools import *
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!