stub charging

This commit is contained in:
Konstantin Martini 2015-01-03 03:05:53 +01:00
parent 95a936463f
commit 756246ba46
5 changed files with 42 additions and 2 deletions

View File

@ -12,7 +12,7 @@ admin.site.register(models.Drinker, DrinkerAdmin)
class DrinkAdmin(admin.ModelAdmin):
fields = ['name', 'code', 'credit']
fields = ['name', 'code', 'prize']
list_display = ['name', 'code', 'prize']
admin.site.register(models.Drink, DrinkAdmin)

View File

@ -11,5 +11,6 @@ urlpatterns = patterns('',
(r'user/(?P<code>\d+)$', 'matecnt.views.user'),
(r'drinks/.*$', 'matecnt.views.drinks'),
(r'drink/(?P<code>\d+)$', 'matecnt.views.drink'),
(r'checkout', 'matecnt.views.checkout')
(r'checkout', 'matecnt.views.checkout'),
(r'charge', 'matecnt.views.charge')
)

View File

@ -86,6 +86,7 @@ def drinks(request):
}
return render(request, 'drinks.html', ctx)
# Actions (POSTs)
def checkout(request):
@ -107,3 +108,22 @@ def checkout(request):
}
return render(request, 'checkout.html', ctx)
def charge(request):
if not request.method == 'POST':
raise RuntimeError('only POST allowed')
try:
user = request.POST['drinker']
charge = int(request.POST['charge'])
except KeyError as ex:
return HttpResponse(status=400)
ctx = {
'heading': 'Charging: user=%r amount=%s' % (user, charge),
'drinker': get_user(user),
'amount': charge,
}
return render(request, 'charge.html', ctx)

9
templates/charge.html Normal file
View File

@ -0,0 +1,9 @@
{% extends "base.html" %}
{% block content %}
<h1>{{ heading }}</h1>
<h2>
{{drinker.name}} charges up {{amount}} units.
</h2>
{% endblock %}

View File

@ -24,4 +24,14 @@
</form>
</h2>
{% endfor %}
<h2>
charge up:
</h2>
<form action="/mate/charge" method="POST">
{% csrf_token %}
<input type="text" name="charge" value="1" size="3" />
<input type="submit" name="submit" value="Charge!" />
<input type="hidden" name="drinker" value="{{ drinker.code }}"/>
</form>
{% endblock %}