tbp.py
1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import os
import uuid
from datetime import datetime
from sqlalchemy import not_, func, between
from pyramid.view import (view_config,)
from pyramid.httpexceptions import ( HTTPFound, )
import colander
from deform import (Form, widget, ValidationFailure, )
from ..views import BaseView, ColumnDT, DataTables
from ..models import SipkdDBSession as DBSession
from ..models import Tbp
from ..tools import date_from_str
class view_invoice(BaseView):
@view_config(route_name="sipkd-tbp", renderer="templates/tbp/list.pt",
permission="sipkd-tbp")
def view_list(self):
return dict(project='SIPKD')
##########
# Action #
##########
@view_config(route_name='sipkd-tbp-act', renderer='json',
permission='sipkd-tbp-act')
def view_act(request):
ses = request.session
req = request
params = req.params
url_dict = req.matchdict
if url_dict['act']=='grid':
pk_id = 'id' in params and params['id'] and int(params['id']) or 0
if url_dict['act']=='grid':
# defining columns
columns = [
ColumnDT(Tbp.notbp, mData="nomor"),
ColumnDT(Tbp.penyetor, mData="penyetor"),
ColumnDT(Tbp.uraitbp, mData="uraian"),
ColumnDT(Tbp.tgltbp, mData="tanggal"),
ColumnDT(Tbp.tglvalid, mData="valid"),
#ColumnDT(Tbp.bunga, mData="nilai"),
#ColumnDT(Tbp.bunga, mData="bunga"),
]
query = DBSession.query().select_from(Tbp).\
filter(
between(Tbp.tgltbp, ses['dt_awal'], ses['dt_akhir'])
)
rowTable = DataTables(req.GET, query, columns)
return rowTable.output_result()