diff --git a/src/pretix/presale/templates/pretixpresale/fragment_login_status.html b/src/pretix/presale/templates/pretixpresale/fragment_login_status.html index f8a520b5ac..1e558804a8 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_login_status.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_login_status.html @@ -9,13 +9,13 @@ title="{% trans "View user profile" %}" data-toggle="tooltip"> {{ request.customer.name|default:request.customer.email }} - {% else %} - + {% trans "Log in" %} {% endif %} diff --git a/src/pretix/presale/urls.py b/src/pretix/presale/urls.py index 84e16cab08..50ef7ab997 100644 --- a/src/pretix/presale/urls.py +++ b/src/pretix/presale/urls.py @@ -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\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 = [ diff --git a/src/pretix/presale/views/customer.py b/src/pretix/presale/views/customer.py index 63b73bc231..1a1eca2664 100644 --- a/src/pretix/presale/views/customer.py +++ b/src/pretix/presale/views/customer.py @@ -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):