Automatically sort new products to the end

This commit is contained in:
Raphael Michel
2017-05-01 22:57:29 +02:00
parent 5d6083dce4
commit 300f8f666d

View File

@@ -4,7 +4,7 @@ from django.contrib import messages
from django.core.files import File from django.core.files import File
from django.core.urlresolvers import resolve, reverse from django.core.urlresolvers import resolve, reverse
from django.db import transaction from django.db import transaction
from django.db.models import Count, F, Q from django.db.models import Count, F, Max, Q
from django.forms.models import ModelMultipleChoiceField, inlineformset_factory from django.forms.models import ModelMultipleChoiceField, inlineformset_factory
from django.http import Http404, HttpResponseRedirect from django.http import Http404, HttpResponseRedirect
from django.shortcuts import redirect from django.shortcuts import redirect
@@ -72,7 +72,7 @@ def item_move(request, item, up=True):
if item.position != i: if item.position != i:
item.position = i item.position = i
item.save() item.save()
messages.success(request, _('The order of items as been updated.')) messages.success(request, _('The order of items has been updated.'))
@event_permission_required("can_change_items") @event_permission_required("can_change_items")
@@ -803,6 +803,8 @@ class ItemCreate(EventPermissionRequiredMixin, CreateView):
form.instance.min_per_order = form.cleaned_data['copy_from'].min_per_order form.instance.min_per_order = form.cleaned_data['copy_from'].min_per_order
form.instance.max_per_order = form.cleaned_data['copy_from'].max_per_order form.instance.max_per_order = form.cleaned_data['copy_from'].max_per_order
form.instance.position = (self.request.event.items.aggregate(p=Max('position'))['p'] or 0) + 1
ret = super().form_valid(form) ret = super().form_valid(form)
form.instance.log_action('pretix.event.item.added', user=self.request.user, data={ form.instance.log_action('pretix.event.item.added', user=self.request.user, data={
k: (form.cleaned_data.get(k).name k: (form.cleaned_data.get(k).name