Add editor for feedback questions
authorMagnus Hagander <magnus@hagander.net>
Thu, 5 Apr 2018 13:02:27 +0000 (15:02 +0200)
committerMagnus Hagander <magnus@hagander.net>
Thu, 5 Apr 2018 13:02:27 +0000 (15:02 +0200)
postgresqleu/confreg/backendforms.py
postgresqleu/confreg/backendviews.py
postgresqleu/urls.py
template/confreg/admin_dashboard_single.html

index 906ace1397aa0a49c2a1f8ce6d70843ae6ceb764..7d4e5909abff0a13f2eeb2622e8fcdac728670c9 100644 (file)
@@ -17,7 +17,7 @@ from postgresqleu.confreg.lookups import RegistrationLookup
 
 from postgresqleu.confreg.models import Conference, ConferenceRegistration, ConferenceAdditionalOption
 from postgresqleu.confreg.models import RegistrationClass, RegistrationType, RegistrationDay
-from postgresqleu.confreg.models import ConferenceAdditionalOption
+from postgresqleu.confreg.models import ConferenceAdditionalOption, ConferenceFeedbackQuestion
 from postgresqleu.confreg.models import ConferenceSession, Track, Room
 from postgresqleu.confreg.models import ConferenceSessionScheduleSlot, VolunteerSlot
 
@@ -248,3 +248,11 @@ class BackendVolunteerSlotForm(BackendForm):
                        self.add_error('max_staff', 'Max staff must be at least as high as min_staff!')
 
                return cleaned_data
+
+class BackendFeedbackQuestionForm(BackendForm):
+       list_fields = ['newfieldset', 'question', 'sortkey',]
+
+       class Meta:
+               model = ConferenceFeedbackQuestion
+               fields = ['question', 'isfreetext', 'textchoices', 'sortkey', 'newfieldset']
+
index b56a7fe31f40d5285eb559c4683f52a73ba13855..f6b28fe8f6c22b2df385ba5fca653335c5337e37 100644 (file)
@@ -20,6 +20,7 @@ from backendforms import BackendRegistrationTypeForm, BackendRegistrationClassFo
 from backendforms import BackendRegistrationDayForm, BackendAdditionalOptionForm
 from backendforms import BackendTrackForm, BackendRoomForm, BackendConferenceSessionForm
 from backendforms import BackendConferenceSessionSlotForm, BackendVolunteerSlotForm
+from backendforms import BackendFeedbackQuestionForm
 
 def get_authenticated_conference(request, urlname):
        if not request.user.is_authenticated:
@@ -233,3 +234,11 @@ def edit_volunteerslots(request, urlname, rest):
                                                           rest,
                                                           allow_new=True,
                                                           allow_delete=True)
+
+def edit_feedbackquestions(request, urlname, rest):
+       return backend_list_editor(request,
+                                                          urlname,
+                                                          BackendFeedbackQuestionForm,
+                                                          rest,
+                                                          allow_new=True,
+                                                          allow_delete=True)
index bc1c6865ddecbe95b4ba2580eb8744c274e779e2..aaff6c39b33eccbb3e4a3125249ef9d7d61c1bd3 100644 (file)
@@ -147,6 +147,7 @@ urlpatterns = [
        url(r'^events/admin/(\w+)/sessions/(.*/)?$', postgresqleu.confreg.backendviews.edit_sessions),
        url(r'^events/admin/(\w+)/scheduleslots/(.*/)?$', postgresqleu.confreg.backendviews.edit_scheduleslots),
        url(r'^events/admin/(\w+)/volunteerslots/(.*/)?$', postgresqleu.confreg.backendviews.edit_volunteerslots),
+       url(r'^events/admin/(\w+)/feedbackquestions/(.*/)?$', postgresqleu.confreg.backendviews.edit_feedbackquestions),
 
        url(r'^events/sponsor/', include('postgresqleu.confsponsor.urls')),
 
index 9db85e12ebebc595fc18ef6d8dc2b1f7e585724f..37d09aed84f858495e2dee48ea6fcbbac3c859d4 100644 (file)
@@ -63,6 +63,7 @@
 <h2>Metadata</h2>
 <div class="row">
   <div class="col-md-3 col-sm-6 col-xs-12 buttonrow"><a class="btn btn-default btn-block" href="/events/admin/{{c.urlname}}/edit/">Conference entry</a></div>
+  <div class="col-md-3 col-sm-6 col-xs-12 buttonrow"><a class="btn btn-default btn-block" href="/events/admin/{{c.urlname}}/feedbackquestions/">Feedback questions</a></div>
 </div>
 <div class="row">
   <div class="col-md-3 col-sm-6 col-xs-12 buttonrow"><a class="btn btn-default btn-block" href="/events/admin/{{c.urlname}}/tracks/">Tracks</a></div>