Commit 5a1e5685 by taufikyu

revisi eis

1 parent d4887d64
...@@ -8,7 +8,7 @@ from pyramid.httpexceptions import (HTTPFound, HTTPForbidden, HTTPNotFound) ...@@ -8,7 +8,7 @@ from pyramid.httpexceptions import (HTTPFound, HTTPForbidden, HTTPNotFound)
from pyramid.security import (remember, forget, authenticated_userid,) from pyramid.security import (remember, forget, authenticated_userid,)
from deform import (Form, ValidationFailure, widget,) from deform import (Form, ValidationFailure, widget,)
from ..tools import dmy, date_from_str, int_to_roman from ..tools import dmy, date_from_str, int_to_roman
from sqlalchemy import func from sqlalchemy import func, and_
from ..models import (DBSession, User,) from ..models import (DBSession, User,)
from ..models.isipkd import( from ..models.isipkd import(
...@@ -51,14 +51,9 @@ def view_home(request): ...@@ -51,14 +51,9 @@ def view_home(request):
break break
if statusadmin == True: if statusadmin == True:
if 'date' in request.params and request.params['date']: if 'date' in request.params and request.params['date']:
request.session['date'] = request.params['date'].strip() now = date_from_str(request.params['date'].strip())
if 'date' in request.session and request.session['date']:
now = date_from_str(request.session['date'])
else: else:
now = date.today() now = date.today()
request.session['date'] = dmy(now)
if 'unit' in request.params:
request.session['unit'] = request.params['unit'].strip()
dates = dict( dates = dict(
year = now.year, year = now.year,
month = now.month, month = now.month,
...@@ -76,18 +71,24 @@ def view_home(request): ...@@ -76,18 +71,24 @@ def view_home(request):
q = [0,0,0,0,0,0,0,0,0,0,0,0], q = [0,0,0,0,0,0,0,0,0,0,0,0],
n = [0,0,0,0,0,0,0,0,0,0,0,0], n = [0,0,0,0,0,0,0,0,0,0,0,0],
), ),
rek= [], rek = [], ## Rekening Header
rekdet= [], rekdet = [], ## Rekening Detail
sopd10= [], sopd = [], ## Ranking Penerimaan
sopd= [], sopd10 = [], ## 10 Ranking Penerimaan
sopd4 = []
) )
#List Untuk Header
opd_ls = Unit.query().filter(Unit.level_id==3).order_by(Unit.kode).all() opd_ls = Unit.query().filter(Unit.level_id==3).order_by(Unit.kode).all()
#List Rekening Lv 3
reks41 = Rekening.query().filter(Rekening.level_id==3, Rekening.kode.ilike('4.1.%')).order_by(Rekening.kode).all() reks41 = Rekening.query().filter(Rekening.level_id==3, Rekening.kode.ilike('4.1.%')).order_by(Rekening.kode).all()
no3=0 no3=0
for r in reks41: for r in reks41:
no3+=1 no3+=1
no_roman = int_to_roman(no3) no_roman = int_to_roman(no3)
data_dashboard['rek'].append(dict(no=no_roman,kode=r.kode.strip(), nama=r.nama.strip(), target=0, realisasi=0, persen=0)) data_dashboard['rek'].append(dict(no=no_roman,kode=r.kode.strip(), nama=r.nama.strip(), target=0, realisasi=0, persen=0))
#List Rekening Lv 4
reks41det = Rekening.query().filter(Rekening.level_id.between(3,4), Rekening.kode.ilike('4.1.%')).order_by(Rekening.kode).all() reks41det = Rekening.query().filter(Rekening.level_id.between(3,4), Rekening.kode.ilike('4.1.%')).order_by(Rekening.kode).all()
for r in reks41det: for r in reks41det:
if r.level_id==3: if r.level_id==3:
...@@ -96,6 +97,7 @@ def view_home(request): ...@@ -96,6 +97,7 @@ def view_home(request):
no4+=1 no4+=1
data_dashboard['rekdet'].append(dict(no=no4, kode=r.kode.strip(), level=r.level_id, nama=r.nama.strip(), target=0, realisasi=0, persen=0)) data_dashboard['rekdet'].append(dict(no=no4, kode=r.kode.strip(), level=r.level_id, nama=r.nama.strip(), target=0, realisasi=0, persen=0))
#QUERY PAYMENT
payments = DBSession.query( payments = DBSession.query(
ARSspd.tgl_bayar.label('tanggal'), ARSspd.tgl_bayar.label('tanggal'),
ARSspd.bayar.label('jumlah'), ARSspd.bayar.label('jumlah'),
...@@ -107,8 +109,9 @@ def view_home(request): ...@@ -107,8 +109,9 @@ def view_home(request):
filter(ARSspd.tahun_id==dates['year']).order_by(ARInvoice.unit_kode) filter(ARSspd.tahun_id==dates['year']).order_by(ARInvoice.unit_kode)
payments = payments.all() payments = payments.all()
for p in payments: for p in payments:
if 'unit' in request.session and request.session['unit']: ## JIKA ADA FILTER DEPARTEMEN DI HEADER
if p.kode.strip().startswith(request.session['unit']): if 'unit' in request.params and request.params['unit']:
if p.kode.strip().startswith(request.params['unit'].strip()):
data_dashboard['tabular']['tahun']['q'] += 1 data_dashboard['tabular']['tahun']['q'] += 1
data_dashboard['tabular']['tahun']['n'] += int(p.jumlah) data_dashboard['tabular']['tahun']['n'] += int(p.jumlah)
if p.tanggal.month == dates['month']: if p.tanggal.month == dates['month']:
...@@ -124,7 +127,16 @@ def view_home(request): ...@@ -124,7 +127,16 @@ def view_home(request):
if p.tanggal.month == x+1: if p.tanggal.month == x+1:
data_dashboard['chart']['q'][x] += int(1) data_dashboard['chart']['q'][x] += int(1)
data_dashboard['chart']['n'][x] += int(p.jumlah) data_dashboard['chart']['n'][x] += int(p.jumlah)
elif not 'unit' in request.session or not request.session['unit']: ## Rekening
for r in data_dashboard['rek']:
if p.rek_kode.strip().startswith(r['kode']):
r['realisasi'] += int(p.jumlah)
for r in data_dashboard['rekdet']:
if p.rek_kode.strip().startswith(r['kode']):
r['realisasi'] += int(p.jumlah)
## JIKA TIDAK ADA FILTER DEPARTEMEN HEADER
elif not 'unit' in request.params or not request.params['unit']:
data_dashboard['tabular']['tahun']['q'] += 1 data_dashboard['tabular']['tahun']['q'] += 1
data_dashboard['tabular']['tahun']['n'] += int(p.jumlah) data_dashboard['tabular']['tahun']['n'] += int(p.jumlah)
if p.tanggal.month == dates['month']: if p.tanggal.month == dates['month']:
...@@ -140,13 +152,15 @@ def view_home(request): ...@@ -140,13 +152,15 @@ def view_home(request):
if p.tanggal.month == x+1: if p.tanggal.month == x+1:
data_dashboard['chart']['q'][x] += int(1) data_dashboard['chart']['q'][x] += int(1)
data_dashboard['chart']['n'][x] += int(p.jumlah) data_dashboard['chart']['n'][x] += int(p.jumlah)
for r in data_dashboard['rek']: ## Rekening
if p.rek_kode.strip().startswith(r['kode']): for r in data_dashboard['rek']:
r['realisasi'] += int(p.jumlah) if p.rek_kode.strip().startswith(r['kode']):
for r in data_dashboard['rekdet']: r['realisasi'] += int(p.jumlah)
if p.rek_kode.strip().startswith(r['kode']): for r in data_dashboard['rekdet']:
r['realisasi'] += int(p.jumlah) if p.rek_kode.strip().startswith(r['kode']):
r['realisasi'] += int(p.jumlah)
#QUERY INVOICE
invoices = DBSession.query( invoices = DBSession.query(
ARInvoice.tgl_tetap.label('tanggal'), ARInvoice.tgl_tetap.label('tanggal'),
ARInvoice.jumlah.label('jumlah'), ARInvoice.jumlah.label('jumlah'),
...@@ -157,39 +171,72 @@ def view_home(request): ...@@ -157,39 +171,72 @@ def view_home(request):
filter(ARInvoice.tahun_id==dates['year']).order_by(ARInvoice.unit_kode) filter(ARInvoice.tahun_id==dates['year']).order_by(ARInvoice.unit_kode)
invoices = invoices.all() invoices = invoices.all()
for i in invoices: for i in invoices:
for r in data_dashboard['rek']: ## JIKA ADA FILTER DEPARTEMEN DI HEADER
if i.rek_kode.strip().startswith(r['kode']): if 'unit' in request.params and request.params['unit']:
r['target'] += int(i.jumlah) if i.kode.strip().startswith(request.params['unit'].strip()):
for r in data_dashboard['rekdet']: ## REKENING
if i.rek_kode.strip().startswith(r['kode']): for r in data_dashboard['rek']:
r['target'] += int(i.jumlah) if i.rek_kode.strip().startswith(r['kode']):
r['target'] += int(i.jumlah)
for r in data_dashboard['rekdet']:
if i.rek_kode.strip().startswith(r['kode']):
r['target'] += int(i.jumlah)
## JIKA TIDAK ADA FILTER DEPARTEMEN HEADER
elif not 'unit' in request.params or not request.params['unit']:
for r in data_dashboard['rek']:
if i.rek_kode.strip().startswith(r['kode']):
r['target'] += int(i.jumlah)
for r in data_dashboard['rekdet']:
if i.rek_kode.strip().startswith(r['kode']):
r['target'] += int(i.jumlah)
##REKENING##
for r in data_dashboard['rek']:
r['persen'] = r['realisasi'] and str(round((float(r['realisasi'])/float(r['target']))*100,2)).replace('.0','') or '0'
for r in data_dashboard['rekdet']:
r['persen'] = r['realisasi'] and str(round((float(r['realisasi'])/float(r['target']))*100,2)).replace('.0','') or '0'
#Unit
opds = Unit.query().filter(Unit.level_id.between(3,4)).order_by(Unit.kode).all()
for op in opds:
if op.level_id==3:
data_dashboard['sopd'].append(dict(peringkat=0,kode=op.kode.strip(), level=op.level_id, unit=op.nama.strip(), nominal=0))
if op.level_id==4:
data_dashboard['sopd4'].append(dict(kode=op.kode.strip(), level=op.level_id, unit=op.nama.strip(), nominal=0))
##RANKING## ##RANKING##
tanggal_berjalan = datetime.now() tanggal_berjalan = dates['day']
tahun_berjalan = tanggal_berjalan.year tahun_berjalan = tanggal_berjalan.year
opd = DBSession.query( opd = DBSession.query(
func.sum(ARSspd.bayar).label('jumlah'), func.sum(ARSspd.bayar).label('jumlah'),
func.max(Unit.kode).label('kode'), func.max(func.trim(Unit.kode)).label('kode'),
func.max(Unit.nama).label('nama'), func.max(func.trim(Unit.nama)).label('nama'),
func.max(Unit.level_id).label('level_id'),
).join(ARInvoice, ARInvoice.id == ARSspd.arinvoice_id).\ ).join(ARInvoice, ARInvoice.id == ARSspd.arinvoice_id).\
join(Unit, func.trim(Unit.kode) == func.trim(ARInvoice.unit_kode)).\ join(Unit, func.trim(Unit.kode) == func.trim(ARInvoice.unit_kode)).\
filter(ARSspd.tahun_id==tahun_berjalan)\ filter(ARSspd.tahun_id==tahun_berjalan,
.group_by(func.trim(Unit.kode))\ Unit.level_id>=3).\
.order_by(func.sum(ARSspd.bayar).desc()).all() group_by(func.trim(Unit.kode)).all()
prev_opd = ''
i = -1
for sopd in opd: for sopd in opd:
i += 1 if sopd.level_id>=3:
for unit3 in data_dashboard['sopd']:
if sopd.kode.startswith(unit3['kode']):
unit3['nominal']+=sopd.jumlah
if sopd.level_id>=4:
for unit4 in data_dashboard['sopd4']:
if sopd.kode.startswith(unit4['kode']):
unit4['nominal']+=sopd.jumlah
##SORT
data_dashboard['sopd'] = sorted(data_dashboard['sopd'], key = lambda i: (i['nominal']), reverse=True)
i=-1
for opd in data_dashboard['sopd']:
i+=1
if i < 10: if i < 10:
data_dashboard['sopd10'].append(dict(peringkat=i+1, kode=sopd.kode, unit=sopd.nama, nominal=sopd.jumlah)) data_dashboard['sopd10'].append(dict(peringkat=i+1, kode=opd['kode'], unit=opd['unit'], nominal=opd['nominal']))
data_dashboard['sopd'].append(dict(peringkat=i+1, kode=sopd.kode, unit=sopd.nama, nominal=sopd.jumlah)) opd['peringkat'] = i+1
##REKENING##
for r in data_dashboard['rek']:
r['persen'] = r['realisasi'] and str(round((float(r['realisasi'])/float(r['target']))*100,2)).replace('.0','') or '0'
for r in data_dashboard['rekdet']:
r['persen'] = r['realisasi'] and str(round((float(r['realisasi'])/float(r['target']))*100,2)).replace('.0','') or '0'
return dict(project='esipkd', dates=dates, data = data_dashboard, opds=opd_ls, statusadmin=statusadmin) return dict(project='esipkd', dates=dates, data = data_dashboard, opds=opd_ls, statusadmin=statusadmin)
else: else:
return dict(project='esipkd', statusadmin=statusadmin) return dict(project='esipkd', statusadmin=statusadmin)
......
...@@ -14,6 +14,8 @@ from ..models.isipkd import (DBSession, ARInvoice, ARSspd, User, Unit, ...@@ -14,6 +14,8 @@ from ..models.isipkd import (DBSession, ARInvoice, ARSspd, User, Unit,
ObjekPajak, SubjekPajak, Rekening, Wilayah) ObjekPajak, SubjekPajak, Rekening, Wilayah)
from .arinvoice import save as save_invoice from .arinvoice import save as save_invoice
from ..models.rpc import DepartemenRoute from ..models.rpc import DepartemenRoute
import logging
log = logging.getLogger(__name__)
now = datetime.now() now = datetime.now()
datenow = now.date() datenow = now.date()
...@@ -174,6 +176,11 @@ def set_invoice(request, data): ...@@ -174,6 +176,11 @@ def set_invoice(request, data):
'pokok','denda','bunga','jumlah','periode_1', 'pokok','denda','bunga','jumlah','periode_1',
'periode_2','jatuh_tempo','tgl_tetap','no_skrd'] 'periode_2','jatuh_tempo','tgl_tetap','no_skrd']
get_mandatory(data, param) get_mandatory(data, param)
## LOGGING SET INVOICE ##
log.error('==== SET INVOICE ====')
log.error(data)
values = clear_null_value(data) values = clear_null_value(data)
if 'jatuh_tempo' in values and values['jatuh_tempo']: if 'jatuh_tempo' in values and values['jatuh_tempo']:
values['jatuh_tempo'] = date_from_str(values['jatuh_tempo']) values['jatuh_tempo'] = date_from_str(values['jatuh_tempo'])
...@@ -259,6 +266,11 @@ def get_payment(request, data): ...@@ -259,6 +266,11 @@ def get_payment(request, data):
""" """
auth_from_rpc(request) auth_from_rpc(request)
get_mandatory(data, ['kd_bayar']) get_mandatory(data, ['kd_bayar'])
## LOGGING GET PAYMENT ##
log.error('==== GET PAYMENT ====')
log.error(data)
row_invoice = DBSession.query(ARInvoice).filter_by(kode=data['kd_bayar']).first() row_invoice = DBSession.query(ARInvoice).filter_by(kode=data['kd_bayar']).first()
if not row_invoice: if not row_invoice:
raise JsonRpcBillNotFoundError raise JsonRpcBillNotFoundError
...@@ -337,6 +349,10 @@ def send_payment(request, data): ...@@ -337,6 +349,10 @@ def send_payment(request, data):
) )
# print('>>>>>>>>>>> DEBUG DATA PAYMENT',d) # print('>>>>>>>>>>> DEBUG DATA PAYMENT',d)
## LOGGING SEND PAYMENT ##
log.error('==== SEND PAYMENT ====')
log.error(d)
response = requests.post(ws_url, data=json.dumps(d), verify=False) response = requests.post(ws_url, data=json.dumps(d), verify=False)
if response.status_code != 200: if response.status_code != 200:
continue continue
......
...@@ -82,6 +82,7 @@ ...@@ -82,6 +82,7 @@
.link-styleless { .link-styleless {
text-decoration: none !important; text-decoration: none !important;
color:inherit !important; color:inherit !important;
cursor: pointer;
} }
.modal-body { .modal-body {
overflow-x:scroll !important; overflow-x:scroll !important;
...@@ -89,6 +90,13 @@ ...@@ -89,6 +90,13 @@
.bgth { .bgth {
background-color: #ddebf6 !important; background-color: #ddebf6 !important;
} }
.modal-backdrop {
visibility: hidden !important;
}
.modal.in {
background-color: rgba(0,0,0,0.5);
}
.modal { overflow: auto !important; }
</style> </style>
<tal:block tal:condition="not statusadmin"> <tal:block tal:condition="not statusadmin">
<div class="well"> <div class="well">
...@@ -118,15 +126,15 @@ Selamat datang di aplikasi SIPANDU ...@@ -118,15 +126,15 @@ Selamat datang di aplikasi SIPANDU
<tal:block tal:condition="statusadmin"> <tal:block tal:condition="statusadmin">
<div class="col-md-6"> <div class="col-md-6">
<h4>REALISASI PENDAPATAN DAERAH TAHUN ${dates['year']}</h4> <h4>REALISASI PENDAPATAN DAERAH TAHUN ${dates['year']}</h4>
<font class="labeltab">Tanggal : ${request.session['date']}</font> <font class="labeltab">Tanggal : ${dates['day'].strftime('%d-%m-%Y')}</font>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<form method="get"> <form method="get">
<div class="col-md-5"> <div class="col-md-5">
<input id="date" type="text" class="form-control date" name="date" value="${request.session['date']}"> <input id="date" type="text" class="form-control date" name="date" onchange="this.form.submit()" value="${dates['day'].strftime('%d-%m-%Y')}">
</div> </div>
<div class="col-md-7"> <div class="col-md-7">
<select id="unit" class="form-control" name="unit"> <select id="unit" class="form-control" name="unit" onchange="this.form.submit()">
<option></option> <option></option>
<option tal:repeat="o opds" value="${o.kode.strip()}">${o.kode.strip()} - ${o.nama}</option> <option tal:repeat="o opds" value="${o.kode.strip()}">${o.kode.strip()} - ${o.nama}</option>
</select> </select>
...@@ -197,7 +205,7 @@ Selamat datang di aplikasi SIPANDU ...@@ -197,7 +205,7 @@ Selamat datang di aplikasi SIPANDU
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<tal:block tal:repeat="r data['rek']"> <tal:block tal:repeat="r data['rek']">
<a class="link-styleless" title="klik untuk melihat daftar lengkap rekening" data-toggle="modal" data-target="#rekeningdetail"> <a class="link-styleless" title="klik untuk melihat daftar lengkap rekening" data-toggle="modal" data-target="#rekeningdetail${r['kode'].replace('.','')}">
<div class="col-md-3 wrapopd"> <div class="col-md-3 wrapopd">
<font class="kodeopd">${r['kode']}</font> <font class="kodeopd">${r['kode']}</font>
<font class="namaopd">${r['nama']}</font> <font class="namaopd">${r['nama']}</font>
...@@ -208,6 +216,9 @@ Selamat datang di aplikasi SIPANDU ...@@ -208,6 +216,9 @@ Selamat datang di aplikasi SIPANDU
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<div class="clearfix"></div> <div class="clearfix"></div>
<!-- MODAL START HERE -->
<!-- MODAL RANKING-->
<div class="modal fade" id="ranking" tabindex="-1" role="dialog"> <div class="modal fade" id="ranking" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
...@@ -215,8 +226,8 @@ Selamat datang di aplikasi SIPANDU ...@@ -215,8 +226,8 @@ Selamat datang di aplikasi SIPANDU
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="col-md-6"> <div class="col-md-12">
<h5>Ranking Penerimaan OPD Periode ${dates['day'].strftime('%d-%m-%Y')}</h5> <h5>Detail Ranking Penerimaan OPD Periode ${dates['day'].strftime('%d-%m-%Y')}</h5>
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
<table class="table table-bordered"> <table class="table table-bordered">
...@@ -230,13 +241,15 @@ Selamat datang di aplikasi SIPANDU ...@@ -230,13 +241,15 @@ Selamat datang di aplikasi SIPANDU
</thead> </thead>
<tbody> <tbody>
<tal:block tal:repeat="so data['sopd']"> <tal:block tal:repeat="so data['sopd']">
<tr> <tal:block tal:condition="so['nominal']">
<tr class="link-styleless" title="klik untuk melihat daftar lengkap ranking" data-toggle="modal" data-target="#ranking${so['kode'].replace('.','')}">
<td style="text-align:center;">${so['peringkat']}</td> <td style="text-align:center;">${so['peringkat']}</td>
<td style="text-align:left;">${so['kode']}</td> <td style="text-align:left;">${so['kode']}</td>
<td style="text-align:left;">${so['unit']}</td> <td style="text-align:left;">${so['unit']}</td>
<td style="text-align:right;">${'{:n}'.format(so['nominal'])}</td> <td style="text-align:right;">${'{:n}'.format(so['nominal'])}</td>
</tr> </tr>
</tal:block> </tal:block>
</tal:block>
</tbody> </tbody>
</table> </table>
</div> </div>
...@@ -246,8 +259,50 @@ Selamat datang di aplikasi SIPANDU ...@@ -246,8 +259,50 @@ Selamat datang di aplikasi SIPANDU
</div> </div>
</div> </div>
</div> </div>
<!--MODAL DETAIL RANKING -->
<div class="modal fade" id="rekeningdetail" tabindex="-1" role="dialog"> <tal:block tal:repeat="so data['sopd']">
<div class="modal fade" id="ranking${so['kode'].replace('.','')}" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</div>
<div class="modal-body">
<div class="col-md-12">
<h5>Ranking Penerimaan ${so['kode']} - ${so['unit']} Periode ${dates['day'].strftime('%d-%m-%Y')}</h5>
</div>
<div class="clearfix"></div>
<table class="table table-bordered">
<thead>
<tr>
<th style="text-align:center;">Kode Unit</th>
<th style="text-align:center;">Nama Unit</th>
<th style="text-align:center;">Nominal</th>
</tr>
</thead>
<tbody>
<tal:block tal:repeat="so4 data['sopd4']">
<tal:block tal:condition="so4['kode'].startswith(so['kode'])">
<tr>
<td style="text-align:left;">${so4['kode']}</td>
<td style="text-align:left;">${so4['unit']}</td>
<td style="text-align:right;">${'{:n}'.format(so4['nominal'])}</td>
</tr>
</tal:block>
</tal:block>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</tal:block>
<!--MODAL DETAIL REKENING -->
<tal:block tal:repeat="ru data['rek']">
<div class="modal fade" id="rekeningdetail${ru['kode'].replace('.','')}" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
...@@ -271,6 +326,7 @@ Selamat datang di aplikasi SIPANDU ...@@ -271,6 +326,7 @@ Selamat datang di aplikasi SIPANDU
</thead> </thead>
<tbody> <tbody>
<tal:block tal:repeat="r data['rek']"> <tal:block tal:repeat="r data['rek']">
<tal:block tal:condition="ru['kode']==r['kode']">
<tr> <tr>
<td style="text-align:right;"><b>${'{}.'.format(r['no'])}</b></td> <td style="text-align:right;"><b>${'{}.'.format(r['no'])}</b></td>
<td style="text-align:left;"><b>${r['kode']}</b></td> <td style="text-align:left;"><b>${r['kode']}</b></td>
...@@ -300,6 +356,7 @@ Selamat datang di aplikasi SIPANDU ...@@ -300,6 +356,7 @@ Selamat datang di aplikasi SIPANDU
<td style="text-align:right;"><b>${r['persen']}</b></td> <td style="text-align:right;"><b>${r['persen']}</b></td>
</tr> </tr>
</tal:block> </tal:block>
</tal:block>
</tbody> </tbody>
</table> </table>
</div> </div>
...@@ -309,6 +366,8 @@ Selamat datang di aplikasi SIPANDU ...@@ -309,6 +366,8 @@ Selamat datang di aplikasi SIPANDU
</div> </div>
</div> </div>
</div> </div>
</tal:block>
</div> </div>
<script type="text/javascript" src="/static/js/Chart.min.js"></script> <script type="text/javascript" src="/static/js/Chart.min.js"></script>
<script type="text/javascript" src="/static/js/jquery-2.1.1.min.js"></script> <script type="text/javascript" src="/static/js/jquery-2.1.1.min.js"></script>
...@@ -453,13 +512,11 @@ Selamat datang di aplikasi SIPANDU ...@@ -453,13 +512,11 @@ Selamat datang di aplikasi SIPANDU
"submitFormat": "dd-mm-yyyy", "submitFormat": "dd-mm-yyyy",
"format": "dd-mm-yyyy",}); "format": "dd-mm-yyyy",});
}); });
$("#date, #unit").change(function(){
$(this).parents('form').submit();
});
$('.date').attr('readonly', true); $('.date').attr('readonly', true);
$('.date').css('background-color', 'transparent'); $('.date').css('background-color', 'transparent');
<tal:block tal:condition="'unit' in request.session and request.session['unit']"> <tal:block tal:condition="'unit' in request.params and request.params['unit']">
$("#unit").val("${request.session['unit']}"); $("#unit").val("${request.params['unit'].strip()}");
</tal:block> </tal:block>
</script> </script>
</tal:block> </tal:block>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!