forked from CGM_Public/pretix_original
Event-level domains: Fix customer logout
This commit is contained in:
@@ -9,13 +9,13 @@
|
||||
title="{% trans "View user profile" %}" data-toggle="tooltip">
|
||||
<span class="fa fa-user" aria-hidden="true"></span>
|
||||
{{ request.customer.name|default:request.customer.email }}</a>
|
||||
<a href="{% abseventurl request.organizer "presale:organizer.customer.logout" %}?next={{ request.path|urlencode }}%3F{{ request.META.QUERY_STRING|urlencode }}"
|
||||
<a href="{% if request.event_domain %}{% abseventurl request.event "presale:organizer.customer.logout" %}{% else %}{% abseventurl request.organizer "presale:organizer.customer.logout" %}{% endif %}?next={{ request.path|urlencode }}%3F{{ request.META.QUERY_STRING|urlencode }}"
|
||||
aria-label="{% trans "Log out" %}" data-toggle="tooltip" data-placement="left"
|
||||
title="{% trans "Log out" %}">
|
||||
<span class="fa fa-sign-out" aria-hidden="true"></span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{% abseventurl request.organizer "presale:organizer.customer.login" %}?next={{ request.path|urlencode }}%3F{{ request.META.QUERY_STRING|urlencode }}">
|
||||
<a href="{% abseventurl request.organizer "presale:organizer.customer.login" %}{% if not request.event_domain %}?next={{ request.path|urlencode }}%3F{{ request.META.QUERY_STRING|urlencode }}{% endif %}">
|
||||
{% trans "Log in" %}</a>
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -156,6 +156,9 @@ event_patterns = [
|
||||
re_path(r'^widget/v1.css$', pretix.presale.views.widget.widget_css, name='event.widget.css'),
|
||||
re_path(r'^(?P<subevent>\d+)/widget/product_list$', pretix.presale.views.widget.WidgetAPIProductList.as_view(),
|
||||
name='event.widget.productlist'),
|
||||
|
||||
# Account management is done on org level, but we at least need a logout
|
||||
re_path(r'^account/logout$', pretix.presale.views.customer.LogoutView.as_view(), name='organizer.customer.logout'),
|
||||
]
|
||||
|
||||
organizer_patterns = [
|
||||
|
||||
@@ -96,7 +96,11 @@ class LoginView(RedirectBackMixin, FormView):
|
||||
|
||||
def get_success_url(self):
|
||||
url = self.get_redirect_url()
|
||||
return url or eventreverse(self.request.organizer, 'presale:organizer.customer.profile', kwargs={})
|
||||
if getattr(self.request, 'event_domain', False):
|
||||
default_url = '/'
|
||||
else:
|
||||
default_url = eventreverse(self.request.organizer, 'presale:organizer.customer.profile', kwargs={})
|
||||
return url or default_url
|
||||
|
||||
def form_valid(self, form):
|
||||
"""Security check complete. Log the user in."""
|
||||
@@ -114,7 +118,10 @@ class LogoutView(View):
|
||||
return HttpResponseRedirect(next_page)
|
||||
|
||||
def get_next_page(self):
|
||||
next_page = eventreverse(self.request.organizer, 'presale:organizer.index', kwargs={})
|
||||
if getattr(self.request, 'event_domain', False):
|
||||
next_page = '/'
|
||||
else:
|
||||
next_page = eventreverse(self.request.organizer, 'presale:organizer.index', kwargs={})
|
||||
|
||||
if (self.redirect_field_name in self.request.POST or
|
||||
self.redirect_field_name in self.request.GET):
|
||||
|
||||
Reference in New Issue
Block a user