__init__.py
5.04 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
import logging
from opensipkd.base import get_params
from opensipkd.base import titles, _add_view_config
from pyramid.events import subscriber, BeforeRender
_logging = logging.getLogger(__name__)
# kode,path,module,class_view,def_func,order_id,permission,parent_id/routes.kode,nama,status,type,app_id,is_menu,template
routes = [
#kode, path, module, class_view, def_func, order_id, permission,parent_id/routes.kode,nama,status,type,app_id,is_menu,template
{"kode": "coba", "path": "/coba",
"def_func": "home", "nama": "Home",
"module": "coba", "class_view": "__init__",
"type": 0,"is_menu": 1, "template":"home.pt", "route_names":[], "children":False, "permission":None, "icon":""},
{"kode": "coba-form", "path": "/coba/form",
"def_func": "list", "nama": "Formulir",
"module": "coba", "class_view": "view_form",
"type": 0, "is_menu": 1, "template": "form.pt", "route_names": [], "children": False, "permission": "view", "icon":""},
{"kode": "coba-form-add", "path": "/coba/form/add",
"def_func": "add", "nama": "Tambah",
"module": "coba", "class_view": "view_form",
"type": 0, "is_menu": 0, "template": "form.pt", "route_names": [], "children":False, "permission":"view", "icon":""},
{"kode": "coba-form-edit", "path": "/coba/form/{id}/edit",
"def_func": "edit", "nama": "Edit",
"module": "coba", "class_view": "view_form",
"type": 0, "is_menu": 0, "template": "form.pt", "route_names": [], "children": False, "permission": "view", "icon":""},
{"kode": "coba-form-view", "path": "/coba/form/{id}/view",
"def_func": "view", "nama": "Lihat",
"module": "coba", "class_view": "view_form",
"type": 0, "is_menu": 0, "template": "form.pt", "children":False, "permission":"view", "icon":""},
{"kode": "coba-form-delete", "path": "/coba/form/{id}/delete",
"def_func": "view", "nama": "Hapus",
"module": "coba", "class_view": "view_form",
"type": 0, "is_menu": 0, "template": "form.pt", "route_names": [], "children": False, "permission": "view", "icon":""},
{"kode": "coba-form-act", "path": "/coba/form/{act}/act",
"def_func": "act", "nama": "Action",
"module": "coba", "class_view": "view_form", "type": 0, "is_menu": 0, "template": "json",
"route_names": [], "children": False, "permission": "", "icon":""},
{"kode": "coba-upload", "path": "/coba/upload",
"def_func": "list", "nama": "Upload",
"module": "coba", "class_view": "view_upload", "type": 0,
"is_menu": 1, "template": "form.pt",
"route_names": [], "children": False, "permission": "view", "icon":""},
{"kode": "coba-upload-add", "path": "/coba/upload/add",
"def_func": "add", "nama": "Tambah",
"module": "coba", "class_view": "view_upload", "type": 0, "is_menu": 0, "template": "form.pt",
"route_names": [], "children": False, "permission": "", "icon":""},
{"kode": "coba-upload-edit", "path": "/coba/upload/{id}/edit",
"def_func": "edit", "nama": "Edit",
"module": "coba", "class_view": "view_upload", "type": 0, "is_menu": 0, "template": "form.pt",
"route_names":[], "children":False, "permission":"", "icon":""},
{"kode": "coba-upload-view", "path": "/coba/upload/{id}/view",
"def_func": "view", "nama": "Lihat",
"module": "coba", "class_view": "view_upload", "type": 0, "is_menu": 0, "template": "form.pt",
"route_names": [], "children":False, "permission":"", "icon":""},
{"kode": "coba-upload-delete", "path": "/coba/upload/{id}/delete",
"def_func": "view", "nama": "Hapus",
"module": "coba", "class_view": "view_upload", "type": 0, "is_menu": 0, "template": "form.pt",
"route_names": [], "children": False, "permission":"", "icon":""},
{"kode": "coba-upload-act", "path": "/coba/upload/{act}/act",
"def_func": "act", "nama": "Action",
"module": "coba", "class_view": "view_upload", "type": 0, "is_menu": 0, "template": "json",
"route_names": [], "children": False, "permission": "", "icon": ""},
]
class CobaModules():
def __init__(self):
self.menus = []
self.uploads = None
def set_routes(self, config):
self.uploads = get_params('coba_upload', '/tmp/coba/upload/')
config.add_static_view(
'/coba/uploads', self.uploads, cache_max_age=0)
for route in routes:
if route.get("is_menu", None):
self.menus.append(route)
_add_view_config(config, "opensipkd.coba.views", route)
_logging.debug("Menu Coba")
_logging.debug(self.menus)
# config.add_route(route["kode"], route["path"])
config.scan('.')
# titles[route["kode"]] = route["path"]
def get_menus(self):
return self.menus
MODULE_CLASS = CobaModules()
def includeme(config):
# for route in routes:
# config.add_route(route[0], route[1])
# titles[route[0]] = route[2]
MODULE_CLASS.set_routes(config)
config.scan('.')
@subscriber(BeforeRender)
def add_global(event):
event['get_coba_menus'] = MODULE_CLASS.get_menus