parameter.py
3.32 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import colander
from deform import (widget, )
from pyramid.view import (view_config, )
from opensipkd.models import (
DBSession,
Parameter)
from . import BaseView
class AddSchema(colander.Schema):
kode = colander.SchemaNode(
colander.String(),
oid="kode",
title="Kode")
nama = colander.SchemaNode(
colander.String(),
oid="nama",
title="Nama")
value = colander.SchemaNode(
colander.String(),
widget=widget.TextAreaWidget(rows=5),
oid="value",
title="Nilai")
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget(true_val=1, false_val=0))
class EditSchema(AddSchema):
id = colander.SchemaNode(colander.String(),
missing=colander.drop,
widget=widget.HiddenWidget(readonly=True),
title="Action")
class ListSchema(colander.Schema):
id = colander.SchemaNode(colander.Integer(),
title="Action")
kode = colander.SchemaNode(
colander.String(),
oid="kode",
title="Kode")
nama = colander.SchemaNode(
colander.String(),
oid="nama",
title="Nama")
value = colander.SchemaNode(
colander.String(),
widget=widget.TextAreaWidget(rows=5),
oid="value",
title="Nilai")
status = colander.SchemaNode(
colander.Integer(),
widget=widget.CheckboxWidget())
class Views(BaseView):
def __init__(self, request):
super(Views, self).__init__(request)
self.form_params = dict(scripts="")
self.list_url = 'parameter'
self.list_route = 'parameter'
self.add_schema = AddSchema
self.edit_schema = EditSchema
self.table = Parameter
self.list_schema = ListSchema
@view_config(route_name='parameter', renderer='templates/table.pt',
permission='user-edit')
def view_list(self):
return super().view_list()
@view_config(route_name='parameter-act', renderer='json',
permission='user-edit')
def view_act(self):
return super().view_act()
def next_act(self):
url_dict = self.req.matchdict
params = self.params
if url_dict['act'] == 'hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Parameter.id, Parameter.nama). \
filter(Parameter.nama.ilike('%{term}%'.format(term=term))). \
order_by(Parameter.nama).all()
r = [dict(id=k[0], value=k[1]) for k in rows]
return r
@view_config(route_name='parameter-add', renderer='templates/form.pt',
permission='user-edit')
def view_add(self):
return super().view_add()
@view_config(route_name='parameter-edit', renderer='templates/form.pt',
permission='user-edit')
def view_edit(self):
return super().view_edit()
@view_config(route_name='parameter-view', renderer='templates/form.pt',
permission='user-view')
def view_view(self):
return super().view_view()
@view_config(route_name='parameter-delete', renderer='templates/form.pt',
permission='user-edit')
def view_delete(self):
return super().view_delete()