Coverage for website/events/admin/inlines.py: 100.00%
33 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from django.contrib import admin
3from events import models
4from pizzas.models import FoodEvent
5from promotion.models import PromotionRequest
7from .forms import RegistrationInformationFieldForm
10class RegistrationInformationFieldInline(admin.TabularInline):
11 """The inline for registration information fields in the Event admin."""
13 form = RegistrationInformationFieldForm
14 extra = 0
15 model = models.RegistrationInformationField
16 ordering = ("_order",)
18 radio_fields = {"type": admin.VERTICAL}
20 def get_formset(self, request, obj=None, **kwargs):
21 formset = super().get_formset(request, obj, **kwargs)
22 if obj is not None:
23 count = obj.registrationinformationfield_set.count()
24 formset.form.declared_fields["order"].initial = count
25 return formset
28class PizzaEventInline(admin.StackedInline):
29 """The inline for pizza events in the Event admin."""
31 model = FoodEvent
32 extra = 0
33 max_num = 1
36class PromotionRequestInline(admin.StackedInline):
37 model = PromotionRequest
38 readonly_fields = (
39 "assigned_to",
40 "status",
41 "drive_folder",
42 "status_updated",
43 )
45 def has_add_permission(self, request, obj=None):
46 return True
48 def has_view_permission(self, request, obj=None):
49 return True
51 def has_change_permission(self, request, obj=None):
52 return True
54 def has_delete_permission(self, request, obj=None):
55 return True
57 extra = 0