diff --git a/cookbook/templates/base.html b/cookbook/templates/base.html index f5fc196d..67a6f8c4 100644 --- a/cookbook/templates/base.html +++ b/cookbook/templates/base.html @@ -304,6 +304,20 @@ {% trans 'Admin' %} {% endif %} + {% if request.user.is_authenticated and request.user.userspace_set.all|length > 1 %} + + + {% for us in request.user.userspace_set.all %} + + {% if us.active %} + + {% else %} + + {% endif %} + {{ us.space.name }} + {% endfor %} + + {% endif %} {% trans 'Markdown Guide' %} @@ -339,7 +353,8 @@ {% if HOSTED and request.space.max_recipes == 10 %}
- {% trans 'You are using the free version of Tandor' %} {% trans 'Upgrade Now' %} + {% trans 'You are using the free version of Tandor' %} {% trans 'Upgrade Now' %}
{% endif %} diff --git a/cookbook/urls.py b/cookbook/urls.py index b82737a6..546e985a 100644 --- a/cookbook/urls.py +++ b/cookbook/urls.py @@ -56,6 +56,7 @@ urlpatterns = [ name='change_space_member'), path('no-group', views.no_groups, name='view_no_group'), path('no-space', views.no_space, name='view_no_space'), + path('switch-space/', views.switch_space, name='view_switch_space'), path('no-perm', views.no_perm, name='view_no_perm'), path('signup/', views.signup, name='view_signup'), # TODO deprecated with 0.16.2 remove at some point path('invite/', views.invite_link, name='view_invite'), diff --git a/cookbook/views/views.py b/cookbook/views/views.py index e27dcae0..8407c1e3 100644 --- a/cookbook/views/views.py +++ b/cookbook/views/views.py @@ -144,6 +144,15 @@ def no_space(request): return render(request, 'no_space_info.html', {'create_form': create_form, 'join_form': join_form}) +@login_required +def switch_space(request, space_id): + user_space = get_object_or_404(UserSpace, space=space_id, user=request.user) + UserSpace.objects.filter(user=request.user).update(active=False) # make sure to deactivate all spaces for a user + user_space.active = True + user_space.save() + return HttpResponseRedirect(reverse('index')) + + def no_perm(request): if not request.user.is_authenticated: messages.add_message(request, messages.ERROR, _('You are not logged in and therefore cannot view this page!'))