Commit f912c31b by aagusti

departemen change

1 parent b4a33dce
......@@ -5,14 +5,15 @@ from datetime import datetime
import colander
from deform import (widget, )
from opensipkd.tools import (get_ext, get_random_string, get_settings)
from pyramid.view import (view_config, )
from sqlalchemy import func
from sqlalchemy.orm import aliased
from opensipkd.models import DBSession, Departemen, Partner, PartnerDepartemen
from opensipkd.tools import (get_ext, get_random_string, get_settings)
from .company import company_widget
from .upload import AddSchema as UploadSchema
from opensipkd.models import DBSession, Departemen, Partner, PartnerDepartemen
from .. import get_params
from ..views import ColumnDT, DataTables, BaseView, get_urls
SESS_ADD_FAILED = 'Tambah departemen gagal'
......@@ -166,14 +167,13 @@ class ViewDepartemen(BaseView):
if child.children:
self.update_children(child.children)
def save_request(self, values, row=None): #save(self, row, values):
def save_request(self, values, row=None): # save(self, row, values):
for k, v in values.items():
if not v:
setattr(row, k, None)
row = super().save_request(values, row)
return row
@view_config(route_name='departemen-view',
renderer='templates/form.pt', permission='departemen')
def view_view(self):
......@@ -244,7 +244,7 @@ class ViewDepartemen(BaseView):
# todo Check ulang untuk hon
term = 'term' in params and params['term'] or ''
settings = get_settings()
level_id = self.req.get_params('departemen_chg_id', 0)
level_id = get_params('departemen_chg_id', 0)
q = DBSession.query(Departemen).filter(Departemen.status == 1,
Departemen.nama.ilike(
'%%%s%%' %
......
......@@ -25,7 +25,7 @@ class AddSchema(colander.Schema):
cur_departemen_nm = colander.SchemaNode(
colander.String(),
widget=widget.TextInputWidget(readonly=True),
title="Departemen Kini",
title="Departemen Aktif",
missing=colander.drop)
departemen_id = colander.SchemaNode(
colander.Integer(),
......@@ -44,6 +44,7 @@ class AddSchema(colander.Schema):
level_id = colander.SchemaNode(
colander.String(),
# widget = widget.HiddenWidget(),
missing=colander.drop,
oid="level_id",
title="Level")
callback = colander.SchemaNode(
......@@ -57,7 +58,7 @@ class ChangeDepartemen(BaseView):
########
# List #
########
@view_config(route_name='departemen-chg', renderer='templates/departemen/chg.pt')
@view_config(route_name='departemen-chg', renderer='templates/departemen_chg.pt')
def view_departemen_chg(self):
request = self.req
ses = request.session
......
<html metal:use-macro="load: base3.1.pt">
<div metal:fill-slot="content">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">${request.title}</h3>
</div>
<div class="panel-body">
<form method="post" accept-charset="utf-8" id="myform" class="form-horizontal" enctype="multipart/form-data">
<div class="alert alert-danger" tal:condition="form and form.error and True or False">
<div class="error-msg-lbl">Kesalahan Pengisian Form</div>
<p class="error-msg">${form.errormsg}</p>
</div>
<div class="form-group" tal:repeat="f form">
<div id="item-${f.oid}" style="${f.widget.hidden and 'display:none;' or 'display:block;'}">
<label for="${f.oid}" class="control-label col-md-2 ${f.required and 'required' or ''} " id="req-${f.oid}">
${f.title}</label>
<div class="col-md-3">
${structure:f.serialize()}
<p id="error-${f.oid}" class="help-block" tal:condition="f.error"
tal:repeat="error f.error.messages()">
${error}</p>
</div>
</div>
</div>
<div class="col-md-4">
<label class="control-label col-md-3"></label>
<button type="submit" class="btn btn-primary" id="simpan" name="simpan">Simpan</button>
<button type="submit" class="btn btn-warning" id="batal" name="batal">Tutup</button>
</div>
</form>
</div> <!--panel-body-->
</div>
</div>
<div metal:fill-slot="scripts">
<script src="${home}/deform_static/scripts/typeahead.min.js"></script>
<script>
$(document).ready(function () {
$('#departemen_nm').typeahead({"minLength": 1, "remote": "/departemen/hon_level/act?term=%QUERY", "limit": 8});
$('#departemen_nm').bind('typeahead:selected', function (obj, datum, name) {
$('#departemen_id').val(datum.id);
$('#departemen_kd').val(datum.kode);
$('#level_id').val(datum.level_id);
});
$('#departemen_kd').attr("readonly", true);
$('#level_id').attr("readonly", true);
});
</script>
</div>
</html>
\ 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!