Commit 1970af04 by aa.gusti

perbaikan terimatgl

1 parent 42da8054
import importlib
from opensipkd.base import get_params from opensipkd.base import get_params
from opensipkd.base import titles from opensipkd.base import titles
try: try:
COBA_UPLOAD = get_params('coba_upload', '/tmp/coba/upload') COBA_UPLOAD = get_params('coba_upload', '/tmp/coba/upload')
except: except:
COBA_UPLOAD = '/tmp/coba/upload' COBA_UPLOAD = '/tmp/coba/upload'
routes = [ routes = [
("coba-home", "/coba/home", "Home Coba"), ("coba-home", "/coba/home", "Home Coba", "__init__", "home", "home.pt", "",),
("coba-form", "/coba/form", "Daftar"), ("coba-form", "/coba/form", "Daftar", "view_form", "list", "list.pt", "",),
("coba-form-add", "/coba/form/add", "Tambah"), ("coba-form-add", "/coba/form/add", "Tambah", "view_form", "add", "form.pt", "",),
("coba-form-edit", "/coba/form/{id}/edit", "Koreksi"), ("coba-form-edit", "/coba/form/{id}/edit", "Koreksi", "view_form", "edit", "form.pt", "",),
("coba-form-view", "/coba/form/{id}/view", "Lihat"), ("coba-form-view", "/coba/form/{id}/view", "Lihat", "view_form", "view", "form.pt", "",),
("coba-form-delete", "/coba/form/{id}/delete", "Hapus"), ("coba-form-delete", "/coba/form/{id}/delete", "Hapus", "view_form", "delete", "form.pt", "",),
("coba-form-act", "/coba/form/{act}/act", "Koreksi"), ("coba-form-act", "/coba/form/{act}/act", "Koreksi", "view_form", "act", "json", "",),
("coba-upload", "/coba/upload", "Daftar"), ("coba-upload", "/coba/upload", "Daftar", "view_upload", "list", "list.pt", "",),
("coba-upload-add", "/coba/upload/add", "Tambah"), ("coba-upload-add", "/coba/upload/add", "Tambah", "view_upload", "add", "form.pt", "",),
("coba-upload-edit", "/coba/upload/{id}/edit", "Koreksi"), (
("coba-upload-view", "/coba/upload/{id}/view", "Lihat"), "coba-upload-edit", "/coba/upload/{id}/edit", "Koreksi", "view_upload", "edit", "form.pt",
("coba-upload-delete", "/coba/upload/{id}/delete", "Hapus"), "",),
("coba-upload-act", "/coba/upload/{act}/act", "Koreksi"), ("coba-upload-view", "/coba/upload/{id}/view", "Lihat", "view_upload", "view", "form.pt", "",),
("coba-upload-delete", "/coba/upload/{id}/delete", "Hapus", "view_upload", "delete", "form.pt",
"",),
("coba-upload-act", "/coba/upload/{act}/act", "Koreksi", "view_upload", "act", "json", "",),
("coba-filters", "/coba/filter", "Filter", "view_filter", "add", "form.pt", "",),
] ]
# def init_db(config): # def init_db(config):
# settings = get_settings() # settings = get_settings()
# url = 'bphtb.url' in settings and settings['bphtb.url'] and 'bphtb.' or 'sqlalchemy.' # url = 'bphtb.url' in settings and settings['bphtb.url'] and 'bphtb.' or 'sqlalchemy.'
...@@ -32,18 +40,40 @@ routes = [ ...@@ -32,18 +40,40 @@ routes = [
# BphtbBase.metadata.bind = engine # BphtbBase.metadata.bind = engine
def includeme(config): def includeme(config):
for route in routes: for route in routes:
config.add_route(route[0], route[1]) config.add_route(route[0], route[1])
titles[route[0]] = route[2] titles[route[0]] = route[2]
class_name = f".views.{route[3]}"
attr = f"view_{route[4]}"
template = route[5]
_views = importlib.import_module(class_name, "opensipkd.coba")
views = _views
if template == "json":
renderer = template
else:
renderer = "views/templates/" + template
kode = route[0]
permission = route[6]
print(views, attr)
print(getattr(views.Views, attr))
if not permission:
config.add_view(views.Views, attr=f"{attr}",
route_name=kode,
renderer=renderer)
else:
config.add_view(views.Views, attr=f"{attr}",
route_name=kode, permission=permission,
renderer=renderer)
config.add_static_view('coba/static', 'opensipkd.coba:static', config.add_static_view('coba/static', 'opensipkd.coba:static',
cache_max_age=3600) cache_max_age=3600)
config.add_static_view('coba/upload', COBA_UPLOAD, config.add_static_view('coba/upload', COBA_UPLOAD,
cache_max_age=3600) cache_max_age=3600)
# config.add_static_view('static_coba', # config.add_static_view('static_coba',
# get_params('static_coba', '/tmp/static_coba'), # get_params('static_coba', '/tmp/static_coba'),
# cache_max_age=0) # cache_max_age=0)
config.scan('.') config.scan('.')
\ No newline at end of file \ No newline at end of file
...@@ -41,7 +41,7 @@ def main(argv=sys.argv): ...@@ -41,7 +41,7 @@ def main(argv=sys.argv):
engine = engine_from_config(settings, 'sqlalchemy.') engine = engine_from_config(settings, 'sqlalchemy.')
DBSession.configure(bind=engine) DBSession.configure(bind=engine)
Base.metadata.bind = engine Base.metadata.bind = engine
Base.metadata.create_all() Base.metadata.create_all(engine)
# ModuleBase.metadata.create_all() # ModuleBase.metadata.create_all()
print('>>Append Table') print('>>Append Table')
......
("coba-home", "/coba/home", "Home Coba", "view_form", "home", home.pt,"",)
("coba-form", "/coba/form", "Daftar", "view_form", "list", list.pt,"",)
("coba-form-add", "/coba/form/add", "Tambah", "view_form", "add", form.pt,"",)
("coba-form-edit", "/coba/form/{id}/edit", "Koreksi", "view_form", "edit", form.pt,"",)
("coba-form-view", "/coba/form/{id}/view", "Lihat", "view_form", "view", form.pt,"",)
("coba-form-delete", "/coba/form/{id}/delete", "Hapus", "view_form", "delete", form.pt,"",)
("coba-form-act", "/coba/form/{act}/act", "Koreksi", "view_form", "act", json,"",)
("coba-upload", "/coba/upload", "Daftar", "view_upload", "list", list.pt,"",)
("coba-upload-add", "/coba/upload/add", "Tambah", "view_upload", "add", form.pt,"",)
("coba-upload-edit", "/coba/upload/{id}/edit", "Koreksi", "view_upload", "edit", form.pt,"",)
("coba-upload-view", "/coba/upload/{id}/view", "Lihat", "view_upload", "view", form.pt,"",)
("coba-upload-delete", "/coba/upload/{id}/delete", "Hapus", "view_upload", "delete", form.pt,"",)
("coba-upload-act", "/coba/upload/{act}/act", "Koreksi", "view_upload", "act", json,"",)
("coba-filters", "/coba/filter", "Filter", "view_filter", "add", form.pt,"",)
\ No newline at end of file \ No newline at end of file
...@@ -20,12 +20,12 @@ _logging = logging.getLogger(__name__) ...@@ -20,12 +20,12 @@ _logging = logging.getLogger(__name__)
class BaseView(MasterBaseView): class BaseView(MasterBaseView):
pass pass
class HomeView(BaseView): class Views(BaseView):
def __init__(self, request): def __init__(self, request):
super(HomeView, self).__init__(request) super().__init__(request)
@view_config(route_name='coba-home', renderer='templates/home.pt', # @view_config(route_name='coba-home', renderer='templates/home.pt',
permission='view') # permission='view')
def view_home(self): def view_home(self):
tpl = self.get_params("coba-home-tpl") tpl = self.get_params("coba-home-tpl")
if tpl: if tpl:
...@@ -79,8 +79,8 @@ class HomeView(BaseView): ...@@ -79,8 +79,8 @@ class HomeView(BaseView):
# else: # else:
# raise Exception(f"Belum ada fungsi {pars[2]}") # raise Exception(f"Belum ada fungsi {pars[2]}")
# # if pars[1]!="tgl_cetak": # # if pars[1]!="tgl_cetak":
# def jasper_response(self, **kwargs): # def jasper_response(self, **kwargs):
# from opensipkd.base.tools.report import jasper_export # from opensipkd.base.tools.report import jasper_export
# output_formats = kwargs.get("output_formats", ["pdf"]) # output_formats = kwargs.get("output_formats", ["pdf"])
...@@ -120,7 +120,7 @@ class HomeView(BaseView): ...@@ -120,7 +120,7 @@ class HomeView(BaseView):
# bphtbReportItems.params["output_formats"], String) == f'"{output_formats}"') # bphtbReportItems.params["output_formats"], String) == f'"{output_formats}"')
# items = self.qry.first() # items = self.qry.first()
# force = kwargs.get("force", False) # force = kwargs.get("force", False)
# if items and not force: # if items and not force:
...@@ -146,4 +146,4 @@ class HomeView(BaseView): ...@@ -146,4 +146,4 @@ class HomeView(BaseView):
# return file_response(self.req, filename=file_name) # return file_response(self.req, filename=file_name)
# from opensipkd.bphtb.apps.views.kelurahan import kelurahan_widget, KelurahanFilterSchema # from opensipkd.bphtb.apps.views.kelurahan import kelurahan_widget, KelurahanFilterSchema
# from opensipkd.bphtb.apps.views.kecamatan import kecamatan_widget, KecamatanFilterSchema # from opensipkd.bphtb.apps.views.kecamatan import kecamatan_widget, KecamatanFilterSchema
\ No newline at end of file \ No newline at end of file
<html <html
metal:use-macro="load: opensipkd.base:/views/templates/base3.1.pt" metal:use-macro="load: opensipkd.base:views/templates/base3.1.pt"
tal:omit-tag="" tal:omit-tag=""
tal:define=" tal:define="
route_name request.matched_route.name; route_name request.matched_route.name;
......
<html metal:use-macro="load: ./base.pt" tal:omit-tag=""> <html metal:use-macro="load: ./base.pt" tal:omit-tag="">
<div metal:fill-slot="content" tal:omit-tag=""> <div metal:fill-slot="content" tal:omit-tag="">
<h1>Home BPHTB</h1> <h1>Home BPHTB</h1>
<a href="/test/filters">Filter Form</a>
</div> </div>
</html> </html>
\ No newline at end of file \ No newline at end of file
import colander
from deform import Form, ValidationFailure
from opensipkd.base.views import widget_os, BaseView
class FilterSchema(colander.SequenceSchema):
test = colander.SchemaNode(
colander.String(),
widget=widget_os.FilterWidget(values=(("nama", "Nama"), ("alamat", "Alamat")))
)
class AddSchema(colander.Schema):
ada = FilterSchema()
class Views(BaseView):
def __init__(self, request):
super().__init__(request)
self.add_schema = AddSchema
self.list_route = "coba-form"
self.is_object = True
def view_add(self):
# if self.req.POST:
# c = self.req.POST.items()
# form = Form(self.add_schema())
# try:
# c = form.validate(c)
# except ValidationFailure as e:
# print(str(e))
# print(dict(c))
result = super().view_add()
form = result["form"]
values1 = {"test": "alamat.gt.Jakarta.OR"}
values2 = {"test": "alamat.lt.Bandung."}
values = {"ada": [values1["test"], values2["test"]]}
# values = {}
form.set_appstruct(values)
return {"form": form.render(), "scripts": {}, "js": result["js"],
"css": result["css"]}
\ No newline at end of file \ No newline at end of file
...@@ -97,33 +97,33 @@ class Views(BaseView): ...@@ -97,33 +97,33 @@ class Views(BaseView):
"preview_url": preview_url "preview_url": preview_url
} }
return d return d
@view_config(route_name='coba-upload', renderer='templates/list.pt', # @view_config(route_name='coba-upload', renderer='templates/list.pt',
permission='view') # permission='view')
def view_list(self): def view_list(self):
return super(Views, self).view_list() return super(Views, self).view_list()
@view_config(route_name='coba-upload-act', renderer='json', # @view_config(route_name='coba-upload-act', renderer='json',
permission='view') # permission='view')
def view_act(self): def view_act(self):
return super().view_act() return super().view_act()
@view_config(route_name='coba-upload-add', renderer='templates/form.pt', # @view_config(route_name='coba-upload-add', renderer='templates/form.pt',
permission='bphtb-admin') # permission='bphtb-admin')
def view_add(self): def view_add(self):
return super().view_add() return super().view_add()
@view_config(route_name='coba-upload-edit', renderer='templates/form.pt', # @view_config(route_name='coba-upload-edit', renderer='templates/form.pt',
permission='view') # permission='view')
def view_edit(self): def view_edit(self):
return super().view_edit() return super().view_edit()
@view_config(route_name='coba-upload-delete', renderer='templates/form.pt', # @view_config(route_name='coba-upload-delete', renderer='templates/form.pt',
permission='view') # permission='view')
def view_delete(self): def view_delete(self):
return super().view_delete() return super().view_delete()
@view_config(route_name='coba-upload-view', renderer='templates/form.pt', # @view_config(route_name='coba-upload-view', renderer='templates/form.pt',
permission='view') # permission='view')
def view_view(self): def view_view(self):
return super().view_view() return super().view_view()
\ No newline at end of file \ No newline at end of file
import colander
from deform import Form
class Schema(colander.Schema):
a = colander.SchemaNode(colander.String())
schema = Schema()
form = Form(schema)
# print (dir(form.oid))
print (form.oid)
print (form.schema.a.id)
# print(form.render())
\ 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!