Commit 57eb8b7b by Hamsyah

pembaruan hmzh

1 parent b91e3966
......@@ -61,10 +61,11 @@ class AddSchema(colander.Schema):
widget=deferred_eselon,
title=_("eselon", default="Eselon"))
status = colander.SchemaNode(
colander.Boolean(),
colander.Integer(),
widget=widget.CheckboxWidget(true_val='1', false_val='0'),
default=1,
oid="status")
class EditSchema(AddSchema):
id = colander.SchemaNode(colander.String(),
missing=colander.drop,
......@@ -103,7 +104,7 @@ class ViewJabatan(BaseView):
# self.list_buttons = (btn_view, btn_add, btn_edit, btn_delete, btn_close)
def get_bindings(self, row=None):
return dict(daftar_jenis=JENIS,
return dict(jenis=JENIS,
daftar_eselon=daftar_eselon())
@view_config(route_name='jabatan', renderer='templates/table.pt',
......@@ -276,6 +277,7 @@ class ViewJabatan(BaseView):
err_nama()
elif found:
err_nama()
def query_reg(request):
......@@ -284,3 +286,4 @@ def query_reg(request):
Jabatan.status, ). \
filter(Jabatan.status == 1). \
order_by(Jabatan.id)
......@@ -31,8 +31,9 @@ class AddSchema(colander.Schema):
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget(true_val=1, false_val=0))
widget=widget.CheckboxWidget(true_val='1', false_val='0'),
default=1,
oid="status")
class EditSchema(AddSchema):
id = colander.SchemaNode(colander.String(),
......
......@@ -3,7 +3,7 @@ from deform import widget
from pyramid.view import view_config
from . import BaseView
from ...models import User, DepartemenUser, Departemen
from ...models import User, DepartemenUser, Departemen, DBSession
from .departemen import departemen_widget, get_departemen_list
class ListSchema(colander.Schema):
......@@ -20,19 +20,24 @@ class ListSchema(colander.Schema):
colander.String(),
field=Departemen.nama)
@colander.deferred
def departemen_checkbox_widget(node, kw):
values = kw.get('departemen_list', [])
return widget.CheckboxChoiceWidget(values=values)
class AddSchema(colander.Schema):
user_id = colander.SchemaNode(
colander.Integer(),
widget=widget.RadioChoiceWidget(values=User.get_list()), # Menggunakan CheckboxChoiceWidget
oid="user_id",
widget=widget.SelectWidget(values=User.get_list()),
title="User",
)
departemen_id = colander.SchemaNode(
colander.Integer(),
widget=departemen_widget,
colander.Set(),
widget=departemen_checkbox_widget,
oid="departemen_id",
title="Departemen", )
title="Departemen",
)
class EditSchema(AddSchema):
......@@ -63,9 +68,9 @@ class Views(BaseView):
permission='user-view')
def view_act(self):
return super().view_act()
def get_bindings(self, row=None):
return {"departemen_list": get_departemen_list()}
return {"departemen_list": get_departemen_list()}
@view_config(route_name='user-departemen-add', renderer='templates/form.pt',
permission='user-edit')
......@@ -86,3 +91,19 @@ class Views(BaseView):
permission='user-edit')
def view_edit(self):
return super().view_edit()
def save_request(self, values, row=None): # save(self, row, values):
for k, v in values.items():
if not v:
setattr(row, k, None)
values["level_id"] = 1
if "parent_id" in values and values["parent_id"]:
qry_parent = self.table.query_id(values["parent_id"])
parent = qry_parent.first()
if parent and parent.level_id:
values["level_id"] = parent.level_id + 1
if "parent_id" not in values:
values["parent_id"] = None
row = super().save_request(values, row)
return row
\ 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!