target.py 3.08 KB
import colander
from deform import widget
from opensipkd.base.widgets import widget_os
from pyramid.view import view_config
from ..models.payment import UploadRealisasiOpsen, TargetsBangbadil
from . import BaseView
from ..models.payment import PCDBSession
from datetime import date

class ListSchema(colander.Schema):
    id = colander.SchemaNode(
        colander.Integer(),
        title="Action")
    
    kode = colander.SchemaNode(
        colander.String(),
        title="Kode Rekening")
    
    nama = colander.SchemaNode(
        colander.String(),
        title="Nama Pajak")
    
    tahun = colander.SchemaNode(
        colander.String(),
        title="Tahun")
    
    t_anggaran = colander.SchemaNode(
        colander.Integer(),
        thousand={"separator":"."},
        title="Nilai Anggaran")
    
    t_perubahan = colander.SchemaNode(
        colander.Integer(),
        thousand={"separator":"."},
        title="Nilai Perubahan")

class AddSchema(colander.Schema):
    kode = colander.SchemaNode(
        colander.String(),
        title="Kode",
        oid="kode",
    )
    nama = colander.SchemaNode(
        colander.String(),
        title="Nama Pajak",
        oid="nama",
    )
    tahun = colander.SchemaNode(
        colander.String(),
        title="tahun")
    
    t_anggaran = colander.SchemaNode(
        colander.Integer(),
        widget=widget.TextInputWidget(min = 0, attributes={'type':'number','max':max,'min':min}),
        validator=colander.Range(min=0),
        title="Nilai Anggaran")
    
    t_perubahan = colander.SchemaNode(
        colander.Integer(),
        widget=widget.TextInputWidget(min = 0, attributes={'type':'number','max':max,'min':min}),
        validator=colander.Range(min=0),
        title="Nilai Perubahan")


class EditSchema(AddSchema):
    id = colander.SchemaNode(colander.String(),
                             missing=colander.drop,
                             widget=widget.HiddenWidget(readonly=True))


class Views(BaseView):
    def __init__(self, request):
        super().__init__(request)
        self.list_schema = ListSchema
        self.add_schema = AddSchema
        self.edit_schema = EditSchema
        self.list_route = 'eis-target'
        self.table = TargetsBangbadil
        self.db_session = PCDBSession

    # def view_list(self):
    #     return super().view_list()

    # def view_act(self):
    #     return super().view_act()

    # def view_view(self):
    #     return super().view_view()

    def form_validator(self, form, value):
      exc = colander.Invalid(form, '')
      
      if 'id' in form.request.matchdict:
        uid = int(form.request.matchdict['id'])
        q = UploadRealisasiOpsen.query_id(uid)
        current = q.first()
      else:
        pass
        
    def view_add(self):
        return super().view_add()

    # def get_values(self, row, istime=False, null=False):
    #     d = super().get_values(row, istime, null)
    #     d["kiri"] = d
    #     d["kanan"] = d
    #     return d

    # def view_edit(self):
    #     return super().view_edit()

    # def view_delete(self):
    #     return super().view_delete()