1
# -*- coding: utf-8 -*-
4
DVI Module - Controllers
7
module = request.controller
9
if module not in deployment_settings.modules:
10
session.error = T("Module disabled!")
11
redirect(URL(r=request, c="default", f="index"))
13
# Only people with the DVI role should be able to access this module
14
#if shn_has_role("DVI"):
17
# session.error = T("Not Authorised!")
18
# redirect(URL(r=request, c="default", f="user", args="login"))
20
# Options Menu (available in all Functions" Views)
22
response.menu_options = [
23
[T("Recovery Requests"), False, URL(r=request, f="recreq"),[
24
[T("List Requests"), False, URL(r=request, f="recreq")],
25
[T("New Request"), False, URL(r=request, f="recreq", args="create")],
27
[T("Recovery Reports"), False, URL(r=request, f="body"),[
28
[T("List Reports"), False, URL(r=request, f="body")],
29
[T("New Report"), False, URL(r=request, f="body", args="create")],
31
[T("Search by ID Tag"), False, URL(r=request, f="body", args="search_simple")]
34
if session.rcvars and "dvi_body" in session.rcvars:
36
query = (body.id == session.rcvars["dvi_body"])
37
record = db(query).select(body.id, body.pr_pe_label, limitby=(0,1)).first()
39
label = record.pr_pe_label
40
menu_selected.append(["%s: %s" % (T("Body"), label), False,
41
URL(r=request, f="body", args=[record.id])])
43
menu_selected = [T("Open recent"), True, None, menu_selected]
44
response.menu_options.append(menu_selected)
48
# S3 framework functions
51
""" Module's Home Page """
54
module_name = deployment_settings.modules[module].name_nice
56
module_name = T("Disaster Victim Identification")
58
return dict(module_name=module_name)
62
""" RESTful CRUD controller """
64
resource = request.function
66
response.s3.pagination = True
68
def recreq_postp(jr, output):
69
if jr.representation in ("html", "popup"):
71
linkto = shn_linkto(jr, sticky=True)("[id]")
72
response.s3.actions = [
73
dict(label=str(label), _class="action-btn", url=linkto)
76
response.s3.postp = recreq_postp
78
output = shn_rest_controller(module, resource, listadd=False)
85
""" RESTful CRUD controller """
87
resource = request.function
89
response.s3.pagination = True
91
def body_postp(jr, output):
92
if jr.representation in ("html", "popup"):
97
linkto = shn_linkto(jr, sticky=True)("[id]")
98
response.s3.actions = [
99
dict(label=str(label), _class="action-btn", url=linkto)
102
response.s3.postp = body_postp
104
output = shn_rest_controller(module, resource,
106
extra="opt_pr_gender",
108
shn_dvi_rheader(jr, tabs=[
110
(T("Checklist"), "checklist"),
111
(T("Tracing"), "presence"),
112
(T("Images"), "image"),
113
(T("Identity"), "identification"),
114
(T("Effects Inventory"), "effects"),
115
(T("Description"), "pd_general"),
116
(T("Head"), "pd_head"),
117
(T("Face"), "pd_face"),
118
(T("Teeth"), "pd_teeth"),
119
(T("Body"), "pd_body")
126
# -----------------------------------------------------------------------------
129
""" Download a file. """
131
return response.download(request, db)
133
# -----------------------------------------------------------------------------
136
""" Ajax tooltips """
138
if "formfield" in request.vars:
139
response.view = "pr/ajaxtips/%s.html" % request.vars.formfield
143
# -----------------------------------------------------------------------------