Commit c453d871 by aagusti

perbaikan module login

1 parent 648628a1
......@@ -74,12 +74,12 @@ group-rpt,/group/{rpt}/rpt,Group Report
routes-rpt,/routes/{rpt}/rpt,Routes Report
partner,/partner,Partner
partner-add,/partner/add,Partner Add
partner-act,/partner/{act}/act,Partner Action
partner-rpt,/partner/{rpt}/rpt,Partner Report
partner-edt,/partner/{id}/edt,Partner Edt
partner-edit,/partner/{id}/edit,Partner Edt
partner-view,/partner/{id}/view,Partner view
partner-del,/partner/{id}/del,Partner Del
partner-add,/partner/add,Partner Add
partner-delete,/partner/{id}/delete,Partner Del
departemen,/departemen,Organisasi
departemen-act,/departemen/{act}/act,Organisasi Act
......
......@@ -129,6 +129,7 @@ class BaseView(object):
self.headers = None
self.bindings = {}
self.autocomplete = 'on'
self.action_suffix = "/grid/act"
def delete_msg(self, row):
return f'Data ID {row.id} sudah dihapus.'
......@@ -291,8 +292,9 @@ class BaseView(object):
def save_request(self, values, row=None):
params = self.req.params
for k, v in params.items():
if v:
values[k] = v
if k not in values:
if v:
values[k] = v
return self.save(values, self.req.user, row)
def id_not_found(self):
......@@ -308,7 +310,6 @@ class BaseView(object):
for f in d:
if type(d[f]) is str:
d[f] = d[f].strip()
return d
def get_item_table(self, row=None):
......@@ -336,8 +337,8 @@ class BaseView(object):
form.set_appstruct(e.cstruct)
return dict(form=form.render(), table=table and table.render() or None,
scripts=self.form_scripts, css=resources["css"], js=resources["js"])
self.save_request(dict(controls), row)
c = dict(controls)
self.save_request(c, row)
return self.route_list()
values = self.get_values(row)
form.set_appstruct(values)
......@@ -354,6 +355,8 @@ class BaseView(object):
row = q.first()
if not row:
return self.id_not_found()
if not self.bindings:
self.bindings = self.get_bindings(row)
if request.POST:
if 'delete' in request.POST:
msg = self.delete_msg(row)
......
......@@ -24,7 +24,8 @@ from opensipkd.tools import create_now, get_settings
from opensipkd.tools.api import custom_error
from opensipkd.base.tools.api import (
auth_from_rpc, check_token_rpc, update_token)
from ..views.partner import save as save_partner
#todo save_partner
# from ..views.partner import save as save_partner
def insert_user(request, values):
......
......@@ -5,6 +5,7 @@ import re
import logging
import colander
import deform
from chameleon.utils import Markup
from deform import compat
from deform import field
......@@ -167,10 +168,13 @@ class DeTable(field.Field):
d["searchable"] = f.searchable
data.append(f"searchable: {f.searchable}")
if hasattr(f, 'visible'):
if hasattr(f, 'visible') :
d["visible"] = f.visible
data.append(f"visible: {f.visible}")
if isinstance(f.widget,deform.widget.HiddenWidget):
d["visible"] = False
if hasattr(f, 'orderable'):
d["orderable"] = f.orderable
data.append(f"orderable: {f.orderable}")
......@@ -178,11 +182,10 @@ class DeTable(field.Field):
thousand = hasattr(f, 'thousand') and f.thousand or None
separator = thousand and "separator" in thousand and thousand["separator"] or ','
decimal = thousand and "decimal" in thousand and thousand["decimal"] or '.'
point = thousand and "point" in thousand and thousand["point"] or 2
point = thousand and "point" in thousand and thousand["point"] or 0
currency = thousand and "currency" in thousand and thousand["currency"] or ""
if thousand or type(f.typ) == colander.Float() or type(f.typ) == colander.Integer():
d[
"render"] = f"<script>$.fn.dataTable.render.number( '{separator}', '{decimal}', {point}, '{currency}' )</script>"
d["render"] = f"<script>$.fn.dataTable.render.number( '{separator}', '{decimal}', {point}, '{currency}' )</script>"
if 'className' not in d:
d["className"] = "text-right"
# if hasattr(f, "edit_link"):
......
......@@ -36,3 +36,5 @@ class TableWidget(MappingWidget):
template = "detable"
readonly_template = "readonly/detable"
requirements = (("deform", None),
{"js": "opensipkd.base:static/v3/js/plugin/datatables/jquery.dataTables.min.js"})
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!