forked from CGM_Public/pretix_original
Item object admin
This commit is contained in:
@@ -4,7 +4,8 @@ from django.utils.translation import ugettext as _
|
|||||||
from django import forms
|
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, ItemFlavor
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -90,6 +91,36 @@ class EventAdmin(admin.ModelAdmin):
|
|||||||
list_filter = ('date_from', 'locale', 'currency')
|
list_filter = ('date_from', 'locale', 'currency')
|
||||||
|
|
||||||
|
|
||||||
|
class PropertyValueInline(admin.StackedInline):
|
||||||
|
|
||||||
|
model = PropertyValue
|
||||||
|
extra = 4
|
||||||
|
|
||||||
|
|
||||||
|
class PropertyAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
|
model = Property
|
||||||
|
inlines = [PropertyValueInline]
|
||||||
|
list_display = ('name', 'event')
|
||||||
|
search_fields = ('name', 'event')
|
||||||
|
|
||||||
|
|
||||||
|
class ItemFlavorInline(admin.TabularInline):
|
||||||
|
|
||||||
|
model = ItemFlavor
|
||||||
|
extra = 4
|
||||||
|
|
||||||
|
|
||||||
|
class ItemAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
|
model = Item
|
||||||
|
inlines = [ItemFlavorInline]
|
||||||
|
list_display = ('name', 'event', 'category')
|
||||||
|
search_fields = ('name', 'event', 'category', 'short_description')
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(User, TixlUserAdmin)
|
admin.site.register(User, TixlUserAdmin)
|
||||||
admin.site.register(Organizer, OrganizerAdmin)
|
admin.site.register(Organizer, OrganizerAdmin)
|
||||||
admin.site.register(Event, EventAdmin)
|
admin.site.register(Event, EventAdmin)
|
||||||
|
admin.site.register(Property, PropertyAdmin)
|
||||||
|
admin.site.register(Item, ItemAdmin)
|
||||||
|
|||||||
@@ -358,6 +358,9 @@ class Property(models.Model):
|
|||||||
verbose_name=_("Property name"),
|
verbose_name=_("Property name"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("Item property")
|
verbose_name = _("Item property")
|
||||||
verbose_name_plural = _("Item properties")
|
verbose_name_plural = _("Item properties")
|
||||||
@@ -379,6 +382,9 @@ class PropertyValue(models.Model):
|
|||||||
verbose_name=_("Value"),
|
verbose_name=_("Value"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return "%s: %s" % (self.prop.name, self.value)
|
||||||
|
|
||||||
|
|
||||||
class Item(models.Model):
|
class Item(models.Model):
|
||||||
"""
|
"""
|
||||||
@@ -467,12 +473,12 @@ class ItemFlavor(models.Model):
|
|||||||
Item,
|
Item,
|
||||||
related_name='flavors'
|
related_name='flavors'
|
||||||
)
|
)
|
||||||
prop = models.ManyToManyField(
|
values = models.ManyToManyField(
|
||||||
PropertyValue,
|
PropertyValue,
|
||||||
related_name='values'
|
related_name='flavors',
|
||||||
)
|
)
|
||||||
active = models.BooleanField(
|
active = models.BooleanField(
|
||||||
default=True
|
default=True,
|
||||||
)
|
)
|
||||||
default_price = models.DecimalField(
|
default_price = models.DecimalField(
|
||||||
decimal_places=2, max_digits=7,
|
decimal_places=2, max_digits=7,
|
||||||
|
|||||||
Reference in New Issue
Block a user