space switcher
This commit is contained in:
parent
151461508f
commit
b3fcfdfc96
@ -304,6 +304,20 @@
|
||||
<a class="dropdown-item" href="{% url 'admin:index' %}"><i
|
||||
class="fas fa-user-shield fa-fw"></i> {% trans 'Admin' %}</a>
|
||||
{% endif %}
|
||||
{% if request.user.is_authenticated and request.user.userspace_set.all|length > 1 %}
|
||||
<div class="dropdown-divider"></div>
|
||||
<h6 class="dropdown-header">{% trans 'Your Spaces' %}</h6>
|
||||
{% for us in request.user.userspace_set.all %}
|
||||
<a class="dropdown-item" href="{% url 'view_switch_space' us.space.id %}">
|
||||
{% if us.active %}
|
||||
<i class="far fa-dot-circle fa-fw"></i>
|
||||
{% else %}
|
||||
<i class="far fa-circle fa-fw"></i>
|
||||
{% endif %}
|
||||
{{ us.space.name }}</a>
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="{% url 'docs_markdown' %}"><i
|
||||
class="fab fa-markdown fa-fw"></i> {% trans 'Markdown Guide' %}</a>
|
||||
@ -339,7 +353,8 @@
|
||||
|
||||
{% if HOSTED and request.space.max_recipes == 10 %}
|
||||
<div class="bg-warning" style=" width: 100%; text-align: center!important; color: #ffffff; padding: 8px">
|
||||
{% trans 'You are using the free version of Tandor' %} <a class="btn-success btn-sm" href="https://tandoor.dev/manage">{% trans 'Upgrade Now' %}</a>
|
||||
{% trans 'You are using the free version of Tandor' %} <a class="btn-success btn-sm"
|
||||
href="https://tandoor.dev/manage">{% trans 'Upgrade Now' %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
@ -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/<int:space_id>', views.switch_space, name='view_switch_space'),
|
||||
path('no-perm', views.no_perm, name='view_no_perm'),
|
||||
path('signup/<slug:token>', views.signup, name='view_signup'), # TODO deprecated with 0.16.2 remove at some point
|
||||
path('invite/<slug:token>', views.invite_link, name='view_invite'),
|
||||
|
@ -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!'))
|
||||
|
Loading…
Reference in New Issue
Block a user