Added a preference to not display the left-hand menubar. Addresses issues #1659 and #1663.

- Legacy-Id: 9643
This commit is contained in:
Henrik Levkowetz 2015-05-22 20:03:11 +00:00
parent 2fa307aa3f
commit b768dbbc9a
4 changed files with 38 additions and 7 deletions

View file

@ -11,4 +11,6 @@ urlpatterns = patterns('',
(r'^expires_soon/', views.expires_soon),
(r'^full_draft/(?P<enabled>.*)$', views.full_draft),
(r'^full_draft/', views.full_draft),
(r'^left_menu/(?P<enabled>.*)$', views.left_menu),
(r'^left_menu/', views.left_menu),
)

View file

@ -3,7 +3,7 @@
from django.shortcuts import render_to_response as render
from django.template import RequestContext
def settings(request, new_enough = -1, expires_soon = -1, full_draft = ""):
def settings(request, new_enough = -1, expires_soon = -1, full_draft = "", left_menu=""):
if new_enough < 0:
if "new_enough" in request.COOKIES and request.COOKIES["new_enough"].isdigit():
new_enough = int(request.COOKIES["new_enough"])
@ -21,11 +21,19 @@ def settings(request, new_enough = -1, expires_soon = -1, full_draft = ""):
full_draft = "off"
else:
full_draft = "off"
if left_menu == "":
if "left_menu" in request.COOKIES:
left_menu = request.COOKIES["left_menu"]
if left_menu != 'on' and left_menu != 'off':
left_menu = "on"
else:
left_menu = "on"
return render("cookies/settings.html",
{
"new_enough" : new_enough,
"expires_soon" : expires_soon,
"full_draft" : full_draft
"full_draft" : full_draft,
"left_menu": left_menu,
}, context_instance=RequestContext(request))
def new_enough(request, days="14"):
@ -35,7 +43,7 @@ def new_enough(request, days="14"):
days = 0
if days == 0:
days = 14
response = settings(request, days, -1)
response = settings(request, new_enough=days)
response.set_cookie("new_enough", days, 315360000)
return response
@ -46,13 +54,24 @@ def expires_soon(request, days="14"):
days = 0
if days == 0:
days = 14
response = settings(request, -1, days)
response = settings(request, expires_soon=days)
response.set_cookie("expires_soon", days, 315360000)
return response
def full_draft(request, enabled="off"):
if enabled != "on" and enabled != "off":
enabled = "off"
response = settings(request, -1, -1, enabled)
response = settings(request, full_draft=enabled)
response.set_cookie("full_draft", enabled, 315360000)
return response
def left_menu(request, enabled="on"):
if enabled != "on" and enabled != "off":
enabled = "on"
# Propagate the new setting immediately, to render the settings page
# iteself according to the setting:
request.COOKIES["left_menu"] = enabled
response = settings(request, left_menu=enabled)
response.set_cookie("left_menu", enabled, 315360000)
return response

View file

@ -92,8 +92,7 @@
</div>
</div>
{% endif %}
{% if not hide_menu %} {# ugly hack for the more or less unported meeting agenda edit pages #}
{% if request.COOKIES.left_menu != "off" and not hide_menu %} {# ugly hack for the more or less unported meeting agenda edit pages #}
<div class="row">
<div class="col-md-2 visible-md visible-lg leftmenu">
<ul class="nav nav-pills nav-stacked panel panel-default panel-body">

View file

@ -50,5 +50,16 @@
<a class="btn btn-default {% if full_draft == "on" %}active{% endif %}" href="/accounts/settings/full_draft/on">On</a>
</div>
<h2 class="ietf-divider">Show the left-hand menu?</h2>
<p>Show the left-hand menu on all regular pages? This defaults to on.</p>
<div class="btn-group btn-group-justified">
<a class="btn btn-default {% if left_menu == "off" %}active{% endif %}" href="/accounts/settings/left_menu/off">Off</a>
<a class="btn btn-default {% if left_menu == "on" %}active{% endif %}" href="/accounts/settings/left_menu/on">On</a>
</div>
{% endblock %}