space switcher
This commit is contained in:
parent
151461508f
commit
b3fcfdfc96
@ -304,6 +304,20 @@
|
|||||||
<a class="dropdown-item" href="{% url 'admin:index' %}"><i
|
<a class="dropdown-item" href="{% url 'admin:index' %}"><i
|
||||||
class="fas fa-user-shield fa-fw"></i> {% trans 'Admin' %}</a>
|
class="fas fa-user-shield fa-fw"></i> {% trans 'Admin' %}</a>
|
||||||
{% endif %}
|
{% 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>
|
<div class="dropdown-divider"></div>
|
||||||
<a class="dropdown-item" href="{% url 'docs_markdown' %}"><i
|
<a class="dropdown-item" href="{% url 'docs_markdown' %}"><i
|
||||||
class="fab fa-markdown fa-fw"></i> {% trans 'Markdown Guide' %}</a>
|
class="fab fa-markdown fa-fw"></i> {% trans 'Markdown Guide' %}</a>
|
||||||
@ -339,7 +353,8 @@
|
|||||||
|
|
||||||
{% if HOSTED and request.space.max_recipes == 10 %}
|
{% if HOSTED and request.space.max_recipes == 10 %}
|
||||||
<div class="bg-warning" style=" width: 100%; text-align: center!important; color: #ffffff; padding: 8px">
|
<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>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
@ -56,6 +56,7 @@ urlpatterns = [
|
|||||||
name='change_space_member'),
|
name='change_space_member'),
|
||||||
path('no-group', views.no_groups, name='view_no_group'),
|
path('no-group', views.no_groups, name='view_no_group'),
|
||||||
path('no-space', views.no_space, name='view_no_space'),
|
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('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('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'),
|
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})
|
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):
|
def no_perm(request):
|
||||||
if not request.user.is_authenticated:
|
if not request.user.is_authenticated:
|
||||||
messages.add_message(request, messages.ERROR, _('You are not logged in and therefore cannot view this page!'))
|
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