Consistently use messages framework in control

simplify redirect(reserve()) calls
This commit is contained in:
Raphael Michel
2015-05-22 10:01:33 +02:00
parent 10373838f1
commit 3df19a7c73
14 changed files with 116 additions and 181 deletions

View File

@@ -2,11 +2,6 @@
{% load i18n %} {% load i18n %}
{% load bootstrap3 %} {% load bootstrap3 %}
{% block inside %} {% block inside %}
{% if "success" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% endif %}
<form action="" method="post" class="form-horizontal"> <form action="" method="post" class="form-horizontal">
{% csrf_token %} {% csrf_token %}
<fieldset> <fieldset>

View File

@@ -3,19 +3,6 @@
{% block title %}{% trans "Product categories" %}{% endblock %} {% block title %}{% trans "Product categories" %}{% endblock %}
{% block inside %} {% block inside %}
<h1>{% trans "Product categories" %}</h1> <h1>{% trans "Product categories" %}</h1>
{% if "updated" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% elif "created" in request.GET %}
<div class="alert alert-success">
{% trans "A new category has been created." %}
</div>
{% elif "deleted" in request.GET %}
<div class="alert alert-success">
{% trans "The category has been deleted." %}
</div>
{% endif %}
<p> <p>
<a href="{% url "control:event.items.categories.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create new category" %}</a> <a href="{% url "control:event.items.categories.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create new category" %}</a>
</p> </p>

View File

@@ -3,19 +3,6 @@
{% block title %}{% trans "Product properties" %}{% endblock %} {% block title %}{% trans "Product properties" %}{% endblock %}
{% block inside %} {% block inside %}
<h1>{% trans "Product properties" %}</h1> <h1>{% trans "Product properties" %}</h1>
{% if "updated" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% elif "created" in request.GET %}
<div class="alert alert-success">
{% trans "A new property has been created." %}
</div>
{% elif "deleted" in request.GET %}
<div class="alert alert-success">
{% trans "The property has been deleted." %}
</div>
{% endif %}
<p> <p>
<a href="{% url "control:event.items.properties.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create new property" %}</a> <a href="{% url "control:event.items.properties.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create new property" %}</a>
</p> </p>

View File

@@ -7,11 +7,6 @@
<h1>{% trans "Product property" %}</h1> <h1>{% trans "Product property" %}</h1>
<form action="" method="post" class="form-horizontal"> <form action="" method="post" class="form-horizontal">
{% csrf_token %} {% csrf_token %}
{% if "success" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% endif %}
<fieldset> <fieldset>
<legend>{% trans "General information" %}</legend> <legend>{% trans "General information" %}</legend>
{% bootstrap_field form.name layout="horizontal" %} {% bootstrap_field form.name layout="horizontal" %}

View File

@@ -6,11 +6,6 @@
<h1>{% trans "Question" %}</h1> <h1>{% trans "Question" %}</h1>
<form action="" method="post" class="form-horizontal"> <form action="" method="post" class="form-horizontal">
{% csrf_token %} {% csrf_token %}
{% if "success" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% endif %}
<fieldset> <fieldset>
<legend>{% trans "General information" %}</legend> <legend>{% trans "General information" %}</legend>
{% bootstrap_field form.question layout="horizontal" %} {% bootstrap_field form.question layout="horizontal" %}

View File

@@ -3,19 +3,6 @@
{% block title %}{% trans "Questions" %}{% endblock %} {% block title %}{% trans "Questions" %}{% endblock %}
{% block inside %} {% block inside %}
<h1>{% trans "Questions" %}</h1> <h1>{% trans "Questions" %}</h1>
{% if "updated" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% elif "created" in request.GET %}
<div class="alert alert-success">
{% trans "A new question has been created." %}
</div>
{% elif "deleted" in request.GET %}
<div class="alert alert-success">
{% trans "The question has been deleted." %}
</div>
{% endif %}
<p> <p>
<a href="{% url "control:event.items.questions.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create new question" %}</a> <a href="{% url "control:event.items.questions.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create new question" %}</a>
</p> </p>

View File

@@ -6,11 +6,6 @@
<h1>{% trans "Quota" %}</h1> <h1>{% trans "Quota" %}</h1>
<form action="" method="post" class="form-horizontal"> <form action="" method="post" class="form-horizontal">
{% csrf_token %} {% csrf_token %}
{% if "success" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% endif %}
<fieldset> <fieldset>
<legend>{% trans "General information" %}</legend> <legend>{% trans "General information" %}</legend>
{% bootstrap_field form.name layout="horizontal" %} {% bootstrap_field form.name layout="horizontal" %}

View File

@@ -3,19 +3,6 @@
{% block title %}{% trans "Quotas" %}{% endblock %} {% block title %}{% trans "Quotas" %}{% endblock %}
{% block inside %} {% block inside %}
<h1>{% trans "Quotas" %}</h1> <h1>{% trans "Quotas" %}</h1>
{% if "updated" in request.GET %}
<div class="alert alert-success">
{% trans "Your changes have been saved." %}
</div>
{% elif "created" in request.GET %}
<div class="alert alert-success">
{% trans "A new quota has been created." %}
</div>
{% elif "deleted" in request.GET %}
<div class="alert alert-success">
{% trans "The quota has been deleted." %}
</div>
{% endif %}
<p> <p>
<a href="{% url "control:event.items.quotas.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create a new quota" %}</a> <a href="{% url "control:event.items.quotas.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create a new quota" %}</a>
</p> </p>

View File

@@ -1,4 +1,5 @@
from itertools import product from itertools import product
from django.contrib import messages
from django.db import transaction from django.db import transaction
from django.forms import BooleanField from django.forms import BooleanField
from django.utils.functional import cached_property from django.utils.functional import cached_property
@@ -64,13 +65,14 @@ class CategoryDelete(EventPermissionRequiredMixin, DeleteView):
item.save() item.save()
success_url = self.get_success_url() success_url = self.get_success_url()
self.object.delete() self.object.delete()
messages.success(request, _('The selected category has been deleted.'))
return HttpResponseRedirect(success_url) return HttpResponseRedirect(success_url)
def get_success_url(self) -> str: def get_success_url(self) -> str:
return reverse('control:event.items.categories', kwargs={ return reverse('control:event.items.categories', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?deleted=true' })
class CategoryUpdate(EventPermissionRequiredMixin, UpdateView): class CategoryUpdate(EventPermissionRequiredMixin, UpdateView):
@@ -86,11 +88,15 @@ class CategoryUpdate(EventPermissionRequiredMixin, UpdateView):
identity=url.kwargs['category'] identity=url.kwargs['category']
) )
def form_valid(self, form):
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form)
def get_success_url(self) -> str: def get_success_url(self) -> str:
return reverse('control:event.items.categories', kwargs={ return reverse('control:event.items.categories', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?updated=true' })
class CategoryCreate(EventPermissionRequiredMixin, CreateView): class CategoryCreate(EventPermissionRequiredMixin, CreateView):
@@ -104,10 +110,11 @@ class CategoryCreate(EventPermissionRequiredMixin, CreateView):
return reverse('control:event.items.categories', kwargs={ return reverse('control:event.items.categories', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?created=true' })
def form_valid(self, form): def form_valid(self, form):
form.instance.event = self.request.event form.instance.event = self.request.event
messages.success(self.request, _('The new category has been created.'))
return super().form_valid(form) return super().form_valid(form)
@@ -146,19 +153,17 @@ def category_move(request, category, up=True):
@event_permission_required("can_change_items") @event_permission_required("can_change_items")
def category_move_up(request, organizer, event, category): def category_move_up(request, organizer, event, category):
category_move(request, category, up=True) category_move(request, category, up=True)
return redirect(reverse('control:event.items.categories', kwargs={ return redirect('control:event.items.categories',
'organizer': request.event.organizer.slug, organizer=request.event.organizer.slug,
'event': request.event.slug, event=request.event.slug)
}) + '?ordered=true')
@event_permission_required("can_change_items") @event_permission_required("can_change_items")
def category_move_down(request, organizer, event, category): def category_move_down(request, organizer, event, category):
category_move(request, category, up=False) category_move(request, category, up=False)
return redirect(reverse('control:event.items.categories', kwargs={ return redirect('control:event.items.categories',
'organizer': request.event.organizer.slug, organizer=request.event.organizer.slug,
'event': request.event.slug, event=request.event.slug)
}) + '?ordered=true')
class PropertyList(ListView): class PropertyList(ListView):
@@ -207,7 +212,7 @@ class PropertyUpdate(EventPermissionRequiredMixin, UpdateView):
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
'property': self.kwargs['property'] 'property': self.kwargs['property']
}) + '?success=true' })
def get_formset(self): def get_formset(self):
formsetclass = inlineformset_factory( formsetclass = inlineformset_factory(
@@ -238,6 +243,8 @@ class PropertyUpdate(EventPermissionRequiredMixin, UpdateView):
f.instance = f.instance.clone() f.instance = f.instance.clone()
f.instance.position = i f.instance.position = i
f.instance.save() f.instance.save()
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form) return super().form_valid(form)
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
@@ -262,7 +269,7 @@ class PropertyCreate(EventPermissionRequiredMixin, CreateView):
return reverse('control:event.items.properties', kwargs={ return reverse('control:event.items.properties', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?created=true' })
def get_formset(self): def get_formset(self):
formsetclass = inlineformset_factory( formsetclass = inlineformset_factory(
@@ -289,6 +296,7 @@ class PropertyCreate(EventPermissionRequiredMixin, CreateView):
f.instance.position = i f.instance.position = i
f.instance.prop = form.instance f.instance.prop = form.instance
f.instance.save() f.instance.save()
messages.success(self.request, _('The new property has been created.'))
return resp return resp
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
@@ -328,6 +336,7 @@ class PropertyDelete(EventPermissionRequiredMixin, DeleteView):
if self.is_allowed(): if self.is_allowed():
success_url = self.get_success_url() success_url = self.get_success_url()
self.get_object().delete() self.get_object().delete()
messages.success(request, _('The selected property has been deleted.'))
return HttpResponseRedirect(success_url) return HttpResponseRedirect(success_url)
else: else:
return HttpResponseForbidden() return HttpResponseForbidden()
@@ -336,7 +345,7 @@ class PropertyDelete(EventPermissionRequiredMixin, DeleteView):
return reverse('control:event.items.properties', kwargs={ return reverse('control:event.items.properties', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?deleted=true' })
class QuestionList(ListView): class QuestionList(ListView):
@@ -380,13 +389,14 @@ class QuestionDelete(EventPermissionRequiredMixin, DeleteView):
self.object = self.get_object() self.object = self.get_object()
success_url = self.get_success_url() success_url = self.get_success_url()
self.object.delete() self.object.delete()
messages.success(request, _('The selected question has been deleted.'))
return HttpResponseRedirect(success_url) return HttpResponseRedirect(success_url)
def get_success_url(self) -> str: def get_success_url(self) -> str:
return reverse('control:event.items.questions', kwargs={ return reverse('control:event.items.questions', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?deleted=true' })
class QuestionUpdate(EventPermissionRequiredMixin, UpdateView): class QuestionUpdate(EventPermissionRequiredMixin, UpdateView):
@@ -401,11 +411,15 @@ class QuestionUpdate(EventPermissionRequiredMixin, UpdateView):
identity=self.kwargs['question'] identity=self.kwargs['question']
) )
def form_valid(self, form):
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form)
def get_success_url(self) -> str: def get_success_url(self) -> str:
return reverse('control:event.items.questions', kwargs={ return reverse('control:event.items.questions', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?updated=true' })
class QuestionCreate(EventPermissionRequiredMixin, CreateView): class QuestionCreate(EventPermissionRequiredMixin, CreateView):
@@ -419,10 +433,11 @@ class QuestionCreate(EventPermissionRequiredMixin, CreateView):
return reverse('control:event.items.questions', kwargs={ return reverse('control:event.items.questions', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?created=true' })
def form_valid(self, form): def form_valid(self, form):
form.instance.event = self.request.event form.instance.event = self.request.event
messages.success(self.request, _('The new question has been created.'))
return super().form_valid(form) return super().form_valid(form)
@@ -538,10 +553,11 @@ class QuotaCreate(EventPermissionRequiredMixin, QuotaEditorMixin, CreateView):
return reverse('control:event.items.quotas', kwargs={ return reverse('control:event.items.quotas', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?created=true' })
def form_valid(self, form): def form_valid(self, form):
form.instance.event = self.request.event form.instance.event = self.request.event
messages.success(self.request, _('The new quota has been created.'))
return super().form_valid(form) return super().form_valid(form)
@@ -557,11 +573,15 @@ class QuotaUpdate(EventPermissionRequiredMixin, QuotaEditorMixin, UpdateView):
identity=self.kwargs['quota'] identity=self.kwargs['quota']
) )
def form_valid(self, form):
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form)
def get_success_url(self) -> str: def get_success_url(self) -> str:
return reverse('control:event.items.quotas', kwargs={ return reverse('control:event.items.quotas', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?updated=true' })
class QuotaDelete(EventPermissionRequiredMixin, DeleteView): class QuotaDelete(EventPermissionRequiredMixin, DeleteView):
@@ -584,13 +604,14 @@ class QuotaDelete(EventPermissionRequiredMixin, DeleteView):
self.object = self.get_object() self.object = self.get_object()
success_url = self.get_success_url() success_url = self.get_success_url()
self.object.delete() self.object.delete()
messages.success(self.request, _('The selected quota has been deleted.'))
return HttpResponseRedirect(success_url) return HttpResponseRedirect(success_url)
def get_success_url(self) -> str: def get_success_url(self) -> str:
return reverse('control:event.items.quotas', kwargs={ return reverse('control:event.items.quotas', kwargs={
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
}) + '?deleted=true' })
class ItemDetailMixin(SingleObjectMixin): class ItemDetailMixin(SingleObjectMixin):
@@ -641,7 +662,11 @@ class ItemCreate(EventPermissionRequiredMixin, CreateView):
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
'item': self.object.identity, 'item': self.object.identity,
}) + '?success=true' })
def form_valid(self, form):
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form)
def get_form_kwargs(self): def get_form_kwargs(self):
""" """
@@ -663,7 +688,11 @@ class ItemUpdateGeneral(ItemDetailMixin, EventPermissionRequiredMixin, UpdateVie
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
'item': self.get_object().identity, 'item': self.get_object().identity,
}) + '?success=true' })
def form_valid(self, form):
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form)
class ItemVariationForm(VersionedModelForm): class ItemVariationForm(VersionedModelForm):
@@ -802,6 +831,7 @@ class ItemVariations(ItemDetailMixin, EventPermissionRequiredMixin, TemplateView
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
self.main(request, *args, **kwargs) self.main(request, *args, **kwargs)
context = self.get_context_data(object=self.object) context = self.get_context_data(object=self.object)
valid = True
with transaction.atomic(): with transaction.atomic():
for form in self.forms_flat: for form in self.forms_flat:
if form.is_valid() and form.has_changed(): if form.is_valid() and form.has_changed():
@@ -811,7 +841,11 @@ class ItemVariations(ItemDetailMixin, EventPermissionRequiredMixin, TemplateView
# for newly created items as cleanerversion does already set the # for newly created items as cleanerversion does already set the
# primary key in its post_init hook # primary key in its post_init hook
form.instance.values.add(*form.values) form.instance.values.add(*form.values)
# TODO: Redirect to success message elif not form.is_valid and form.has_changed():
valid = False
if valid:
messages.success(self.request, _('Your changes have been saved.'))
return redirect(self.get_success_url())
return self.render_to_response(context) return self.render_to_response(context)
def get_template_names(self) -> "List[str]": def get_template_names(self) -> "List[str]":
@@ -822,6 +856,13 @@ class ItemVariations(ItemDetailMixin, EventPermissionRequiredMixin, TemplateView
elif self.dimension >= 2: elif self.dimension >= 2:
return ['pretixcontrol/item/variations_nd.html'] return ['pretixcontrol/item/variations_nd.html']
def get_success_url(self) -> str:
return reverse('control:event.item.variations', kwargs={
'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug,
'item': self.get_object().identity,
})
def get_context_data(self, **kwargs) -> dict: def get_context_data(self, **kwargs) -> dict:
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context['forms'] = self.forms context['forms'] = self.forms
@@ -873,6 +914,7 @@ class ItemRestrictions(ItemDetailMixin, EventPermissionRequiredMixin, TemplateVi
form.instance.event = request.event form.instance.event = request.event
form.instance.item = self.object form.instance.item = self.object
form.save() form.save()
messages.success(self.request, _('Your changes have been saved.'))
return redirect(self.get_success_url()) return redirect(self.get_success_url())
else: else:
context = self.get_context_data(object=self.object) context = self.get_context_data(object=self.object)
@@ -888,4 +930,4 @@ class ItemRestrictions(ItemDetailMixin, EventPermissionRequiredMixin, TemplateVi
'organizer': self.request.event.organizer.slug, 'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug, 'event': self.request.event.slug,
'item': self.object.identity 'item': self.object.identity
}) + '?success=true' })

View File

@@ -134,14 +134,10 @@ class OrderTransition(OrderView):
ret = self.payment_provider.order_control_refund_perform(self.request, self.order) ret = self.payment_provider.order_control_refund_perform(self.request, self.order)
if ret: if ret:
return redirect(ret) return redirect(ret)
return redirect(reverse( return redirect('control:event.order',
'control:event.order', event=self.request.event.slug,
kwargs={ organizer=self.request.event.organizer.slug,
'event': self.request.event.slug, code=self.order.code)
'organizer': self.request.event.organizer.slug,
'code': self.order.code,
}
))
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
to = self.request.GET.get('status', '') to = self.request.GET.get('status', '')
@@ -182,14 +178,10 @@ class OrderExtend(OrderView):
return self.get(*args, **kwargs) return self.get(*args, **kwargs)
def _redirect_back(self): def _redirect_back(self):
return redirect(reverse( return redirect('control:event.order',
'control:event.order', event=self.request.event.slug,
kwargs={ organizer=self.request.event.organizer.slug,
'event': self.request.event.slug, code=self.order.code)
'organizer': self.request.event.organizer.slug,
'code': self.order.code,
}
))
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
if self.order.status != Order.STATUS_PENDING: if self.order.status != Order.STATUS_PENDING:

View File

@@ -125,10 +125,9 @@ class ImportView(EventPermissionRequiredMixin, TemplateView):
}) })
def redirect_back(self): def redirect_back(self):
return redirect(reverse('plugins:banktransfer:import', kwargs={ return redirect('plugins:banktransfer:import',
'event': self.request.event.slug, event=self.request.event.slug,
'organizer': self.request.event.organizer.slug, organizer=self.request.event.organizer.slug)
}))
def annotate_data(self, data): def annotate_data(self, data):
pattern = re.compile(self.request.event.slug.upper() + "([A-Z0-9]{5})") pattern = re.compile(self.request.event.slug.upper() + "([A-Z0-9]{5})")

View File

@@ -23,10 +23,9 @@ def success(request):
request.session['payment_paypal_payer'] = payer request.session['payment_paypal_payer'] = payer
try: try:
event = Event.objects.current.get(identity=request.session['payment_paypal_event']) event = Event.objects.current.get(identity=request.session['payment_paypal_event'])
return redirect(reverse('presale:event.checkout.confirm', kwargs={ return redirect('presale:event.checkout.confirm',
'event': event.slug, event=event.slug,
'organizer': event.organizer.slug, organizer=event.organizer.slug)
}))
except Event.DoesNotExist: except Event.DoesNotExist:
pass # TODO: Handle this pass # TODO: Handle this
else: else:
@@ -38,10 +37,9 @@ def abort(request):
messages.error(request, _('It looks like you cancelled the PayPal payment')) messages.error(request, _('It looks like you cancelled the PayPal payment'))
try: try:
event = Event.objects.current.get(identity=request.session['payment_paypal_event']) event = Event.objects.current.get(identity=request.session['payment_paypal_event'])
return redirect(reverse('presale:event.checkout.payment', kwargs={ return redirect('presale:event.checkout.payment',
'event': event.slug, event=event.slug,
'organizer': event.organizer.slug, organizer=event.organizer.slug)
}))
except Event.DoesNotExist: except Event.DoesNotExist:
pass # TODO: Handle this pass # TODO: Handle this
@@ -103,8 +101,7 @@ def retry(request, order):
if resp: if resp:
return redirect(resp) return redirect(resp)
return redirect(reverse('presale:event.order', kwargs={ return redirect('presale:event.order',
'event': order.event.slug, event=order.event.slug,
'organizer': order.event.organizer.slug, organizer=order.event.organizer.slug,
'order': order.code, order=order.code)
}))

View File

@@ -229,12 +229,9 @@ class EventLogin(EventViewMixin, TemplateView):
if 'next' in self.request.GET: if 'next' in self.request.GET:
return redirect(self.request.GET.get('next')) return redirect(self.request.GET.get('next'))
else: else:
return redirect(reverse( return redirect('presale:event.orders',
'presale:event.orders', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug,
}
))
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
if request.user.is_authenticated() and \ if request.user.is_authenticated() and \
@@ -377,12 +374,9 @@ class EventForgot(EventViewMixin, TemplateView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
if request.user.is_authenticated() and \ if request.user.is_authenticated() and \
(request.user.event is None or request.user.event == request.event): (request.user.event is None or request.user.event == request.event):
return redirect(reverse( return redirect('presale:event.orders',
'presale:event.orders', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug,
}
))
return super().get(request, *args, **kwargs) return super().get(request, *args, **kwargs)
def generate_token(self, user): def generate_token(self, user):
@@ -412,12 +406,9 @@ class EventForgot(EventViewMixin, TemplateView):
else: else:
messages.success(request, _('We are unable to send you a new password, as you did not enter an e-mail ' messages.success(request, _('We are unable to send you a new password, as you did not enter an e-mail '
'address at your registration.')) 'address at your registration.'))
return redirect(reverse( return redirect('presale:event.forgot',
'presale:event.forgot', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug,
}
))
else: else:
return self.get(request, *args, **kwargs) return self.get(request, *args, **kwargs)
@@ -448,12 +439,9 @@ class EventRecover(EventViewMixin, TemplateView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
if request.user.is_authenticated() and \ if request.user.is_authenticated() and \
(request.user.event is None or request.user.event == request.event): (request.user.event is None or request.user.event == request.event):
return redirect(reverse( return redirect('presale:event.orders',
'presale:event.orders', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug,
}
))
try: try:
self.get_user() self.get_user()
except User.DoesNotExist: except User.DoesNotExist:
@@ -473,12 +461,9 @@ class EventRecover(EventViewMixin, TemplateView):
def invalid(self, msg): def invalid(self, msg):
messages.error(self.request, self.error_messages[msg]) messages.error(self.request, self.error_messages[msg])
return redirect(reverse( return redirect('presale:event.forgot',
'presale:event.forgot', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug
}
))
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
if self.form.is_valid(): if self.form.is_valid():
@@ -493,12 +478,9 @@ class EventRecover(EventViewMixin, TemplateView):
else: else:
user.set_password(self.form.cleaned_data['password']) user.set_password(self.form.cleaned_data['password'])
messages.success(request, _('You can now login using your new password.')) messages.success(request, _('You can now login using your new password.'))
return redirect(reverse( return redirect('presale:event.checkout.login',
'presale:event.checkout.login', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug,
}
))
else: else:
return self.get(request, *args, **kwargs) return self.get(request, *args, **kwargs)
@@ -517,12 +499,9 @@ class EventRecover(EventViewMixin, TemplateView):
class EventLogout(EventViewMixin, View): class EventLogout(EventViewMixin, View):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
logout(request) logout(request)
return redirect(reverse( return redirect('presale:event.index',
'presale:event.index', kwargs={ organizer=self.request.event.organizer.slug,
'organizer': self.request.event.organizer.slug, event=self.request.event.slug)
'event': self.request.event.slug,
}
))
class EventOrders(EventLoginRequiredMixin, EventViewMixin, TemplateView): class EventOrders(EventLoginRequiredMixin, EventViewMixin, TemplateView):

View File

@@ -108,11 +108,10 @@ class OrderModify(EventViewMixin, EventLoginRequiredMixin, OrderDetailMixin,
messages.error(self.request, messages.error(self.request,
_("We had difficulties processing your input. Please review the errors below.")) _("We had difficulties processing your input. Please review the errors below."))
return self.get(*args, **kwargs) return self.get(*args, **kwargs)
return redirect(reverse('presale:event.order', kwargs={ return redirect('presale:event.order',
'event': self.request.event.slug, event=self.request.event.slug,
'organizer': self.request.event.organizer.slug, organizer=self.request.event.organizer.slug,
'order': self.order.code, order=self.order.code)
}))
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
self.request = request self.request = request
@@ -143,11 +142,10 @@ class OrderCancel(EventViewMixin, EventLoginRequiredMixin, OrderDetailMixin,
order = self.order.clone() order = self.order.clone()
order.status = Order.STATUS_CANCELLED order.status = Order.STATUS_CANCELLED
order.save() order.save()
return redirect(reverse('presale:event.order', kwargs={ return redirect('presale:event.order',
'event': self.request.event.slug, event=self.request.event.slug,
'organizer': self.request.event.organizer.slug, organizer=self.request.event.organizer.slug,
'order': order.code, order=order.code)
}))
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
self.kwargs = kwargs self.kwargs = kwargs