You need to sign in or sign up before continuing.
Commit 6fc4a69f by aa.gusti

perbaikan parameer list/table

1 parent 16b427a9
...@@ -2,7 +2,7 @@ $(document).ready(function () { ...@@ -2,7 +2,7 @@ $(document).ready(function () {
$('#departemen_nm').bind('typeahead:selected', function (obj, datum, name) { $('#departemen_nm').bind('typeahead:selected', function (obj, datum, name) {
$('#departemen_id').val(datum.id); $('#departemen_id').val(datum.id);
$('#departemen_kd').val(datum.kode); $('#departemen_kd').val(datum.kode);
console.log(datum.kode); // console.log(datum.kode);
}); });
$('#departemen_nm').on('input', $('#departemen_nm').on('input',
......
...@@ -9,6 +9,9 @@ from datatables import ColumnDT ...@@ -9,6 +9,9 @@ from datatables import ColumnDT
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from deform import (widget, Form, ValidationFailure, FileData, ) from deform import (widget, Form, ValidationFailure, FileData, )
from deform.widget import SelectWidget from deform.widget import SelectWidget
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
from opensipkd.base.views.upload import tmpstore
from opensipkd.tools import dmy, get_settings, get_ext, \ from opensipkd.tools import dmy, get_settings, get_ext, \
date_from_str, get_random_string, Upload, InvalidExtension date_from_str, get_random_string, Upload, InvalidExtension
from opensipkd.tools.buttons import btn_save, btn_cancel, btn_close, btn_delete, \ from opensipkd.tools.buttons import btn_save, btn_cancel, btn_close, btn_delete, \
...@@ -16,9 +19,6 @@ from opensipkd.tools.buttons import btn_save, btn_cancel, btn_close, btn_delete, ...@@ -16,9 +19,6 @@ from opensipkd.tools.buttons import btn_save, btn_cancel, btn_close, btn_delete,
btn_pdf, btn_unpost, btn_post btn_pdf, btn_unpost, btn_post
from opensipkd.tools.captcha import get_captcha from opensipkd.tools.captcha import get_captcha
from opensipkd.tools.report import csv_response, file_response from opensipkd.tools.report import csv_response, file_response
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
from opensipkd.base.views.upload import tmpstore
from .common import DataTables from .common import DataTables
from .. import DBSession, get_params, get_urls from .. import DBSession, get_params, get_urls
from ..scripts.initializedb import append_csv from ..scripts.initializedb import append_csv
...@@ -138,6 +138,14 @@ class BaseView(object): ...@@ -138,6 +138,14 @@ class BaseView(object):
self.list_url = '' self.list_url = ''
self.list_route = '' self.list_route = ''
self.list_schema = colander.Schema self.list_schema = colander.Schema
self.allow_view = True
self.allow_edit = True
self.allow_delete = True
self.allow_post = False
self.allow_unpost = False
self.state_save = False
self.form_scripts = """ self.form_scripts = """
$('#parent_nm').bind('typeahead:selected', function(obj, datum) { $('#parent_nm').bind('typeahead:selected', function(obj, datum) {
$('#parent_id').val(datum.id); $('#parent_id').val(datum.id);
...@@ -146,8 +154,8 @@ class BaseView(object): ...@@ -146,8 +154,8 @@ class BaseView(object):
});""" });"""
self.form_widget = None self.form_widget = None
self.edit_schema = colander.Schema() self.edit_schema = colander.Schema()
self.add_schema = colander.Schema() self.add_schema = colander.Schema()
self.upload_schema = UploadSchema self.upload_schema = UploadSchema
self.upload_exts = (".csv", ".tsv") self.upload_exts = (".csv", ".tsv")
self.upload_keys = ["kode"] self.upload_keys = ["kode"]
...@@ -226,12 +234,12 @@ class BaseView(object): ...@@ -226,12 +234,12 @@ class BaseView(object):
def view_list(self, **kwargs): def view_list(self, **kwargs):
if self.list_schema: if self.list_schema:
allow_view = kwargs.get("allow_view", True) allow_view = kwargs.get("allow_view", self.allow_view)
allow_edit = kwargs.get("allow_edit", True) allow_edit = kwargs.get("allow_edit", self.allow_edit)
allow_delete = kwargs.get("allow_delete", True) allow_delete = kwargs.get("allow_delete", self.allow_delete)
allow_post = kwargs.get("allow_post", False) allow_post = kwargs.get("allow_post", self.allow_post)
allow_unpost = kwargs.get("allow_unpost", False) allow_unpost = kwargs.get("allow_unpost", self.allow_unpost)
state_save = kwargs.get("state_save", False) state_save = kwargs.get("state_save", self.state_save)
schema = self.list_schema() schema = self.list_schema()
schema = schema.bind(request=self.req) schema = schema.bind(request=self.req)
list_url = kwargs.get("list_url", None) list_url = kwargs.get("list_url", None)
...@@ -306,6 +314,8 @@ class BaseView(object): ...@@ -306,6 +314,8 @@ class BaseView(object):
row = self.query_id().first() row = self.query_id().first()
if not row: if not row:
return self.id_not_found() return self.id_not_found()
is_object = kwargs.get("is_object", self.is_object)
kwargs["is_object"] = is_object
before_view = self.before_view(row=row) before_view = self.before_view(row=row)
if before_view: if before_view:
return before_view return before_view
...@@ -425,10 +435,6 @@ class BaseView(object): ...@@ -425,10 +435,6 @@ class BaseView(object):
def after_view(self, **kwargs): def after_view(self, **kwargs):
return self.route_list(**kwargs) return self.route_list(**kwargs)
def next_act(self, **kwargs):
url_dict = self.req.matchdict
raise HTTPNotFound
def pdf_response(self, **kwargs): def pdf_response(self, **kwargs):
from opensipkd.base.tools.report import jasper_export from opensipkd.base.tools.report import jasper_export
filename = jasper_export(self.report_file) filename = jasper_export(self.report_file)
...@@ -515,6 +521,10 @@ class BaseView(object): ...@@ -515,6 +521,10 @@ class BaseView(object):
# d[k] =f'<a href="{link}" target="_blank">View</a>' # d[k] =f'<a href="{link}" target="_blank">View</a>'
return result return result
def next_act(self, **kwargs):
url_dict = self.req.matchdict
raise HTTPNotFound
def view_act(self, **kwargs): def view_act(self, **kwargs):
url_dict = self.req.matchdict url_dict = self.req.matchdict
if url_dict['act'] == 'grid': if url_dict['act'] == 'grid':
...@@ -538,6 +548,7 @@ class BaseView(object): ...@@ -538,6 +548,7 @@ class BaseView(object):
table = self.get_item_table(**kwargs) table = self.get_item_table(**kwargs)
resources = form.get_widget_resources() resources = form.get_widget_resources()
is_object = kwargs.get("is_object", self.is_object) is_object = kwargs.get("is_object", self.is_object)
kwargs["is_object"] = is_object
if self.req.POST: if self.req.POST:
if 'save' in self.req.POST: if 'save' in self.req.POST:
controls = self.req.POST.items() controls = self.req.POST.items()
...@@ -641,6 +652,7 @@ class BaseView(object): ...@@ -641,6 +652,7 @@ class BaseView(object):
request = self.req request = self.req
row = self.query_id().first() row = self.query_id().first()
is_object = kwargs.get("is_object", self.is_object) is_object = kwargs.get("is_object", self.is_object)
kwargs["is_object"] = is_object
if not row: if not row:
return self.id_not_found(**kwargs) return self.id_not_found(**kwargs)
...@@ -693,6 +705,7 @@ class BaseView(object): ...@@ -693,6 +705,7 @@ class BaseView(object):
q = self.query_id() q = self.query_id()
row = q.first() row = q.first()
is_object = kwargs.get("is_object", self.is_object) is_object = kwargs.get("is_object", self.is_object)
kwargs["is_object"] = is_object
if not row: if not row:
return self.id_not_found() return self.id_not_found()
if not self.bindings: if not self.bindings:
......
...@@ -215,8 +215,8 @@ class NamaModel(KodeModel): ...@@ -215,8 +215,8 @@ class NamaModel(KodeModel):
return cls.query_nama(nama, db_session).first() return cls.query_nama(nama, db_session).first()
@classmethod @classmethod
def query_list(cls): def query_list(cls, db_session=DBSession):
return DBSession.query(cls.id, cls.nama).order_by(cls.nama) return db_session.query(cls.id, cls.nama).order_by(cls.nama)
@classmethod @classmethod
def get_list(cls): def get_list(cls):
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!