Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BaseCrudQuestionnaire(ReadOnlyTimestampsCrud):
- listColumns = ("id", "name", "type", "is_learning")
- crudColumns = ("group", "name", "code", "type", "is_learning",
- "notes", "responses", "created_at", "updated_at")
- listAttrs = {
- 'id': {'width': 50, 'align': 'center'},
- 'name': {'width': 200},
- }
- extraFacets = ("questions","uploads")
- typeOptions = {u'case': 'Case',
- u'followup': 'Followup',
- u'response': 'Response'}
- def render_edit_type(self, request):
- options = []
- for key, value in self.typeOptions.items():
- sel = ' selected="selected"' if self.obj.type == key else ''
- options.append('<option value="%s"%s>%s</option>' % (key, sel, value))
- return '<select name="warpform-Questionnaire-%s-type">%s</select>' % (
- self.obj.id if self.obj.id else 'n1', "".join(options))
- def render_list_name(self, request):
- return link(
- self.name(request),
- getNode("questionnaires"),
- "view", [self.obj.id])
- def name(self, request):
- return self.obj.name
- def parentCrumb(self, request):
- return getNode("questionnaires")
- expose(Questionnaire, CrudQuestionnaire)
- renderer = render.CrudRenderer(Questionnaire)
- class ResponseCrudModel(BaseCrudQuestionnaire):
- crudTitles = ("Group", "Name", "Code", "Type", "Learning",
- "Notes", "Questionnaires", "Created", "Updated")
- def render_proxy_responses(self, request):
- return colproxy.ReferenceSetProxy(self.obj, "responses", QuestionnaireCrudModel)
- class QuestionnaireCrudModel(BaseCrudQuestionnaire):
- crudTitles = ("Group", "Name", "Code", "Type", "Learning",
- "Notes", "Responses", "Created", "Updated")
- def render_proxy_responses(self, request):
- return colproxy.ReferenceSetProxy(self.obj, "responses", ResponseCrudModel)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement