def gaji_routes_act(self): ses = self.request.session req = self.request params = req.params url_dict = req.matchdict if url_dict['act']=='grid': columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('kode')) columns.append(ColumnDT('nama')) columns.append(ColumnDT('path')) columns.append(ColumnDT('factory')) columns.append(ColumnDT('perm_name')) columns.append(ColumnDT('disabled')) query = DBSession.query(Route) rowTable = DataTables(req, Route, query, columns) return rowTable.output_result() elif url_dict['act']=='headof': term = 'term' in params and params['term'] or '' rows = DBSession.query(Route.id, Route.nama ).filter( Route.nama.ilike('%%%s%%' % term), Route.perm_name != None).\ order_by(Route.path).all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[1] r.append(d) return r
def view_act(self): ses = self.request.session req = self.request params = req.params url_dict = req.matchdict if url_dict['act']=='grid': columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('kode')) columns.append(ColumnDT('uraian')) columns.append(ColumnDT('units.nama')) columns.append(ColumnDT('disabled')) query = DBSession.query(AsetRuang) rowTable = DataTables(req, AsetRuang, query, columns) return rowTable.output_result() elif url_dict['act']=='headofnama': term = 'term' in params and params['term'] or '' q = DBSession.query(AsetRuang.id,AsetRuang.kode,AsetRuang.uraian).\ filter(#AsetRuang.unit_id == ses['unit_id'], AsetRuang.uraian.ilike('%%%s%%' % term)).\ order_by(AsetRuang.uraian) rows = q.all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[2] d['kode'] = k[1] d['uraian'] = k[2] r.append(d) return r
def view_delete(request): q = query_id(request) row = q.first() if not row: return {'success':False, "msg":self.id_not_found()} msg = 'Data sudah dihapus' query_id(request).delete() DBSession.flush() amount = "%s" % Spp.get_nilai(row.ap_spp_id) # untuk kondisi hapus langsung nominal ke SPP if amount == 'None': amount=0 rows = DBSession.query(Spp).filter(Spp.id==row.ap_spp_id).first() rows.nominal=amount DBSession.add(rows) DBSession.flush() #Untuk update status posted dan status_spp pada APInvoice row = DBSession.query(APInvoice).filter(APInvoice.id==row.ap_invoice_id).first() #row.disabled=0 row.status_spp=0 save_request2(row) return {'success':True, "msg":msg, 'jml_total':amount}\
def view_delete(request): q = query_id(request) kegiatan_sub_id = request.matchdict['kegiatan_sub_id'] row = q.first() if not row: return id_not_found(request,kegiatan_sub_id) ## Cek sudah Posting atau belum q = DBSession.query(KegiatanSub.disabled).filter(KegiatanSub.id==request.matchdict['kegiatan_sub_id']) rowsub = q.first() if rowsub.disabled: request.session.flash('Data tidak dapat dihapus karena sudah Posting', 'error') return route_list(request, kegiatan_sub_id) form = Form(colander.Schema(), buttons=('hapus','cancel')) values= {} if request.POST: if 'hapus' in request.POST: msg = '%s berhasil.' % (request.title) DBSession.query(KegiatanAsistensi).filter(KegiatanAsistensi.id==request.matchdict['id']).delete() DBSession.flush() request.session.flash(msg) return route_list(request,kegiatan_sub_id) return dict(row=row, form=form.render())
def view_edit(request): row = query_id(request).first() uid = row.id kode = row.kode if not row: return id_not_found(request) if row.posted: request.session.flash('Data sudah diposting', 'error') return route_list(request) form = get_form(request, EditSchema) if request.POST: if 'simpan' in request.POST: controls = request.POST.items() #Cek Kode Sama ato tidak a = form.validate(controls) b = a['kode'] c = "%s" % b cek = DBSession.query(Sts).filter(Sts.kode==c).first() if cek: kode1 = DBSession.query(Sts).filter(Sts.id==uid).first() d = kode1.kode if d!=c: request.session.flash('Kode Sts sudah ada', 'error') return HTTPFound(location=request.route_url('ar-sts-edit',id=row.id)) try: c = form.validate(controls) except ValidationFailure, e: return dict(form=form) save_request(dict(controls), request, row) return route_list(request)
def view_edit_unposting(request): row = query_id(request).first() if not row: return id_not_found(request) if not row.posted: request.session.flash('Data tidak dapat di Unposting, karena belum diposting.', 'error') return route_list(request) if row.disabled: request.session.flash('Data jurnal Tagihan sudah diposting.', 'error') return route_list(request) form = Form(colander.Schema(), buttons=('unposting','cancel')) if request.POST: if 'unposting' in request.POST: #Update status posted pada UTANG row.posted=0 save_request3(request, row) r = DBSession.query(AkJurnal.id).filter(AkJurnal.source_no==row.kode).first() #Menghapus Item Jurnal DBSession.query(AkJurnalItem).filter(AkJurnalItem.ak_jurnal_id==r).delete() DBSession.flush() #Menghapus UTANG yang sudah menjadi jurnal DBSession.query(AkJurnal).filter(AkJurnal.source_no==row.kode).delete() DBSession.flush() return route_list(request) return dict(row=row, form=form.render())
def view_edit_unposting(self): request = self.request row = self.query_id().first() kode = row.ref_kode if not row: return id_not_found(request) if not row.posted: self.request.session.flash('Data tidak dapat di Unposting jurnal, karena belum diposting jurnal.', 'error') return self.route_list() if row.disabled: self.request.session.flash('Data jurnal TBP sudah diposting.', 'error') return self.route_list() form = Form(colander.Schema(), buttons=('un-jurnal','cancel')) if request.POST: if 'un-jurnal' in request.POST: #Update status posted pada TBP row.posted=0 self.save_request4(row) r = DBSession.query(Jurnal.id.label('di')).filter(Jurnal.source_no==row.ref_kode,Jurnal.source=='TBP').all() for row in r: #Menghapus Item Jurnal DBSession.query(JurnalItem).filter(JurnalItem.jurnal_id==row.di).delete() DBSession.flush() #Menghapus TBP yang sudah menjadi jurnal DBSession.query(Jurnal).filter(Jurnal.source_no==kode,Jurnal.source=='TBP').delete() DBSession.flush() return self.route_list() return dict(row=row, form=form.render())
def view_delete(self): q = self.query_id() row = q.first() request=self.request if not row: return id_not_found(request) if row.posted: request.session.flash('Data sudah diposting', 'error') return self.route_list() if row.status_giro: request.session.flash('Data masih terdapat pada Giro', 'error') return self.route_list() form = Form(colander.Schema(), buttons=('hapus','cancel')) values= {} if request.POST: if 'hapus' in request.POST: #Untuk menghapus SP2D msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode) DBSession.query(Sp2d).filter(Sp2d.id==request.matchdict['id']).delete() DBSession.flush() request.session.flash(msg) #Untuk update status posted dan disabled pada SPM row = DBSession.query(Spm).filter(Spm.id==row.ap_spm_id).first() row.posted=0 row.disabled=0 self.save_request3(row) return self.route_list() return dict(row=row,form=form.render())
def gaji_group_act(request): ses = request.session req = request params = req.params url_dict = req.matchdict if url_dict['act']=='grid': columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('email')) columns.append(ColumnDT('user_name')) columns.append(ColumnDT('status')) columns.append(ColumnDT('last_login_date')) columns.append(ColumnDT('registered_date')) query = DBSession.query(User) rowTable = DataTables(req, User, query, columns) return rowTable.output_result() elif url_dict['act']=='headofnama': term = 'term' in params and params['term'] or '' rows = DBSession.query(User.id, User.user_name ).filter( User.user_name.ilike('%%%s%%' % term) ).all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[1] r.append(d) return r
def gaji_group_act(self): ses = self.request.session req = self.request params = req.params url_dict = req.matchdict if url_dict['act']=='grid': columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('group_name')) columns.append(ColumnDT('description')) columns.append(ColumnDT('member_count')) query = DBSession.query(Group) rowTable = DataTables(req, Group, query, columns) return rowTable.output_result() elif url_dict['act']=='headofnama': term = 'term' in params and params['term'] or '' rows = DBSession.query(Group.id, Group.group_name ).filter( Group.group_name.ilike('%%%s%%' % term) ).all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[1] r.append(d) return r
def form_validator(form, value): def err_email(): raise colander.Invalid(form, 'Email %s sudah digunakan oleh user ID %d' % ( value['email'], found.id)) def err_name(): raise colander.Invalid(form, 'Nama user %s sudah digunakan oleh ID %d' % ( value['user_name'], found.id)) if 'id' in form.request.matchdict: uid = form.request.matchdict['id'] q = DBSession.query(User).filter_by(id=uid) user = q.first() else: user = None q = DBSession.query(User).filter_by(email=value['email']) found = q.first() if user: if found and found.id != user.id: err_email() elif found: err_email() if 'user_name' in value: # optional found = User.get_by_name(value['user_name']) if user: if found and found.id != user.id: err_name() elif found: err_name()
def view_edit_unposting(self): request = self.request row = self.query_id().first() if not row: return id_not_found(request) if not row.posted: self.request.session.flash('Data tidak dapat di Un-Jurnal, karena belum dibuat jurnal.', 'error') return self.route_list() if row.disabled: self.request.session.flash('Data jurnal Penetapan/Tagihan sudah diposting.', 'error') return self.route_list() form = Form(colander.Schema(), buttons=('un-jurnal','cancel')) if request.POST: if 'un-jurnal' in request.POST: #Update status posted pada PIUTANG row.posted=0 self.save_request3(row) r = DBSession.query(Jurnal.id).filter(Jurnal.source_no==row.ref_kode,Jurnal.source=='Penetapan').first() #Menghapus Item Jurnal DBSession.query(JurnalItem).filter(JurnalItem.jurnal_id==r).delete() DBSession.flush() #Menghapus PIUTANG yang sudah menjadi jurnal DBSession.query(Jurnal).filter(Jurnal.source_no==row.ref_kode,Jurnal.source=='Penetapan').delete() DBSession.flush() return self.route_list() return dict(row=row, form=form.render())
def view_delete(request): q = query_id(request) row = q.first() if not row: return id_not_found(request) if row.posted: request.session.flash('Data sudah diposting', 'error') return route_list(request) if row.status_spp: request.session.flash('Data sudah di SPP', 'error') return route_list(request) """ if row.amount: request.session.flash('Data tidak bisa dihapus, karena memiliki data items', 'error') return route_list(request) """ form = Form(colander.Schema(), buttons=('hapus','cancel')) values= {} if request.POST: if 'hapus' in request.POST: msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode) DBSession.query(APPayment).filter(APPayment.id==request.matchdict['id']).delete() DBSession.flush() request.session.flash(msg) #Untuk update status posted dan status_pay pada APInvoice inv_id = row.invoice_id row = DBSession.query(APInvoice).filter(APInvoice.id==inv_id).first() row.status_pay = 0 save_request2(row) return route_list(request) return dict(row=row, form=form.render())
def view_delete(request): q = query_id(request) row = q.first() if not row: return id_not_found(request) if row.posted: request.session.flash('Data sudah diposting SKPD', 'error') return route_list(request) if row.posted1: request.session.flash('Data sudah diposting PPKD', 'error') return route_list(request) if row.nominal: request.session.flash('Data tidak bisa dihapus, karena memiliki data items', 'error') return route_list(request) form = Form(colander.Schema(), buttons=('hapus','cancel')) values= {} if request.POST: if 'hapus' in request.POST: msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode) DBSession.query(Sts).filter(Sts.id==request.matchdict['id']).delete() DBSession.flush() request.session.flash(msg) return route_list(request) return dict(row=row, form=form.render())
def view_edit(self): request = self.request row = self.query_id().first() uid = row.id kode = row.kode if not row: return id_not_found(request) form = self.get_form(EditSchema) if request.POST: if 'simpan' in request.POST: controls = request.POST.items() #Cek Kode Sama ato tidak a = form.validate(controls) b = a['kode'] c = "%s" % b cek = DBSession.query(Giro).filter(Giro.kode==c).first() if cek: kode1 = DBSession.query(Giro).filter(Giro.id==uid).first() d = kode1.kode if d!=c: self.request.session.flash('Kode Giro sudah ada', 'error') return HTTPFound(location=request.route_url('ap-giro-edit',id=row.id)) try: c = form.validate(controls) except ValidationFailure, e: return dict(form=form) self.save_request(dict(controls), row) return self.route_list()
def gaji_act(self): ses = self.request.session req = self.request params = req.params url_dict = req.matchdict if url_dict['act']=='grid': columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('kode')) columns.append(ColumnDT('nama')) columns.append(ColumnDT('programs.nama')) columns.append(ColumnDT('disabled')) query = Kegiatan.query() #DBSession.query(Kegiatan) rowTable = DataTables(req, Kegiatan, query, columns) return rowTable.output_result() elif url_dict['act']=='headofkode': term = 'term' in params and params['term'] or '' rows = DBSession.query(Kegiatan.id, Kegiatan.kode, Kegiatan.nama ).join(Program).filter( Program.kode!="0.00.00", Kegiatan.kode.ilike('%%%s%%' % term) ).all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[1] d['kode'] = k[1] d['nama'] = k[2] r.append(d) return r elif url_dict['act']=='headofnama': term = 'term' in params and params['term'] or '' rows = DBSession.query(Kegiatan.id, Kegiatan.kode, Kegiatan.nama ).join(Program).filter( Program.kode!="0.00.00", Kegiatan.nama.ilike('%%%s%%' % term) ).all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[2] d['kode'] = k[1] d['nama'] = k[2] r.append(d) return r elif url_dict['act']=='headofnama1': term = 'term' in params and params['term'] or '' rows = DBSession.query(Kegiatan.id, Kegiatan.kode, Kegiatan.nama ).join(Program).filter( #Program.kode!="0.00.00", Kegiatan.nama.ilike('%%%s%%' % term) ).all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = k[2] d['kode'] = k[1] d['nama'] = k[2] r.append(d) return r
def view_fungsi_edit(self): request = self.request row = self.query_id().first() uid = row.id kode = row.kode if not row: return id_not_found(request) form = self.get_form(EditSchema) if request.POST: if 'simpan' in request.POST: controls = request.POST.items() print controls #Cek Kode Sama ato tidak a = form.validate(controls) b = a['kode'] c = "%s" % b cek = DBSession.query(Fungsi).filter(Fungsi.kode==c).first() if cek: kode1 = DBSession.query(Fungsi).filter(Fungsi.id==uid).first() d = kode1.kode if d!=c: self.request.session.flash('Data sudah ada', 'error') return HTTPFound(location=request.route_url('fungsi-edit',id=row.id)) try: c = form.validate(controls) except ValidationFailure, e: request.session[SESS_EDIT_FAILED] = e.render() return HTTPFound(location=request.route_url('fungsi-edit', id=row.id)) self.save_request(dict(controls), row) return self.route_list()
def view_delete(request): q = query_id(request) row = q.first() if not row: return id_not_found(request) if row.posted: request.session.flash('Data sudah diposting', 'error') return route_list(request) if row.status_spp: request.session.flash('Data sudah masuk di SPP', 'error') return route_list(request) if row.status_pay: request.session.flash('Data sudah masuk di Pembayaran Tagihan', 'error') return route_list(request) if row.amount: request.session.flash('Data tidak bisa dihapus, karena memiliki data items', 'error') return route_list(request) form = Form(colander.Schema(), buttons=('hapus','cancel')) values= {} if request.POST: if 'hapus' in request.POST: msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode) DBSession.query(APInvoice).filter(APInvoice.id==request.matchdict['id']).delete() DBSession.flush() request.session.flash(msg) return route_list(request) return dict(row=row, form=form.render())
def view_delete(request): q = query_id(request) row = q.first() if not row: return id_not_found(request) # Cek posting #if row.disabled: # request.session.flash('Data tidak dapat dihapus karena sudah Posting', 'error') # return route_list(request) ses = request.session ## variabel ag_step_id ag_step_id = ses['ag_step_id'] if row.disabled == 1 and row.approval==4: request.session.flash('Data tidak dapat dihapus karena sudah Posting', 'error') return route_list1(request,row.id) if row.approval==3: request.session.flash('Data tidak dapat dihapus karena sudah di Approval oleh Dispenda', 'error') return route_list1(request,row.id) if row.approval==2: request.session.flash('Data tidak dapat dihapus karena sudah di Approval oleh Bappeda', 'error') return route_list1(request,row.id) form = Form(colander.Schema(), buttons=('hapus','cancel')) values= {} if request.POST: if 'hapus' in request.POST: msg = '%s Kode %s No. %s %s sudah dihapus.' % (request.title, row.kode, row.no_urut, row.nama) DBSession.query(KegiatanSub).filter(KegiatanSub.id==request.matchdict['id']).delete() DBSession.flush() request.session.flash(msg) return route_list(request) return dict(row=row, form=form.render())
def view_delete(request): q = query_id(request) row = q.first() if not row: return {'success':False, "msg":self.id_not_found()} msg = 'Data sudah dihapus' query_id(request).delete() DBSession.flush() nominal = "%s" % Advist.get_nilai(row.ap_advist_id) # untuk kondisi hapus langsung nominal ke Advist if nominal == 'None': nominal = 0 rows = DBSession.query(Advist).filter(Advist.id==row.ap_advist_id).first() rows.nominal= nominal DBSession.add(rows) DBSession.flush() #Untuk update status disabled pada SP2D row = DBSession.query(Sp2d).filter(Sp2d.id==row.ap_sp2d_id).first() row.status_advist=0 save_request2(row) return {'success':True, "msg":msg, 'jml_total':nominal}
def view_filing(self): req = self.request ses = req.session form = self.get_form(AddSchema) page = {} rowpage = 1 cpage = 'page' in req.POST and req.POST['page'] or 1 if cpage<1: cpage = 1 page['current']=int(cpage) offset = (page['current']-1) * rowpage if 'data' in req.POST: page['row'] = DBSession.query(func.count(Filing.id)).\ filter(or_(Filing.tag.like('%%%s%%' % req.POST['data']), Filing.nama.like('%%%s%%' % req.POST['data'])),).scalar() or 0 rows = DBSession.query(Filing).\ filter(or_(Filing.tag.like('%%%s%%' % req.POST['data']), Filing.nama.like('%%%s%%' % req.POST['data'])),).\ limit(rowpage).offset(offset) else: rows = DBSession.query(Filing).\ limit(rowpage).offset(offset) page['row'] = DBSession.query(func.count(Filing.id)).scalar() or 0 count = page['row'] / int(rowpage) page['count'] = count if count < page['row']/float(rowpage): page['count']=count+1 return dict(form=form, rows=rows, page=page)
def set_invoice(request, data): resp = auth_from_rpc(request) if resp['code'] != 0: return resp unit_id = 0 unit_kd = "" rekening_id = 0 rekening_kd = "" try: for row in data: if row['unit_kd']!=unit_kd: unit_id = DBSession.query(Unit.id).filter_by( kode = row['unit_kd']).scalar() unit_kd = unit_id and row['unit_kd'] if row['rekening_kd']!=rekening_kd: rekening_id = DBSession.query(Rekening.id).filter_by( kode = row['rekening_kd']).scalar() rekening_kd = rekening_id and row['rekening_kd'] invoice = DBSession.query(ARInvoiceTransaksi).filter_by( kode = row['rekening_kd'], tahun = row['tahun'], ref_kode = row['ref_kode'] ).first() if not invoice: invoice = ARInvoiceTransaksi() invoice.created = datetime.now() invoice.create_uid = 1 invoice.kode = row['rekening_kd'] invoice.nama = row['nama'] invoice.tahun = row['tahun'] invoice.amount = row['amount'] invoice.ref_kode = row['ref_kode'] invoice.ref_nama = row['ref_nama'] invoice.tanggal = row['tanggal'] invoice.kecamatan_kd = row['kecamatan_kd'] invoice.kecamatan_nm = row['kecamatan_nm'] invoice.kelurahan_kd = row['kelurahan_kd'] invoice.kelurahan_nm = row['kelurahan_nm'] invoice.is_kota = row['is_kota'] invoice.sumber_data = row['sumber_data'] invoice.sumber_id = row['sumber_id'] invoice.unit_id = unit_id invoice.rekening_id = rekening_id #invoice.notes = row['notes'] DBSession.add(invoice) DBSession.flush() except Exception e: print str(e) DBSession.rollback() return dict(code=CODE_DATA_INVALID, message='Data Invalid') try: DBSession.commit() except Exception e: print str(e) return dict(code=CODE_OK, message='Data Submitted')
def view_edit_unposting(request): row = query_id(request).first() if not row: return id_not_found(request) if not row.posted1: request.session.flash('Data tidak dapat di Unposting jurnal, karena belum diposting jurnal PPKD.', 'error') return route_list(request) if row.disabled: request.session.flash('Data jurnal STS sudah diposting.', 'error') return route_list(request) form = Form(colander.Schema(), buttons=('un-jurnal','cancel')) if request.POST: if 'un-jurnal' in request.POST: #Update status posted pada STS row.posted1=0 save_request3(request, row) kode = row.kode ji = row.jenis j = '%s' % ji if j=='1': s='BP' x='STS-%s' % s if j=='2': s='P' x='STS-%s' % s if j=='3': s='NP' x='STS-%s' % s if j=='4': s='CP' x='STS-%s' % s if j=='5': s='L' x='STS-%s' % s r = DBSession.query(AkJurnal.id.label('di')).filter(AkJurnal.source_no==kode,AkJurnal.source==x,AkJurnal.is_skpd==0).all() for row in r: #Menghapus Item Jurnal DBSession.query(AkJurnalItem).filter(AkJurnalItem.ak_jurnal_id==row.di).delete() DBSession.flush() #Menghapus STS yang sudah menjadi jurnal DBSession.query(AkJurnal).filter(AkJurnal.source_no==kode, AkJurnal.source==x,AkJurnal.is_skpd==0).delete() DBSession.flush() return route_list(request) return dict(row=row, form=form.render())
def view_add(request): req = request ses = req.session params = req.params url_dict = req.matchdict ap_spd_id = 'ap_spd_id' in url_dict and url_dict['ap_spd_id'] or 0 controls = dict(req.POST.items()) ap_spd_item_id = 'ap_spd_item_id' in controls and controls['ap_spd_item_id'] or 0 #Cek dulu ada penyusup gak dengan mengecek sessionnya ap_spd = DBSession.query(Spd)\ .filter(#Spd.unit_id==ses['unit_id'], Spd.id==ap_spd_id).first() if not ap_spd: return {"success": False, 'msg':'SPD tidak ditemukan'} #Cek lagi ditakutkan skpd ada yang iseng inject script if ap_spd_item_id: row = DBSession.query(SpdItem)\ .join(Spd)\ .filter(SpdItem.id==ap_spd_item_id, #Spd.unit_id==ses['unit_id'], SpdItem.ap_spd_id==ap_spd_id).first() if not row: return {"success": False, 'msg':'Invoice tidak ditemukan'} else: row = SpdItem() row.ap_spd_id = ap_spd_id row.kegiatan_sub_id = controls['kegiatan_sub_id'] row.anggaran = controls['anggaran'].replace('.','') row.lalu = controls['lalu'].replace('.','') row.nominal = controls['nominal'].replace('.','') DBSession.add(row) DBSession.flush() r = DBSession.query(SpdItem)\ .join(KegiatanSub)\ .outerjoin(Kegiatan)\ .filter(SpdItem.kegiatan_sub_id==controls['kegiatan_sub_id'], SpdItem.kegiatan_sub_id==KegiatanSub.id, KegiatanSub.kegiatan_id==Kegiatan.id, Kegiatan.kode=='0.00.00.21')\ .first() if r: bl = "%s" % Spd.get_nilai1(row.ap_spd_id) btl = "%s" % Spd.get_nilai2(row.ap_spd_id) else: bl = "%s" % Spd.get_nilai1(row.ap_spd_id) btl = "%s" % Spd.get_nilai2(row.ap_spd_id) return {"success": True, 'id': row.id, "msg":'Success Tambah SPD', 'jml_total1':bl, 'jml_total2':btl}
def gaji_fungsi_urusan_act(self): ses = self.request.session req = self.request params = req.params url_dict = req.matchdict if url_dict['act']=='grid': columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('fnama')) columns.append(ColumnDT('unama')) columns.append(ColumnDT('nama')) query = DBSession.query(FungsiUrusan.id, Fungsi.nama.label('fnama'), Urusan.nama.label('unama'), FungsiUrusan.nama, ).filter(FungsiUrusan.fungsi_id==Fungsi.id, FungsiUrusan.urusan_id==Urusan.id, ) rowTable = DataTables(req, FungsiUrusan, query, columns) return rowTable.output_result() elif url_dict['act']=='grid1': cari = 'cari' in params and params['cari'] or '' columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('fnama')) columns.append(ColumnDT('unama')) columns.append(ColumnDT('nama')) query = DBSession.query(FungsiUrusan.id, Fungsi.nama.label('fnama'), Urusan.nama.label('unama'), FungsiUrusan.nama, ).filter(FungsiUrusan.fungsi_id==Fungsi.id, FungsiUrusan.urusan_id==Urusan.id, or_(Fungsi.nama.ilike('%%%s%%' % cari), Urusan.nama.ilike('%%%s%%' % cari), FungsiUrusan.nama.ilike('%%%s%%' % cari)) ) rowTable = DataTables(req, FungsiUrusan, query, columns) return rowTable.output_result() elif url_dict['act']=='changeid': row = FungsiUrusan.get_by_id('fungsi_urusan_id' in params and params['fungsi_urusan_id'] or 0) if row: ses['fungsi_urusan_id']=row.id ses['fungsi_urusan_kd']=row.kode ses['fungsi_urusan_nm']=row.nama return {'success':True}
def view_app(self): tahun = self.session['tahun'] datas = DBSession.query(Slide).filter(Slide.disabled==0).order_by(Slide.order_id) or {} tab_datas = DBSession.query(Slide).filter(Slide.source_type=='grid').order_by(Slide.order_id) or {} line_datas = DBSession.query(Slide).filter(Slide.source_type=='chart-line').order_by(Slide.order_id)or {} bar_datas = DBSession.query(Slide).filter(Slide.source_type=='chart-bar').order_by(Slide.order_id)or {} pie_datas = DBSession.query(Slide).filter(Slide.source_type=='chart-pie').order_by(Slide.order_id)or {} return dict(project='EIS', datas=datas, tab_datas=tab_datas, line_datas=line_datas, bar_datas=bar_datas, pie_datas=pie_datas, )#, datas=Eis.sum_order_id('2014'))
def view_ak_jurnal_edit(self): request = self.request row = self.query_id().first() uid = row.id kode = row.kode if not row: return id_not_found(request) if row.posted: request.session.flash('Data sudah diposting', 'error') return self.route_list() rowd={} rowd['id'] = row.id rowd['unit_id'] = row.unit_id rowd['unit_nm'] = row.units.nama rowd['unit_kd'] = row.units.kode rowd['kode'] = row.kode rowd['nama'] = row.nama rowd['source_no'] = row.source_no rowd['source'] = row.source rowd['tgl_source'] = row.tgl_source rowd['tanggal'] = row.tanggal rowd['jv_type'] = row.jv_type rowd['disabled'] = row.disabled rowd['notes'] = row.notes rowd['is_skpd'] = row.is_skpd form = self.get_form(EditSchema) form.set_appstruct(rowd) if request.POST: if 'simpan' in request.POST: controls = request.POST.items() print controls #Cek Kode Sama ato tidak a = form.validate(controls) b = a['kode'] c = "%s" % b cek = DBSession.query(Jurnal).filter(Jurnal.kode==c).first() if cek: kode1 = DBSession.query(Jurnal).filter(Jurnal.id==uid).first() d = kode1.kode if d!=c: self.request.session.flash('Kode Jurnal sudah ada', 'error') return HTTPFound(location=request.route_url('ak-jurnal-edit',id=row.id)) try: c = form.validate(controls) except ValidationFailure, e: return dict(form=form) self.save_request(dict(controls),row) return self.route_list()
def aset_kiba_act(self): ses = self.request.session req = self.request params = req.params url_dict = req.matchdict pk_id = 'id' in params and int(params['id']) or 0 if url_dict['act']=='grid': # defining columns columns = [] columns.append(ColumnDT('id')) columns.append(ColumnDT('units.kode')) columns.append(ColumnDT('kats.kode')) columns.append(ColumnDT('no_register')) columns.append(ColumnDT('uraian')) columns.append(ColumnDT('tahun')) columns.append(ColumnDT('th_beli')) columns.append(ColumnDT('harga')) columns.append(ColumnDT('kondisi')) query = DBSession.query(AsetKib).\ join(AsetKategori).\ filter(AsetKib.unit_id == ses['unit_id'], AsetKib.kategori_id==AsetKategori.id, AsetKib.kib=='A') rowTable = DataTables(req, AsetKib, query, columns) return rowTable.output_result() elif url_dict['act']=='headofkode': term = 'term' in params and params['term'] or '' q = DBSession.query(AsetKib.id, AsetKategori.kode, AsetKib.no_register, AsetKib.uraian, AsetKib.tgl_perolehan).\ join(AsetKategori).\ filter(AsetKib.unit_id == ses['unit_id'], AsetKib.kategori_id == AsetKategori.id, or_(AsetKategori.kode.ilike('%%%s%%' % term), AsetKib.uraian.ilike('%%%s%%' % term))).\ order_by(AsetKib.no_register) rows = q.all() r = [] for k in rows: d={} d['id'] = k[0] d['value'] = ''.join([k[1],'-',str(k[2]),'-',str(k[3])]) d['kode'] = ''.join([k[1],'-',str(k[2]),'-',str(k[3])]) d['uraian'] = k[3] d['tanggal'] = "%s" % k[4] r.append(d) return r
def view_ak_jurnal_ppkd_delete(self): request = self.request q = self.query_id() row = q.first() kode = row.source_no if not row: return self.id_not_found(request) i = DBSession.query(AkJurnalItem).filter(AkJurnalItem.ak_jurnal_id==row.id).first() if i: request.session.flash('Hapus data item dahulu', 'error') return self.route_list() form = Form(colander.Schema(), buttons=('hapus','batal')) if request.POST: if 'hapus' in request.POST: #Untuk hapus jurnal msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode) q.delete() DBSession.flush() request.session.flash(msg) #Untuk update status disabled dan posted SP2D row = DBSession.query(Sp2d).filter(Sp2d.kode==kode).first() if not row: #Untuk update status disabled dan posted PIUTANG row = DBSession.query(ARInvoice).filter(ARInvoice.kode==kode).first() if not row: #Untuk update status disabled dan posted STS row = DBSession.query(Sts).filter(Sts.kode==kode).first() if not row: #Untuk update status disabled dan posted Tagihan row = DBSession.query(APInvoice).filter(APInvoice.kode==kode).first() if not row: return self.route_list() row.disabled=0 row.posted=0 self.save_request7(row) row.disabled=0 row.posted1=0 self.save_request6(row) row.disabled=0 row.posted=0 self.save_request5(row) row.disabled=0 row.posted1=0 self.save_request4(row) return self.route_list() return dict(row=row, form=form.render())
def view_add(request): req = request ses = req.session params = req.params url_dict = req.matchdict ar_invoice_id = 'ar_invoice_id' in url_dict and url_dict['ar_invoice_id'] or 0 controls = dict(request.POST.items()) ar_invoice_item_id = 'ar_invoice_item_id' in controls and controls['ar_invoice_item_id'] or 0 #Cek dulu ada penyusup gak dengan mengecek sessionnya ar_invoice = DBSession.query(ARInvoice)\ .filter(ARInvoice.unit_id==ses['unit_id'], ARInvoice.id==ar_invoice_id).first() if not ar_invoice: return {"success": False, 'msg':'Invoice tidak ditemukan'} if ar_invoice_item_id: #Cek lagi ditakutkan skpd ada yang iseng inject script row = DBSession.query(ARInvoiceItem)\ .join(ARInvoice)\ .filter(ARInvoiceItem.id==ar_invoice_item_id, ARInvoice.unit_id==ses['unit_id'], ARInvoiceItem.ar_invoice_id==ar_invoice_id).first() if not row: return {"success": False, 'msg':'Invoice tidak ditemukan'} else: row = ARInvoiceItem() row.ar_invoice_id = ar_invoice_id row.kegiatan_item_id = controls['kegiatan_item_id'] if not controls['no_urut'] or controls['no_urut'].split()=='': controls['no_urut'] = ARInvoiceItem.max_no_urut(ar_invoice_id)+1 row.no_urut = controls['no_urut'] row.nama = controls['nama'] row.vol_1 = controls['vol_1'].replace('.','') row.vol_2 = controls['vol_2'].replace('.','') row.harga = controls['harga'].replace('.','') row.nilai = float(controls['vol_1'].replace('.',''))*float(controls['vol_2'].replace('.',''))*float(controls['harga'].replace('.','')) DBSession.add(row) DBSession.flush() nilai = "%d" % ARInvoice.get_nilai(row.ar_invoice_id) # untuk kondisi simpan langsung nilai ke ARInvoice if nilai: rows = DBSession.query(ARInvoice).filter(ARInvoice.id==ar_invoice_id).first() rows.nilai= nilai DBSession.add(rows) DBSession.flush() return {"success": True, 'id': row.id, "msg":'Success Tambah Item Invoice', 'jml_total':nilai}