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'
def get_departemen_list():
r = [("", "--Pilih Departemen--")]
# r = [("", "--Pilih Departemen--")]
r = []
q = DBSession.query(Departemen).order_by(Departemen.nama)
for row in q:
g = (str(row.id), (f"{row.kode}/ {row.nama}"))
......@@ -39,82 +40,44 @@ def departemen_widget_form():
{"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):
parent_id = colander.SchemaNode(
colander.Integer(),
widget=widget.HiddenWidget(),
oid="parent_id",
missing=colander.drop,)
widget=widget.HiddenWidget(), oid="parent_id", missing=colander.drop,
)
parent_nm = colander.SchemaNode(
colander.String(),
missing=colander.drop,
colander.String(), missing=colander.drop,
widget=widget.AutocompleteInputWidget(
size=60, min_length=3,
requirements=(("typeahead", None),
("deform", None),
{"js": "opensipkd.base:static/js/form/departemen.js"}),
requirements=(("typeahead", None), ("deform", None),
{"js": "opensipkd.base:static/js/form/departemen.js"}),
# options={"allowClear": True}
),
oid="parent_nm",
title="Induk")
parent_kd = colander.SchemaNode(
colander.String(),
widget=widget.TextInputWidget(css_class="readonly"),
missing=colander.drop,
oid="parent_kd",
title="Kode Induk")
kode = colander.SchemaNode(
colander.String(),
validator=colander.Length(max=32, max_err='Maksimal 32 karakter'),
oid="kode")
nama = colander.SchemaNode(
colander.String(),
oid="nama",
validator=colander.Length(min=1, max=128, max_err="Maksimal 128 karakter", min_err='Minimal 1 karakter'))
singkat = colander.SchemaNode(
colander.String(),
missing=colander.drop,
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")
oid="parent_nm", title="Induk")
parent_kd = colander.SchemaNode(colander.String(),
widget=widget.TextInputWidget(css_class="readonly"),
missing=colander.drop, oid="parent_kd", title="Kode Induk")
kode = colander.SchemaNode(colander.String(),
validator=colander.Length(max=32), oid="kode")
nama = colander.SchemaNode(colander.String(), oid="nama")
singkat = colander.SchemaNode(colander.String(), missing=colander.drop,
oid="singkat")
kategori = colander.SchemaNode(colander.String(), missing=colander.drop,
oid="kategori")
alamat = colander.SchemaNode(colander.String(), missing=colander.drop,
oid="alamat")
company_id = colander.SchemaNode(colander.Integer(),
widget=company_widget,
missing=colander.drop,
oid="company_id")
status = colander.SchemaNode(
colander.Integer(),
......@@ -445,4 +408,4 @@ class ViewDepartemen(BaseView):
# row.kode = kode
# row.nama = csv_row['nama']
# DBSession.add(row)
# return row
\ 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!