Commit b91e3966 by Ari Agung Prasetiyo Committed by Ari Agung Prasetiyo

departemen

1 parent cc51e762
...@@ -18,7 +18,8 @@ SESS_EDIT_FAILED = 'Edit departemen gagal' ...@@ -18,7 +18,8 @@ SESS_EDIT_FAILED = 'Edit departemen gagal'
def get_departemen_list(): def get_departemen_list():
r = [("", "--Pilih Departemen--")] # r = [("", "--Pilih Departemen--")]
r = []
q = DBSession.query(Departemen).order_by(Departemen.nama) q = DBSession.query(Departemen).order_by(Departemen.nama)
for row in q: for row in q:
g = (str(row.id), (f"{row.kode}/ {row.nama}")) g = (str(row.id), (f"{row.kode}/ {row.nama}"))
...@@ -39,82 +40,44 @@ def departemen_widget_form(): ...@@ -39,82 +40,44 @@ def departemen_widget_form():
{"js": "opensipkd.base:static/js/form/departemen_form.js"}), {"js": "opensipkd.base:static/js/form/departemen_form.js"}),
) )
# Mencoba membuat validator sendiri
class Validator:
def __init__(self, user):
self.user = user
# Validator nama
class NameValidator(Validator):
def __call__(self, node, value):
name = value
if (len(name) > 128):
raise colander.Invalid(node, _('Maksimal 128 karakter'))
@colander.deferred
def name_validator(node, kw):
return NameValidator(kw['user'])
class AddSchema(colander.Schema): class AddSchema(colander.Schema):
parent_id = colander.SchemaNode( parent_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=widget.HiddenWidget(), widget=widget.HiddenWidget(), oid="parent_id", missing=colander.drop,
oid="parent_id", )
missing=colander.drop,)
parent_nm = colander.SchemaNode( parent_nm = colander.SchemaNode(
colander.String(), colander.String(), missing=colander.drop,
missing=colander.drop,
widget=widget.AutocompleteInputWidget( widget=widget.AutocompleteInputWidget(
size=60, min_length=3, size=60, min_length=3,
requirements=(("typeahead", None), requirements=(("typeahead", None), ("deform", None),
("deform", None), {"js": "opensipkd.base:static/js/form/departemen.js"}),
{"js": "opensipkd.base:static/js/form/departemen.js"}),
# options={"allowClear": True} # options={"allowClear": True}
), ),
oid="parent_nm", oid="parent_nm", title="Induk")
title="Induk")
parent_kd = colander.SchemaNode(colander.String(),
parent_kd = colander.SchemaNode( widget=widget.TextInputWidget(css_class="readonly"),
colander.String(), missing=colander.drop, oid="parent_kd", title="Kode Induk")
widget=widget.TextInputWidget(css_class="readonly"),
missing=colander.drop, kode = colander.SchemaNode(colander.String(),
oid="parent_kd", validator=colander.Length(max=32), oid="kode")
title="Kode Induk")
nama = colander.SchemaNode(colander.String(), oid="nama")
kode = colander.SchemaNode(
colander.String(), singkat = colander.SchemaNode(colander.String(), missing=colander.drop,
validator=colander.Length(max=32, max_err='Maksimal 32 karakter'), oid="singkat")
oid="kode")
kategori = colander.SchemaNode(colander.String(), missing=colander.drop,
nama = colander.SchemaNode( oid="kategori")
colander.String(),
oid="nama", alamat = colander.SchemaNode(colander.String(), missing=colander.drop,
validator=colander.Length(min=1, max=128, max_err="Maksimal 128 karakter", min_err='Minimal 1 karakter')) oid="alamat")
company_id = colander.SchemaNode(colander.Integer(),
singkat = colander.SchemaNode( widget=company_widget,
colander.String(), missing=colander.drop,
missing=colander.drop, oid="company_id")
oid="singkat",
validator=colander.Length(max=32, max_err='Maksimal 32 karakter'))
kategori = colander.SchemaNode(
colander.String(),
missing=colander.drop,
oid="kategori",
validator=colander.Length(max=32, max_err='Maksimal 32 karakter'))
alamat = colander.SchemaNode(
colander.String(),
missing=colander.drop,
oid="alamat",
validator=colander.Length(max=255, max_err='Maksimal 255 karakter'))
company_id = colander.SchemaNode(
colander.Integer(),
widget=company_widget,
missing=colander.drop,
oid="company_id")
status = colander.SchemaNode( status = colander.SchemaNode(
colander.Integer(), colander.Integer(),
...@@ -445,4 +408,4 @@ class ViewDepartemen(BaseView): ...@@ -445,4 +408,4 @@ class ViewDepartemen(BaseView):
# row.kode = kode # row.kode = kode
# row.nama = csv_row['nama'] # row.nama = csv_row['nama']
# DBSession.add(row) # DBSession.add(row)
# return row
\ No newline at end of file \ No newline at end of file
# return row
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!