mirror of
https://github.com/pretix/pretix.git
synced 2026-05-08 15:44:02 +00:00
Event-level domains: Fix customer logout
This commit is contained in:
@@ -9,13 +9,13 @@
|
|||||||
title="{% trans "View user profile" %}" data-toggle="tooltip">
|
title="{% trans "View user profile" %}" data-toggle="tooltip">
|
||||||
<span class="fa fa-user" aria-hidden="true"></span>
|
<span class="fa fa-user" aria-hidden="true"></span>
|
||||||
{{ request.customer.name|default:request.customer.email }}</a>
|
{{ 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"
|
aria-label="{% trans "Log out" %}" data-toggle="tooltip" data-placement="left"
|
||||||
title="{% trans "Log out" %}">
|
title="{% trans "Log out" %}">
|
||||||
<span class="fa fa-sign-out" aria-hidden="true"></span>
|
<span class="fa fa-sign-out" aria-hidden="true"></span>
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% 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>
|
{% trans "Log in" %}</a>
|
||||||
|
|
||||||
{% endif %}
|
{% 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'^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(),
|
re_path(r'^(?P<subevent>\d+)/widget/product_list$', pretix.presale.views.widget.WidgetAPIProductList.as_view(),
|
||||||
name='event.widget.productlist'),
|
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 = [
|
organizer_patterns = [
|
||||||
|
|||||||
@@ -96,7 +96,11 @@ class LoginView(RedirectBackMixin, FormView):
|
|||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
url = self.get_redirect_url()
|
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):
|
def form_valid(self, form):
|
||||||
"""Security check complete. Log the user in."""
|
"""Security check complete. Log the user in."""
|
||||||
@@ -114,7 +118,10 @@ class LogoutView(View):
|
|||||||
return HttpResponseRedirect(next_page)
|
return HttpResponseRedirect(next_page)
|
||||||
|
|
||||||
def get_next_page(self):
|
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
|
if (self.redirect_field_name in self.request.POST or
|
||||||
self.redirect_field_name in self.request.GET):
|
self.redirect_field_name in self.request.GET):
|
||||||
|
|||||||
Reference in New Issue
Block a user