Advertisement
khangnguyen

Untitled

Aug 7th, 2012
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.82 KB | None | 0 0
  1. class BaseCrudQuestionnaire(ReadOnlyTimestampsCrud):
  2.     listColumns = ("id", "name", "type", "is_learning")
  3.     crudColumns = ("group", "name", "code", "type", "is_learning",
  4.                    "notes", "responses", "created_at", "updated_at")                                                                                                              
  5.     listAttrs = {
  6.         'id': {'width': 50, 'align': 'center'},
  7.         'name': {'width': 200},
  8.     }                                                                                                                                                      
  9.                                                                                                                                                            
  10.     extraFacets = ("questions","uploads")
  11.     typeOptions = {u'case': 'Case',
  12.                    u'followup': 'Followup',
  13.                    u'response': 'Response'}
  14.  
  15.  
  16.     def render_edit_type(self, request):
  17.         options = []
  18.         for key, value in self.typeOptions.items():
  19.             sel = ' selected="selected"' if self.obj.type == key else ''
  20.             options.append('<option value="%s"%s>%s</option>' % (key, sel, value))
  21.         return '<select name="warpform-Questionnaire-%s-type">%s</select>' % (
  22.             self.obj.id if self.obj.id else 'n1', "".join(options))
  23.  
  24.  
  25.     def render_list_name(self, request):
  26.         return link(
  27.             self.name(request),
  28.             getNode("questionnaires"),
  29.             "view", [self.obj.id])
  30.                                                                                                                                                            
  31.     def name(self, request):
  32.         return self.obj.name
  33.                                                                                                                                                            
  34.     def parentCrumb(self, request):
  35.         return getNode("questionnaires")
  36.  
  37. expose(Questionnaire, CrudQuestionnaire)
  38. renderer = render.CrudRenderer(Questionnaire)
  39.                                                                                                                                                            
  40. class ResponseCrudModel(BaseCrudQuestionnaire):
  41.     crudTitles = ("Group", "Name", "Code", "Type", "Learning",
  42.                   "Notes", "Questionnaires", "Created", "Updated")
  43.     def render_proxy_responses(self, request):
  44.         return colproxy.ReferenceSetProxy(self.obj, "responses", QuestionnaireCrudModel)
  45.  
  46. class QuestionnaireCrudModel(BaseCrudQuestionnaire):
  47.     crudTitles = ("Group", "Name", "Code", "Type", "Learning",
  48.                   "Notes", "Responses", "Created", "Updated")
  49.     def render_proxy_responses(self, request):
  50.         return colproxy.ReferenceSetProxy(self.obj, "responses", ResponseCrudModel)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement