'django.contrib.webdesign',
'qcg',
'filex',
+ 'better_sessions',
'django_openid_auth',
'bootstrap3',
)
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
+ 'better_sessions.middleware.BetterSessionsMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'django.core.context_processors.request',
+ 'better_sessions.context_processors.settings',
)
ROOT_URLCONF = 'plgng.urls'
SESSION_COOKIE_NAME = 'qcg_session'
-SESSION_COOKIE_AGE = 60 * 60 * 24 * 6 # 6 days, length of user proxy from openid is 1 week
-SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
+SESSION_EXPIRE_AT_BROWSER_CLOSE = True
# 3-rd party settings
url(r'^grappelli/', include('grappelli.urls')), # grappelli URLS
url(r'^filex/', include('filex.urls', namespace='filex')),
+ url(r'^session/', include('better_sessions.urls', namespace='session')),
url(r'^', include('qcg.urls')),
)
z-index: 1;
}
}
+
+
+/* better session alerts */
+
+#better-sessions-warn,
+#better-sessions-expire {
+ position: fixed;
+ left: 15px;
+ right: 15px;
+ margin: 0 auto;
+ max-width: 800px;
+ z-index: 1050;
+ top: 10px;
+ text-align: center;
+}
{% endfor %}
{% endblock messages %}
+ {% include 'better_sessions/alerts.html' %}
+
{% block container %}
<script src="{% static 'qcg/jquery/jquery.min.js' %}"></script>
<script src="{% static 'qcg/bootstrap/js/bootstrap.min.js' %}"></script>
+ <script src="{% static 'qcg/cookie/jquery.cookie.min.js' %}"></script>
+ <script src="{% static 'qcg/globals.js' %}"></script>
+ <script src="{% static 'filex/underscore/underscore-min.js' %}"></script>
+ <script src="{% static 'filex/humanize/humanize-duration.js' %}"></script>
+ <script src="{% static 'better_sessions/better_sessions.js' %}"></script>
+
+ {% if user.is_authenticated %}
+ <script>
+ var psnc = psnc || {},
+ bs = new psnc.BetterSession({
+ warnAfter: {{ session_warn_after }},
+ expireAfter: {{ session_expire_after }},
+ pingUrl: '{% url 'session:ping' %}'
+ });
+ </script>
+ {% endif %}
+
{% block extra_js %}{% endblock %}
</body>
</html>
{% endblock extra_js %}
{% block body %}
+ {% include 'better_sessions/alerts.html' %}
+
{% include 'filex/upload.html' %}
{% endblock body %}