Merge lp:~graeme-acm/sahana-eden/RMS into lp:sahana-eden
- RMS
- Merge into trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~graeme-acm/sahana-eden/RMS |
Merge into: | lp:sahana-eden |
Diff against target: |
478 lines (+226/-39) 6 files modified
controllers/survey.py (+50/-20) models/01_menu.py (+1/-1) models/survey.py (+166/-12) modules/s3/s3import.py (+4/-1) private/prepopulate/demo/ADAT/questionnaire24H.csv (+1/-1) private/prepopulate/demo/ADAT/questionnaire72H.csv (+4/-4) |
To merge this branch: | bzr merge lp:~graeme-acm/sahana-eden/RMS |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Fran Boon | Pending | ||
Review via email: mp+72342@code.launchpad.net |
This proposal has been superseded by a proposal from 2011-08-21.
Commit message
Description of the change
Crud strings added
Removed Crud buttons where not required
Improved work flow by using a fake component
- 1994. By Fran Boon
-
merge Trunk: ADAT progress
- 1995. By Fran Boon
-
merge Trunk: ADAT progress
- 1996. By Fran Boon
-
merge Trunk: Fix HRM site_orgs check
- 1997. By Fran Boon
-
Fix DateWidget in HRM - display 100 years in dropdown
- 1998. By Fran Boon
-
merge Trunk: ADAT progress
- 1999. By Fran Boon
-
pre-merge commit: Survey permissions
- 2000. By Fran Boon
-
merge Trunk: Survey debug
- 2001. By Fran Boon
-
merge Trunk: survey diagnostics to try and workout why the import is not working on the server
- 2002. By Fran Boon
-
merge Trunk: change test for MatPlotLib imported to a try except
- 2003. By Fran Boon
-
merge Trunk: ADAT
- 2004. By Fran Boon
-
merge Trunk: Survey progress inc XLS
- 2005. By Fran Boon
-
merge Trunk: Survey debug
- 2006. By Fran Boon
-
merge Trunk: Survey Map
- 2007. By Fran Boon
-
merge Trunk: Fix Map bounds being clobbered
- 2008. By Fran Boon
-
en-gb as default language (Movement std)
- 2009. By Fran Boon
-
Change source of TRMM layers to the new IFRC Prod box
- 2010. By Fran Boon
-
merge Trunk: more en-gb: catalogue
- 2011. By Fran Boon
-
merge Trunk: Asset fixes, S3Search enhancements
- 2012. By Fran Boon
-
merge Trunk: S3Search - Disable the dataTables search box to avoid duplicate/confusion
- 2013. By Fran Boon
-
merge Trunk: Asset fixes, ADAT progress
- 2014. By Fran Boon
-
Merge Trunk: Asset tweaks - Import shouldn't have response.s3.actions clobbered, add to Index page
- 2015. By Fran Boon
-
merge Trunk: mail.server_tls deployment_setting (needs to be False for default Debian)
- 2016. By Fran Boon
-
merge Trunk: Fix to Add Item Category (colorbox) link
- 2017. By Fran Boon
-
merge Trunk: Fixes for Asset log site/location toggle; add Oxfam Hong Kong to prepop
- 2018. By Fran Boon
-
merge Trunk: Fix import of Assets - Rooms & Dedup
- 2019. By Fran Boon
-
merge Trunk: Bug fixes in Colorboxes
- 2020. By Fran Boon
-
merge Trunk: mandatory last_name as conditional validator instead of DB constraint
- 2021. By Fran Boon
-
merge Trunk: Tweak Python version test & clarify warning message
- 2022. By Fran Boon
-
Map: HRM Popup now has an Edit button
- 2023. By Fran Boon
-
merge Trunk: Don't cache options() as otherwise Colorbox 'Add XXX' can't refresh the dropdown reliably
- 2024. By Fran Boon
-
Map: Cluster Popups should show all records, not just 1st 10
- 2025. By Fran Boon
-
merger Trunk: ADAT fixes/enhancements
- 2026. By Fran Boon
-
Remove duplicate menu entry
- 2027. By Fran Boon
-
Catalogue in en-gb
- 2028. By Fran Boon
-
Office controller filters-out warehouses
- 2029. By Fran Boon
-
Filter is only when inv enabled
- 2030. By Fran Boon
-
merge Trunk
- 2031. By Fran Boon
-
New theme - 1st cut
- 2032. By Fran Boon
-
Theme progress
- 2033. By Fran Boon
-
build
- 2034. By Fran Boon
-
Org: Add Region, Prepopulate countries, style tweaks
- 2035. By Fran Boon
-
merge Trunk: Org import templates
- 2036. By Fran Boon
-
All offices on the starting Map, Tweak Org RHeader & theme
- 2037. By Fran Boon
-
merge Trunk (SUrvey & code2 for GADM import)
- 2038. By Fran Boon
-
Some more CSS updates
- 2039. By Fran Boon
-
Style/content tweaks
- 2040. By Fran Boon
-
merge trunk: S3Cube works with Python 2.6
- 2041. By Fran Boon
-
Tweak default Map settings
- 2042. By Fran Boon
-
merge Trunk: S3Cube tweaks
- 2043. By Fran Boon
-
GIS: Improve error reporting when layer loading fails
- 2044. By Fran Boon
-
merge Trunk: HRM report on expiring contracts
- 2045. By Fran Boon
-
Style/Menu/Label updates
- 2046. By Fran Boon
-
Custom Ext Theme (& also Tabs & Action buttons harmonised with the rest of the IFRC theme)
- 2047. By Fran Boon
-
Map: New Markers
- 2048. By Fran Boon
-
Tweak map legend
- 2049. By Fran Boon
-
Don't hide Map popup links!
- 2050. By Fran Boon
-
GIS: Deprecate Yahoo layers, Hide Assessments from the Map Legend as we have no way of showing these easily on the main map right now
- 2051. By Fran Boon
-
merge Trunk: Project, Cube & Prepop
- 2052. By Fran Boon
-
Fixes to MapConfig handling
- 2053. By Fran Boon
-
prepop of Courses
- 2054. By Fran Boon
-
Tweaks to Permissions, Menus, HRM
- 2055. By Fran Boon
-
Assets as components of (HR) persons
- 2056. By Fran Boon
-
Fix s3_asset_prep's hiding of fields
- 2057. By Fran Boon
-
merge Trunk: S3CSV common templates, ReplaceOption for upload form, HR de-duplicator
- 2058. By Fran Boon
-
Training Report: 1st cut
- 2059. By Fran Boon
-
merge nursix: Organisation ID in warehouse upload form defaults to current user's org.
- 2060. By Fran Boon
-
Fix GeoRSS Layers, merge Graeme: inv_item stylesheet enhancements, speed up inv_item search (don't include site in simple)
- 2061. By Fran Boon
-
Menu Entry for inv_item, hide uploaded files in Importer
- 2062. By Fran Boon
-
RemoveOption for Stock items
- 2063. By Fran Boon
-
Not that simple to disable the dataTable of uploaded Imports :/
- 2064. By Fran Boon
-
Remove Default for warehouse Data (preventing Imports)
- 2065. By Fran Boon
-
merge nursix: S3Cube fix represent, HR Training report: aggregate by month
- 2066. By graeme-acm
-
ifrc base
- 2067. By graeme-acm
-
merge with ifrc
- 2068. By graeme-acm
-
merge with ifrc
- 2069. By graeme-acm
-
fix map pop up and some css styling
- 2070. By graeme-acm
-
map legend issue
- 2071. By graeme-acm
-
merge trunk
Unmerged revisions
- 2071. By graeme-acm
-
merge trunk
- 2070. By graeme-acm
-
map legend issue
- 2069. By graeme-acm
-
fix map pop up and some css styling
- 2068. By graeme-acm
-
merge with ifrc
- 2067. By graeme-acm
-
merge with ifrc
- 2066. By graeme-acm
-
ifrc base
- 2065. By Fran Boon
-
merge nursix: S3Cube fix represent, HR Training report: aggregate by month
- 2064. By Fran Boon
-
Remove Default for warehouse Data (preventing Imports)
- 2063. By Fran Boon
-
Not that simple to disable the dataTable of uploaded Imports :/
- 2062. By Fran Boon
-
RemoveOption for Stock items
Preview Diff
1 | === modified file 'controllers/survey.py' |
2 | --- controllers/survey.py 2011-08-20 09:29:54 +0000 |
3 | +++ controllers/survey.py 2011-08-21 15:15:26 +0000 |
4 | @@ -42,24 +42,8 @@ |
5 | tablename = "%s_%s" % (prefix, resourcename) |
6 | s3mgr.load(tablename) |
7 | table = db[tablename] |
8 | + |
9 | |
10 | - # CRUD Strings |
11 | - s3.crud_strings[tablename] = Storage( |
12 | - title_create = T("Add Survey Template"), |
13 | - title_display = T("Survey Template Details"), |
14 | - title_list = T("List Survey Templates"), |
15 | - title_update = T("Edit Survey Template"), |
16 | - subtitle_create = T("Add New Survey Template"), |
17 | - subtitle_list = T("Survey Templates"), |
18 | - label_list_button = T("List Survey Templates"), |
19 | - label_create_button = T("Add Survey Template"), |
20 | - label_delete_button = T("Delete Survey Template"), |
21 | - msg_record_created = T("Survey Template added"), |
22 | - msg_record_modified = T("Survey Template updated"), |
23 | - msg_record_deleted = T("Survey Template deleted"), |
24 | - msg_list_empty = T("No Survey Template currently registered")) |
25 | - |
26 | - |
27 | def prep(r): |
28 | s3_action_buttons(r) |
29 | query = (r.table.status == 1) # Status of Pending |
30 | @@ -158,7 +142,7 @@ |
31 | |
32 | def prep(r): |
33 | if r.interactive: |
34 | - if r.id and (r.method == "update" or r.method == "create"): |
35 | + if r.id and (r.method == "update"): |
36 | if "post_vars" in current.request and len(current.request.post_vars) > 0: |
37 | series_id = r.id |
38 | complete_id = r.component_id |
39 | @@ -175,8 +159,11 @@ |
40 | return True |
41 | |
42 | def postp(r, output): |
43 | - response.s3.survey_answerlist_dataTable_post(r) |
44 | - if r.id and (r.method == "update" or r.method == "create"): |
45 | + if r.component_name == None: |
46 | + response.s3.survey_serieslist_dataTable_post(r) |
47 | + elif r.component_name == "complete": |
48 | + response.s3.survey_answerlist_dataTable_post(r) |
49 | + if r.id and (r.method == "update"): |
50 | series_id = r.id |
51 | complete_id = r.component_id |
52 | form = response.s3.survey_build_series_questions(series_id, complete_id) |
53 | @@ -184,6 +171,8 @@ |
54 | return output |
55 | |
56 | # remove CRUD generate buttons in the tabs |
57 | + s3mgr.configure("survey_series", |
58 | + deletable = False,) |
59 | s3mgr.configure("survey_complete", |
60 | listadd=False, |
61 | deletable=False) |
62 | @@ -203,6 +192,7 @@ |
63 | |
64 | def prep(r): |
65 | s3mgr.configure(r.tablename, |
66 | + deletable = False, |
67 | orderby = r.tablename+".posn", |
68 | ) |
69 | return True |
70 | @@ -273,6 +263,40 @@ |
71 | output = s3_rest_controller(prefix, resourcename) |
72 | return output |
73 | |
74 | +def newAssessment(): |
75 | + # Load Model |
76 | + prefix = "survey" |
77 | + resourcename = "complete" |
78 | + tablename = "%s_%s" % (prefix, resourcename) |
79 | + s3mgr.load(tablename) |
80 | + table = db[tablename] |
81 | + |
82 | + def prep(r): |
83 | + if r.interactive: |
84 | + if "post_vars" in current.request and len(current.request.post_vars) > 0: |
85 | + dummy, series_id = current.request.vars.viewing.split(".") |
86 | + id = response.s3.survey_save_answers_for_series(series_id, |
87 | + None, # Insert |
88 | + current.request.post_vars) |
89 | + response.flash = response.s3.crud_strings["survey_complete"].msg_record_created |
90 | + return True |
91 | + |
92 | + def postp(r, output): |
93 | + response.s3.survey_answerlist_dataTable_post(r) |
94 | + tablename, series_id = current.request.vars.viewing.split(".") |
95 | + form = response.s3.survey_build_series_questions(series_id, None) |
96 | + output["form"] = form |
97 | + return output |
98 | + |
99 | + response.s3.prep = prep |
100 | + response.s3.postp = postp |
101 | + output = s3_rest_controller(prefix, |
102 | + resourcename, |
103 | + method = "create", |
104 | + rheader=response.s3.survey_series_rheader |
105 | + ) |
106 | + return output |
107 | + |
108 | def complete(): |
109 | """ RESTful CRUD controller """ |
110 | # Load Model |
111 | @@ -304,6 +328,9 @@ |
112 | response.s3.survey_answerlist_dataTable_post(r) |
113 | return output |
114 | |
115 | + s3mgr.configure("survey_complete", |
116 | + listadd=False, |
117 | + deletable=False) |
118 | response.s3.prep = prep |
119 | response.s3.postp = postp |
120 | output = s3_rest_controller(prefix, resourcename) |
121 | @@ -329,5 +356,8 @@ |
122 | template_id = request.args[0] |
123 | except: |
124 | pass |
125 | + s3mgr.configure("survey_complete", |
126 | + listadd=False, |
127 | + deletable=False) |
128 | output = s3_rest_controller(prefix, "complete") |
129 | return output |
130 | |
131 | === modified file 'models/01_menu.py' |
132 | --- models/01_menu.py 2011-08-20 22:11:46 +0000 |
133 | +++ models/01_menu.py 2011-08-21 15:15:26 +0000 |
134 | @@ -865,7 +865,7 @@ |
135 | ]], |
136 | [T("Response"), False, aURL(f="complete"), [ |
137 | # [T("New"), False, aURL(p="create", f="complete", args="create")], |
138 | - [T("List All"), False, aURL(f="complete")], |
139 | +# [T("List All"), False, aURL(f="complete")], |
140 | [T("Import Completed Responses"), False, aURL(f="complete", args="import.xml")] |
141 | ]], |
142 | ] |
143 | |
144 | === modified file 'models/survey.py' |
145 | --- models/survey.py 2011-08-20 13:25:04 +0000 |
146 | +++ models/survey.py 2011-08-21 15:15:26 +0000 |
147 | @@ -66,7 +66,24 @@ |
148 | readable=True, |
149 | writable=False), |
150 | *s3_meta_fields()) |
151 | - |
152 | + |
153 | + # CRUD Strings |
154 | + s3.crud_strings[tablename] = Storage( |
155 | + title_create = T("Add Survey Template"), |
156 | + title_display = T("Survey Template Details"), |
157 | + title_list = T("List of Survey Templates"), |
158 | + title_update = T("Edit Survey Template"), |
159 | + subtitle_create = T("Add a new Survey Template"), |
160 | + subtitle_list = T("Survey Templates"), |
161 | + label_list_button = T("List all Survey Templates"), |
162 | + label_create_button = T("Add a new Survey Template"), |
163 | + label_delete_button = T("Delete this Survey Template"), |
164 | + msg_record_created = T("Survey Template added"), |
165 | + msg_record_modified = T("Survey Template updated"), |
166 | + msg_record_deleted = T("Survey Template deleted"), |
167 | + msg_list_empty = T("No Survey Template currently registered")) |
168 | + |
169 | + |
170 | def survey_template_rheader(r, tabs=[]): |
171 | if r.representation == "html": |
172 | |
173 | @@ -80,8 +97,12 @@ |
174 | rheader_tabs = s3_rheader_tabs(r, tabs) |
175 | |
176 | sectionTable = db["survey_section"] |
177 | - query = (sectionTable.template_id == record.id) |
178 | - rows = db(query).select(orderby = sectionTable.posn) |
179 | + qlistTable = db["survey_question_list"] |
180 | + query = (qlistTable.template_id == r.id) & \ |
181 | + (qlistTable.section_id == sectionTable.id) |
182 | + rows = db(query).select(sectionTable.id, |
183 | + sectionTable.name, |
184 | + orderby = qlistTable.posn) |
185 | tsection = TABLE(_class="survey-section-list") |
186 | lblSection = SPAN(T("Sections that are part of this template"), |
187 | _style="font-weight:bold;") |
188 | @@ -90,11 +111,15 @@ |
189 | else: |
190 | rsection = TR() |
191 | count = 0 |
192 | + lastSection = "" |
193 | for section in rows: |
194 | + if section.name == lastSection: |
195 | + continue |
196 | rsection.append(TD(A(section.name, |
197 | _href=URL(c="survey", |
198 | f="section", |
199 | args="%s" % section.id)))) |
200 | + lastSection = section.name |
201 | count += 1 |
202 | if count % 4 == 0: |
203 | tsection.append(rsection) |
204 | @@ -161,7 +186,24 @@ |
205 | ), |
206 | template_id(), |
207 | *s3_meta_fields()) |
208 | - |
209 | + |
210 | + # CRUD Strings |
211 | + s3.crud_strings[tablename] = Storage( |
212 | + title_create = T("Add Template Section"), |
213 | + title_display = T("Template Section Details"), |
214 | + title_list = T("List of Template Sections"), |
215 | + title_update = T("Edit Template Section"), |
216 | + subtitle_create = T("Add a new Template Section"), |
217 | + subtitle_list = T("Template Sections"), |
218 | + label_list_button = T("List all Template Sections"), |
219 | + label_create_button = T("Add a new Template Section"), |
220 | + label_delete_button = T("Delete this Template Section"), |
221 | + msg_record_created = T("Template Section added"), |
222 | + msg_record_modified = T("Template Section updated"), |
223 | + msg_record_deleted = T("Template Section deleted"), |
224 | + msg_list_empty = T("No Template Section currently registered")) |
225 | + |
226 | + |
227 | s3mgr.configure(tablename, orderby = tablename+".posn") |
228 | |
229 | # Section as component of Template |
230 | @@ -270,6 +312,23 @@ |
231 | *s3_meta_fields() |
232 | ) |
233 | |
234 | + # CRUD Strings |
235 | + s3.crud_strings[tablename] = Storage( |
236 | + title_create = T("Add an Assessment Question"), |
237 | + title_display = T("Assessment Question Details"), |
238 | + title_list = T("List of Assessment Questions"), |
239 | + title_update = T("Edit Assessment Question"), |
240 | + subtitle_create = T("Add a new Assessment Question"), |
241 | + subtitle_list = T("Survey Templates"), |
242 | + label_list_button = T("List all Assessment Questions"), |
243 | + label_create_button = T("Add a new Assessment Question"), |
244 | + label_delete_button = T("Delete this Assessment Question"), |
245 | + msg_record_created = T("Assessment Question added"), |
246 | + msg_record_modified = T("Assessment Question updated"), |
247 | + msg_record_deleted = T("Assessment Question deleted"), |
248 | + msg_list_empty = T("No Assessment Question currently registered")) |
249 | + |
250 | + |
251 | |
252 | # Question Metadata |
253 | """ This table is referenced by the questions table and is used to manage |
254 | @@ -304,9 +363,25 @@ |
255 | *s3_meta_fields() |
256 | ) |
257 | |
258 | - |
259 | - |
260 | - |
261 | + # CRUD Strings |
262 | + s3.crud_strings[tablename] = Storage( |
263 | + title_create = T("Add Question Meta-Data"), |
264 | + title_display = T("Question Meta-Data Details"), |
265 | + title_list = T("List of Question Meta-Data"), |
266 | + title_update = T("Edit Question Meta-Data"), |
267 | + subtitle_create = T("Add new Question Meta-Data"), |
268 | + subtitle_list = T("Question Meta-Data"), |
269 | + label_list_button = T("List all Question Meta-Data"), |
270 | + label_create_button = T("Add new Question Meta-Data"), |
271 | + label_delete_button = T("Delete this Question Meta-Data"), |
272 | + msg_record_created = T("Question Meta-Data added"), |
273 | + msg_record_modified = T("Question Meta-Data updated"), |
274 | + msg_record_deleted = T("Question Meta-Data deleted"), |
275 | + msg_list_empty = T("No Question Meta-Data currently registered"), |
276 | + uploadTitle = T("Upload a Question List import file") |
277 | + ) |
278 | + |
279 | + |
280 | # Question Types |
281 | def survey_stringType(): |
282 | return S3QuestionTypeStringWidget() |
283 | @@ -366,6 +441,11 @@ |
284 | *s3_meta_fields() |
285 | ) |
286 | |
287 | + # CRUD Strings |
288 | + s3.crud_strings[tablename] = Storage( |
289 | + uploadTitle = T("Upload a Survey Template import file") |
290 | + ) |
291 | + |
292 | def getAllQuestionsForTemplate(template_id): |
293 | """ |
294 | function to return the list of questions for the given template |
295 | @@ -528,7 +608,24 @@ |
296 | Field("start_date", "date", default=None), |
297 | Field("end_date", "date", default=None), |
298 | *s3_meta_fields()) |
299 | - |
300 | + |
301 | + # CRUD Strings |
302 | + s3.crud_strings[tablename] = Storage( |
303 | + title_create = T("Add Survey Series"), |
304 | + title_display = T(" Survey Series Details"), |
305 | + title_list = T("List of Survey Series"), |
306 | + title_update = T("Edit Survey Series"), |
307 | + subtitle_create = T("Add a new Survey Series"), |
308 | + subtitle_list = T("Survey Series"), |
309 | + label_list_button = T("List all Survey Series"), |
310 | + label_create_button = T("Add a new Survey Series"), |
311 | + label_delete_button = T("Delete this Survey Series"), |
312 | + msg_record_created = T("Survey Series added"), |
313 | + msg_record_modified = T("Survey Series updated"), |
314 | + msg_record_deleted = T("Survey Series deleted"), |
315 | + msg_list_empty = T("No Survey Series currently registered")) |
316 | + |
317 | + |
318 | def survey_series_rheader(r, tabs=[]): |
319 | if r.representation == "html": |
320 | |
321 | @@ -536,9 +633,9 @@ |
322 | if tablename == "survey_series" and record: |
323 | |
324 | # Tabs |
325 | - tabs = [#(T("New Response"), "complete"), |
326 | + tabs = [(T("New Assessment"), "newAssessment/"), |
327 | + (T("Completed Assessments"), "complete"), |
328 | (T("Series Details"), None), |
329 | - (T("Completed Questionnaires"), "complete"), |
330 | ] |
331 | rheader_tabs = s3_rheader_tabs(r, tabs) |
332 | |
333 | @@ -602,10 +699,32 @@ |
334 | list_fields = ["created_on", "series_id", "answer_list"] |
335 | s3mgr.configure("survey_complete", list_fields=list_fields) |
336 | |
337 | + def survey_serieslist_dataTable_post(r): |
338 | + s3_action_buttons(r) |
339 | + response.s3.actions = [ |
340 | + dict(label=str(T("Open")), |
341 | + _class="action-btn", |
342 | + url=URL(c=module, |
343 | + f="newAssessment", |
344 | + vars={"viewing":"survey_series.[id]"}) |
345 | + ), |
346 | + dict(label=str(T("Analysis")), |
347 | + _class="action-btn", |
348 | + url=URL(c=module, |
349 | + f="analysis", |
350 | + args=["[id]"]) |
351 | + ), |
352 | + ] |
353 | + |
354 | def survey_answerlist_dataTable_post(r): |
355 | s3_action_buttons(r) |
356 | - response.s3.actions = \ |
357 | - response.s3.actions + [ |
358 | + response.s3.actions = [ |
359 | + dict(label=str(T("Open")), |
360 | + _class="action-btn", |
361 | + url=URL(c=module, |
362 | + f="series", |
363 | + args=[r.id,"complete","[id]","update"]) |
364 | + ), |
365 | dict(label=str(T("Analysis")), |
366 | _class="action-btn", |
367 | url=URL(c=module, |
368 | @@ -630,6 +749,24 @@ |
369 | ), |
370 | *s3_meta_fields()) |
371 | |
372 | + # CRUD Strings |
373 | + s3.crud_strings[tablename] = Storage( |
374 | + title_create = T("Complete a new Assessment"), |
375 | + title_display = T("Completed Assessment Details"), |
376 | + title_list = T("List of Completed Assessments"), |
377 | + title_update = T("Edit Completed Assessment"), |
378 | + subtitle_create = T("Add a new Completed Assessment"), |
379 | + subtitle_list = T("Completed Assessment"), |
380 | + label_list_button = T("List all Completed Assessment"), |
381 | + label_create_button = T("Add a new Completed Assessment"), |
382 | + label_delete_button = T("Delete this Completed Assessment"), |
383 | + msg_record_created = T("Completed Assessment added"), |
384 | + msg_record_modified = T("Completed Assessment updated"), |
385 | + msg_record_deleted = T("Completed Assessment deleted"), |
386 | + msg_list_empty = T("No Completed Assessments currently registered"), |
387 | + uploadTitle = T("Upload the Completed Assessments import file") |
388 | + ) |
389 | + |
390 | def survey_complete_onaccept(form): |
391 | """ |
392 | All of the answers will be stored in the answer_list in the format |
393 | @@ -701,6 +838,22 @@ |
394 | *s3_meta_fields()) |
395 | |
396 | |
397 | + # CRUD Strings |
398 | + s3.crud_strings[tablename] = Storage( |
399 | + title_create = T("Add Assessment Answer"), |
400 | + title_display = T("Assessment Answer Details"), |
401 | + title_list = T("List of Assessment Answers"), |
402 | + title_update = T("Edit Assessment Answer"), |
403 | + subtitle_create = T("Add a new Assessment Answer"), |
404 | + subtitle_list = T("Assessment Answer"), |
405 | + label_list_button = T("List all Assessment Answer"), |
406 | + label_create_button = T("Add a new Assessment Answer"), |
407 | + label_delete_button = T("Delete this Assessment Answer"), |
408 | + msg_record_created = T("Assessment Answer added"), |
409 | + msg_record_modified = T("Assessment Answer updated"), |
410 | + msg_record_deleted = T("Assessment Answer deleted"), |
411 | + msg_list_empty = T("No Assessment Answers currently registered")) |
412 | + |
413 | |
414 | |
415 | |
416 | @@ -816,6 +969,7 @@ |
417 | survey_answer_list_represent = survey_answer_list_represent, |
418 | survey_answerlist_dataTable_pre = survey_answerlist_dataTable_pre, |
419 | survey_answerlist_dataTable_post = survey_answerlist_dataTable_post, |
420 | + survey_serieslist_dataTable_post = survey_serieslist_dataTable_post, |
421 | survey_save_answers_for_series = survey_save_answers_for_series, |
422 | survey_build_series_questions = survey_build_series_questions, |
423 | survey_build_template_questions = survey_build_template_questions, |
424 | |
425 | === modified file 'modules/s3/s3import.py' |
426 | --- modules/s3/s3import.py 2011-08-20 13:47:18 +0000 |
427 | +++ modules/s3/s3import.py 2011-08-21 15:15:26 +0000 |
428 | @@ -197,7 +197,10 @@ |
429 | self.ErrorUploadFileMissing = T("The file to upload is missing") |
430 | self.WarningNoRecords = T("No records to import") |
431 | self.WarningNoJobToDelete = T("No job to delete, maybe it has already been deleted.") |
432 | - self.uploadTitle = T("Upload a %s import file" % r.function) |
433 | + if "uploadTitle" in current.response.s3.crud_strings[self.tablename]: |
434 | + self.uploadTitle = current.response.s3.crud_strings[self.tablename].uploadTitle |
435 | + else: |
436 | + self.uploadTitle = T("Upload a %s import file" % r.function) |
437 | self.displayJobTitle = T("Details of the selected import job") |
438 | self.displayJobListTitle = T("List of import items") |
439 | self.fileUploaded = T("Import file uploaded") |
440 | |
441 | === modified file 'private/prepopulate/demo/ADAT/questionnaire24H.csv' |
442 | --- private/prepopulate/demo/ADAT/questionnaire24H.csv 2011-08-20 09:29:54 +0000 |
443 | +++ private/prepopulate/demo/ADAT/questionnaire24H.csv 2011-08-21 15:15:26 +0000 |
444 | @@ -45,7 +45,7 @@ |
445 | "24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Response",7,"Is the community responding to the disaster?","YesNoDontKnow",,44,"24H-Re-2",,,,,, |
446 | "24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Response",7,"Are NGOs responding in the disaster area?","YesNoDontKnow",,45,"24H-Re-3",,,,,, |
447 | "24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Response",7,"Which NGOs responding in the disaster area?","Text",,46,"24H-Re-4",,,,,, |
448 | -"24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Response",7,"Expected needs","Option",,47,"24H-Re-5","Length",3,1,"Rural",2,"Peri–Urban" |
449 | +"24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Response",7,"Expected needs","Option",,47,"24H-Re-5","Length",3,1,"Rural",2,"Peri-Urban" |
450 | "24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Response",7,"Expected needs","Option",,47,"24H-Re-5",3,"Urban ",,,, |
451 | "24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Risks",5,"Concerns for Toxic spills","YesNo",,48,"24H-Ri-1",,,,,, |
452 | "24Hour","Rapid onset disaster. First 24 hours, rapid field assessment form (B)","Risks",5,"Concerns for Oil spills","YesNo",,49,"24H-Ri-2",,,,,, |
453 | |
454 | === modified file 'private/prepopulate/demo/ADAT/questionnaire72H.csv' |
455 | --- private/prepopulate/demo/ADAT/questionnaire72H.csv 2011-08-19 04:23:49 +0000 |
456 | +++ private/prepopulate/demo/ADAT/questionnaire72H.csv 2011-08-21 15:15:26 +0000 |
457 | @@ -39,11 +39,11 @@ |
458 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Explain","String",,38,"72B12.3.1",,,,,, |
459 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Is this food accessible to all the affected people, or do only a few have access?","String",,39,"72B12.4",,,,,, |
460 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Do people have access to cooking facilities? ","YesNo",,40,"72B12.5",,,,,, |
461 | -"72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Utensils:","Option",,41,"72B12.5.1","Length",3,1,"“None”",2,"Few" |
462 | +"72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Utensils:","Option",,41,"72B12.5.1","Length",3,1,"'None'",2,"Few" |
463 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Utensils:","Option",,41,"72B12.5.1",3,"Many",,,, |
464 | -"72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Fuel","Option",,42,"72B12.5.2","Length",3,1,"“None”",2,"Few" |
465 | +"72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Fuel","Option",,42,"72B12.5.2","Length",3,1,"'None'",2,"Few" |
466 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Fuel","Option",,42,"72B12.5.2",3,"Many",,,, |
467 | -"72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Pots","Option",,43,"72B12.5.3","Length",3,1,"“None”",2,"Few" |
468 | +"72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Pots","Option",,43,"72B12.5.3","Length",3,1,"None",2,"Few" |
469 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Pots","Option",,43,"72B12.5.3",3,"Many",,,, |
470 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Other","String",,44,"72B12.5.4",,,,,, |
471 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Nutrition",6,"Do people have access to a safe place to prepare food and eat it?","YesNo",,45,"72B12.6",,,,,, |
472 | @@ -155,5 +155,5 @@ |
473 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Response",12,"Is the community responding to the disaster? ","YesNoDontKnow",,143,"72B19.2",,,,,, |
474 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Response",12,"Are NGOs responding in the disaster area? ","YesNoDontKnow",,144,"72B19.3",,,,,, |
475 | "72Hour","Rapid onset disaster. First 72 hours, rapid field assessment form (B)","Response",12,"Which ones","String",,145,"72B19.3.1",,,,,, |
476 | -"24Hour",,"Response",7,"Expected needs","Option",,146,"72H-Re-5","Length",3,1,"Rural",2,"Peri–Urban" |
477 | +"24Hour",,"Response",7,"Expected needs","Option",,146,"72H-Re-5","Length",3,1,"Rural",2,"Peri-Urban" |
478 | "24Hour",,"Response",7,"Expected needs","Option",,146,"72H-Re-5",3,"Urban ",,,, |