Commit 57eb8b7b by Hamsyah

pembaruan hmzh

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