Basic item settings

This commit is contained in:
Raphael Michel
2014-09-27 12:36:56 +02:00
parent 49efb881ce
commit 675688d5df
9 changed files with 271 additions and 30 deletions

View File

@@ -0,0 +1,78 @@
from django.views.generic import ListView
from django.views.generic.edit import UpdateView
from django.core.urlresolvers import resolve, reverse
from django import forms
from tixlbase.models import Item, ItemCategory, Property
from tixlcontrol.permissions import EventPermissionRequiredMixin
class ItemList(ListView):
model = Item
context_object_name = 'items'
template_name = 'tixlcontrol/items/index.html'
def get_queryset(self):
return Item.objects.filter(
event=self.request.event
)
class CategoryList(ListView):
model = ItemCategory
context_object_name = 'items'
template_name = 'tixlcontrol/items/index.html'
def get_queryset(self):
return ItemCategory.objects.filter(
event=self.request.event
)
class PropertyList(ListView):
model = Property
context_object_name = 'items'
template_name = 'tixlcontrol/items/index.html'
def get_queryset(self):
return Property.objects.filter(
event=self.request.event
)
class ItemUpdateFormGeneral(forms.ModelForm):
class Meta:
model = Item
localized_fields = '__all__'
fields = [
'category',
'name',
'active',
'short_description',
'long_description',
'default_price',
'tax_rate',
'properties',
]
class ItemUpdateGeneral(EventPermissionRequiredMixin, UpdateView):
model = Item
form_class = ItemUpdateFormGeneral
template_name = 'tixlcontrol/item/index.html'
permission = 'can_change_items'
context_object_name = 'item'
def get_object(self, queryset=None):
url = resolve(self.request.path_info)
return self.request.event.items.get(
id=url.kwargs['item']
)
def get_success_url(self):
return reverse('control:event.item', kwargs={
'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug,
'item': self.get_object().pk,
}) + '?success=true'