equal
deleted
inserted
replaced
38 from django.utils.html import escape |
38 from django.utils.html import escape |
39 from django.utils.safestring import mark_safe |
39 from django.utils.safestring import mark_safe |
40 |
40 |
41 from soc.logic import dicts |
41 from soc.logic import dicts |
42 from soc.logic.lists import Lists |
42 from soc.logic.lists import Lists |
43 from soc.logic.models.survey import logic as survey_logic |
|
44 from soc.logic.models.survey_record import logic as results_logic |
|
45 from soc.models.survey import SurveyContent |
43 from soc.models.survey import SurveyContent |
46 |
44 |
47 |
45 |
48 class SurveyForm(djangoforms.ModelForm): |
46 class SurveyForm(djangoforms.ModelForm): |
49 """Main SurveyContent form. |
47 """Main SurveyContent form. |
67 |
65 |
68 self.kwargs = kwargs |
66 self.kwargs = kwargs |
69 self.survey_content = self.kwargs.pop('survey_content', None) |
67 self.survey_content = self.kwargs.pop('survey_content', None) |
70 self.this_user = self.kwargs.pop('this_user', None) |
68 self.this_user = self.kwargs.pop('this_user', None) |
71 self.project = self.kwargs.pop('project', None) |
69 self.project = self.kwargs.pop('project', None) |
|
70 self.survey_logic = self.kwargs.pop('survey_logic', None) |
72 self.survey_record = self.kwargs.pop('survey_record', None) |
71 self.survey_record = self.kwargs.pop('survey_record', None) |
73 |
72 |
74 self.read_only = self.kwargs.pop('read_only', None) |
73 self.read_only = self.kwargs.pop('read_only', None) |
75 self.editing = self.kwargs.pop('editing', None) |
74 self.editing = self.kwargs.pop('editing', None) |
76 |
75 |
102 if not self.editing: |
101 if not self.editing: |
103 # only survey taking can be read-only |
102 # only survey taking can be read-only |
104 read_only = self.read_only |
103 read_only = self.read_only |
105 |
104 |
106 if not read_only: |
105 if not read_only: |
107 deadline = self.survey_content.survey_parent.get().survey_end |
106 survey_content = self.survey_content |
|
107 survey_entity = self.survey_logic.getSurveyForContent(survey_content) |
|
108 deadline = survey_entity.survey_end |
108 read_only = deadline and (datetime.datetime.now() > deadline) |
109 read_only = deadline and (datetime.datetime.now() > deadline) |
109 else: |
110 else: |
110 extra_attrs['disabled'] = 'disabled' |
111 extra_attrs['disabled'] = 'disabled' |
111 |
112 |
112 # add unordered fields to self.survey_fields |
113 # add unordered fields to self.survey_fields |
546 order: order for list results |
547 order: order for list results |
547 idx: index for list results |
548 idx: index for list results |
548 context: context dict for template |
549 context: context dict for template |
549 """ |
550 """ |
550 |
551 |
551 logic = results_logic |
552 survey_logic = params['logic'] |
|
553 record_logic = survey_logic.getRecordLogic() |
552 filter = {'survey': survey} |
554 filter = {'survey': survey} |
553 data = logic.getForFields(filter=filter, limit=limit, offset=offset, |
555 data = record_logic.getForFields(filter=filter, limit=limit, offset=offset, |
554 order=order) |
556 order=order) |
555 |
557 |
556 params['name'] = "Survey Results" |
558 params['name'] = "Survey Results" |
557 content = { |
559 content = { |
558 'idx': idx, |
560 'idx': idx, |