Browse Source

Added a context processor to precalculate user/account information required on most pages

master
Niklas Brachmann 11 years ago
parent
commit
7618a28085
  1. 17
      cash/templates/cash/base.html
  2. 19
      cash/views.py
  3. 4
      lugcash2/settings.py

17
cash/templates/cash/base.html

@ -81,14 +81,15 @@ DEVELOPMENT @@ -81,14 +81,15 @@ DEVELOPMENT
{% if user.is_authenticated and user.account %}
<div id="infoboxleft">
<span class="small-gray">Username:</span><br/>
<span class="big"><b>{{ user.username }}</b></span><br/><br/>
<span class="big"><b>{{ account.username }}</b></span><br/><br/>
<span class="small-gray">Guthaben:</span><br/>
<span class="big" id="credit"{% if user.account.credit < 0 %} style="color: red"{% endif %}><b>{{ user.account.credit|floatformat:2 }} &euro;</b></span><br/>
{% if user.account.credit < 5 %}
<span class="small-gray" style="color: #FF5252">Achtung! Nur noch {{ user.account.credit|floatformat:2 }} &euro; bis zum Schuldenlimit.</span>
<span class="big" id="credit"{% if account.credit < 0 %} style="color: red"{% endif %}><b>{{ account.credit|floatformat:2 }} &euro;</b></span><br/>
{% if account.max_credit < 5 %}
<span class="small-gray" style="color: #FF5252">Achtung! Nur noch {{ account.max_credit|floatformat:2 }} &euro; bis zum Schuldenlimit.</span>
{% endif %}
</div>
<span class="small-gray">Funktionen</span><br/>
<div class="menulink"><a class="menulink" href="/">Übersicht</a></div>
<div class="menulink"><a class="menulink" href="/buy/">Kaufen</a></div>
<div class="menulink"><a class="menulink" href="/statment/">Kontoauszug</a></div>
@ -102,6 +103,14 @@ DEVELOPMENT @@ -102,6 +103,14 @@ DEVELOPMENT
<h1>Konto - Übersicht</h1>
<table>
<tr><th>Username:</th><td>{{ account.username }}</td></tr>
<tr><th>Realer Name:</th><td>{{ account.first_name }} {{ account.last_name }}</td></tr>
<tr><th>Ausweis-Nr.:</th><td>{{ account.card_number }}</td></tr>
<tr><th>Guthaben:</th><td{% if account.credit < 0 %} style="color: red"{% endif %}>{{ account.credit|floatformat:2 }} &euro;</td></tr>
<tr><th>Betrag bis Schuldenlimit:</th><td>{{ account.max_credit|floatformat:2 }} &euro;</td></tr>
</table>
{% endblock %}
</div>
<div id="contentclear"></div>

19
cash/views.py

@ -3,6 +3,25 @@ from django.shortcuts import render_to_response @@ -3,6 +3,25 @@ from django.shortcuts import render_to_response
from django.template import RequestContext
from cash.models import *
def user_context_processor(request):
ret = {}
if request.user.is_authenticated():
try:
u = request.user
a = request.user.account
ret['username'] = u.username
ret['first_name'] = u.first_name
ret['last_name'] = u.last_name
ret['credit'] = a.credit / 100
ret['max_credit'] = (a.credit + 3500) / 100
ret['card_number'] = a.card_number
return {'account': ret}
except:
pass
return ret
def overview(request):
return render_to_response('cash/index.html', context_instance=RequestContext(request))

4
lugcash2/settings.py

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
from django.conf import global_settings
# Django settings for lugcash2 project.
DEBUG = True
@ -159,3 +161,5 @@ LOGGING = { @@ -159,3 +161,5 @@ LOGGING = {
LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + ('cash.views.user_context_processor',)

Loading…
Cancel
Save