bendahara.py 1.75 KB
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 Bendahara, DaftUnit
from ..tools import date_from_str

class view_invoice(BaseView):
    @view_config(route_name="sipkd-bendahara", renderer="templates/bendahara/list.pt",
                 permission="sipkd-bendahara")
    def view_list(self):
        return dict(project='SIPKD')

##########
# Action #
##########
@view_config(route_name='sipkd-bendahara-act', renderer='json',
             permission='sipkd-bendahara-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(Bendahara.keybend, mData="id"),
                ColumnDT(Bendahara.jns_bend, mData="jenis"),
                ColumnDT(Bendahara.nip, mData="nip"),
                ColumnDT(Bendahara.jab_bend, mData="jabatan"),
                ColumnDT(DaftUnit.nmunit, mData="opd"),
                #ColumnDT(Bendahara.bunga, mData="nilai"),
                #ColumnDT(Bendahara.bunga, mData="bunga"),
                ]
            query = DBSession.query().select_from(Bendahara).\
                join(DaftUnit, (Bendahara.unitkey==DaftUnit.unitkey))
            rowTable = DataTables(req.GET, query, columns)
            return rowTable.output_result()