forked from CGM_Public/pretix_original
Item update: restrict choices
This commit is contained in:
@@ -5,7 +5,7 @@ from django import forms
|
|||||||
|
|
||||||
from tixlbase.models import (
|
from tixlbase.models import (
|
||||||
User, Organizer, OrganizerPermission, Event, EventPermission,
|
User, Organizer, OrganizerPermission, Event, EventPermission,
|
||||||
Property, PropertyValue, Item, ItemVariation
|
Property, PropertyValue, Item, ItemVariation, ItemCategory
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -105,6 +105,13 @@ class PropertyAdmin(admin.ModelAdmin):
|
|||||||
search_fields = ('name', 'event')
|
search_fields = ('name', 'event')
|
||||||
|
|
||||||
|
|
||||||
|
class ItemCategoryAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
|
model = ItemCategory
|
||||||
|
list_display = ('name', 'event')
|
||||||
|
search_fields = ('name', 'event')
|
||||||
|
|
||||||
|
|
||||||
class ItemVariationInline(admin.TabularInline):
|
class ItemVariationInline(admin.TabularInline):
|
||||||
|
|
||||||
model = ItemVariation
|
model = ItemVariation
|
||||||
@@ -124,3 +131,4 @@ admin.site.register(Organizer, OrganizerAdmin)
|
|||||||
admin.site.register(Event, EventAdmin)
|
admin.site.register(Event, EventAdmin)
|
||||||
admin.site.register(Property, PropertyAdmin)
|
admin.site.register(Property, PropertyAdmin)
|
||||||
admin.site.register(Item, ItemAdmin)
|
admin.site.register(Item, ItemAdmin)
|
||||||
|
admin.site.register(ItemCategory, ItemCategoryAdmin)
|
||||||
|
|||||||
@@ -332,8 +332,11 @@ class ItemCategory(models.Model):
|
|||||||
"""
|
"""
|
||||||
Items can be sorted into categories
|
Items can be sorted into categories
|
||||||
"""
|
"""
|
||||||
event = models.ForeignKey(Event,
|
event = models.ForeignKey(
|
||||||
on_delete=models.CASCADE)
|
Event,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='categories',
|
||||||
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
verbose_name=_("Category name"),
|
verbose_name=_("Category name"),
|
||||||
@@ -358,7 +361,10 @@ class Property(models.Model):
|
|||||||
with the item 'T-Shirt'.
|
with the item 'T-Shirt'.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
event = models.ForeignKey(Event)
|
event = models.ForeignKey(
|
||||||
|
Event,
|
||||||
|
related_name="properties",
|
||||||
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
max_length=250,
|
max_length=250,
|
||||||
verbose_name=_("Property name"),
|
verbose_name=_("Property name"),
|
||||||
|
|||||||
@@ -42,6 +42,11 @@ class PropertyList(ListView):
|
|||||||
|
|
||||||
class ItemUpdateFormGeneral(forms.ModelForm):
|
class ItemUpdateFormGeneral(forms.ModelForm):
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
self.fields['category'].queryset = self.instance.event.categories.all()
|
||||||
|
self.fields['properties'].queryset = self.instance.event.properties.all()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Item
|
model = Item
|
||||||
localized_fields = '__all__'
|
localized_fields = '__all__'
|
||||||
|
|||||||
Reference in New Issue
Block a user