Make it possible for superusers to edit tshirt sizes metadata
authorMagnus Hagander <magnus@hagander.net>
Thu, 11 Oct 2018 10:51:35 +0000 (12:51 +0200)
committerMagnus Hagander <magnus@hagander.net>
Thu, 11 Oct 2018 10:51:35 +0000 (12:51 +0200)
postgresqleu/confreg/backendforms.py
postgresqleu/confreg/backendviews.py
postgresqleu/urls.py
template/confreg/admin_dashboard.html

index 606c367dd57ec458414816eb33ea3934c54dbf7c..33779512ce078477b32ceff7b6fc55cc13293c4c 100644 (file)
@@ -23,6 +23,7 @@ from postgresqleu.confreg.models import ConferenceSessionScheduleSlot, Volunteer
 from postgresqleu.confreg.models import DiscountCode, AccessToken, AccessTokenPermissions
 from postgresqleu.confreg.models import ConferenceSeries
 from postgresqleu.confreg.models import ConferenceNews
+from postgresqleu.confreg.models import ShirtSize
 from postgresqleu.newsevents.models import NewsPosterProfile
 
 from postgresqleu.confreg.models import valid_status_transitions, get_status_string
@@ -224,6 +225,13 @@ class BackendConferenceSeriesForm(BackendForm):
                model = ConferenceSeries
                fields = ['name', 'sortkey', 'intro', ]
 
+class BackendTshirtSizeForm(BackendForm):
+       helplink = "meta"
+       list_fields = ['shirtsize', 'sortkey', ]
+       class Meta:
+               model = ShirtSize
+               fields = ['shirtsize', 'sortkey', ]
+
 class BackendRegistrationForm(BackendForm):
        helplink = "registrations"
        class Meta:
index c7908039da4092baff667c45836d8c4e5d3647f8..35b72f98def82fbc8a3f5bd2320c839f053ebf1e 100644 (file)
@@ -22,6 +22,7 @@ from postgresqleu.util.decorators import superuser_required
 
 from models import Conference, ConferenceSeries
 from models import AccessToken
+from models import ShirtSize
 
 from postgresqleu.invoices.models import Invoice
 from postgresqleu.confsponsor.util import get_sponsor_dashboard_data
@@ -35,6 +36,7 @@ from backendforms import BackendConferenceSessionSlotForm, BackendVolunteerSlotF
 from backendforms import BackendFeedbackQuestionForm, BackendDiscountCodeForm
 from backendforms import BackendAccessTokenForm
 from backendforms import BackendConferenceSeriesForm
+from backendforms import BackendTshirtSizeForm
 from backendforms import BackendNewsForm
 from backendforms import TwitterForm
 
@@ -426,6 +428,19 @@ def edit_series(request, rest):
                                                           instancemaker=lambda: ConferenceSeries(),
        )
 
+@superuser_required
+def edit_tshirts(request, rest):
+       return backend_list_editor(request,
+                                                          None,
+                                                          BackendTshirtSizeForm,
+                                                          rest,
+                                                          allow_new=True,
+                                                          allow_delete=True,
+                                                          bypass_conference_filter=True,
+                                                          return_url='../../',
+                                                          instancemaker=lambda: ShirtSize(),
+       )
+
 @superuser_required
 def new_conference(request):
        return backend_process_form(request,
index 2e0ea0a756ebbc779d8432f351781897411cdbfb..8df88a3023bbd356905b9c1c0d46fb67e04c1370 100644 (file)
@@ -119,6 +119,7 @@ urlpatterns = [
        url(r'^events/admin/([^/]+)/reports/schedule/$', postgresqleu.confreg.pdfschedule.pdfschedule),
        url(r'^events/admin/newconference/$', postgresqleu.confreg.backendviews.new_conference),
        url(r'^events/admin/meta/series/(.*/)?$', postgresqleu.confreg.backendviews.edit_series),
+       url(r'^events/admin/meta/tshirts/(.*/)?$', postgresqleu.confreg.backendviews.edit_tshirts),
        url(r'^events/admin/lookups/accounts/$', postgresqleu.confreg.backendlookups.GeneralAccountLookup.lookup),
        url(r'^events/admin/lookups/speakers/$', postgresqleu.confreg.backendlookups.SpeakerLookup.lookup),
        url(r'^events/admin/(\w+)/$', postgresqleu.confreg.views.admin_dashboard_single),
index 0142680c5e0f7dbb36ddd59746cf7aca64d106cc..a2cfde7c538e7eb101503ff91c234b6ac3483652 100644 (file)
@@ -54,6 +54,9 @@
   <div class="col-md-3 col-sm-6 col-xs-12 buttonrow">
     <a class="btn btn-default btn-block" href="/events/admin/meta/series/">Edit conference series</a>
   </div>
+  <div class="col-md-3 col-sm-6 col-xs-12 buttonrow">
+    <a class="btn btn-default btn-block" href="/events/admin/meta/tshirts/">Edit T-Shirt sizes</a>
+  </div>
 </div>
 {%endif%}