From aa204aea029f35fe153b81b1f7a847b083fd9273 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 13 Oct 2011 20:51:47 +0200 Subject: [PATCH 01/16] client-barcode: Increase visibility of commit reminder --- client-barcode/freitagskasse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client-barcode/freitagskasse.py b/client-barcode/freitagskasse.py index 0d16bf5..ae4886e 100644 --- a/client-barcode/freitagskasse.py +++ b/client-barcode/freitagskasse.py @@ -146,7 +146,7 @@ class Status: warn_balance() print() - print(COLOR_SOME + 'Committen nicht vergessen.' + COLOR_RESET) + print(COLOR_MUCH + 'Committen nicht vergessen.' + COLOR_RESET) else: print('Kontostand beträgt: %s%.2f Euro%s' % (COLOR_MUCH, self.balance, COLOR_RESET)) if self.balance < 0: From 56673f9936c7ad8113e0c29b0da9935d54f49dff Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 13 Oct 2011 20:54:02 +0200 Subject: [PATCH 02/16] client-barcode: Turn "UNDO" into "STORNO" on howto sheet --- client-barcode/doc/freitagskasse.svg | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/client-barcode/doc/freitagskasse.svg b/client-barcode/doc/freitagskasse.svg index d98e018..e6d543c 100644 --- a/client-barcode/doc/freitagskasse.svg +++ b/client-barcode/doc/freitagskasse.svg @@ -16,7 +16,7 @@ inkscape:version="0.48.2 r9819" sodipodi:docname="freitagskasse.svg"> HOWTO Freitagskasse v3.1 + id="title3609">HOWTO Freitagskasse v3.2 image/svg+xml - HOWTO Freitagskasse v3.1 + HOWTO Freitagskasse v3.2 Sebastian Pipping <sebastian@pipping.org> @@ -1054,7 +1054,8 @@ id="rect3535-9" />1 Euro + id="g6092" + transform="translate(-1.09375e-6,0)"> 10 Euro + transform="translate(-3.9999988,0)"> COMMIT + transform="translate(-19.933595,0)"> UNDO + id="flowPara3537-0-75-7">STORNO Date: Thu, 13 Oct 2011 23:53:44 +0200 Subject: [PATCH 03/16] Added multi-authblob submission error msg --- k4ever/main/views.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/k4ever/main/views.py b/k4ever/main/views.py index d7167af..f517c3a 100644 --- a/k4ever/main/views.py +++ b/k4ever/main/views.py @@ -20,18 +20,20 @@ def startpage(request): allMostDrinks = allMost.filter(buyable__in=drinks).annotate(num_buys=Count('buyable')).order_by('-num_buys') allMostSnacks = allMost.filter(buyable__in=snacks).annotate(num_buys=Count('buyable')).order_by('-num_buys') - + usersMostDrinks = allMost.filter(buyable__in=drinks).filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-num_buys') usersMostSnacks = allMost.filter(buyable__in=snacks).filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-num_buys') -# usersLastDrinks = allMost.filter(buyable__in=drinks).filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-order__dateTime') -# usersLastSnacks = allMost.filter(buyable__in=snacks).filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-order__dateTime') + usersLastDrinks = allMost.filter(buyable__in=drinks).filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-order__dateTime') + usersLastSnacks = allMost.filter(buyable__in=snacks).filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-order__dateTime') + + usersLastDrinks = allMost.distinct().filter(buyable__in=drinks).filter(order__user=request.user.id).order_by('-order__dateTime') + usersLastSnacks = allMost.distinct().filter(buyable__in=snacks).filter(order__user=request.user.id).order_by('-order__dateTime') - usersLastDrinks = allMost.filter(buyable__in=drinks).filter(order__user=request.user.id).order_by('-order__dateTime') - usersLastSnacks = allMost.filter(buyable__in=snacks).filter(order__user=request.user.id).order_by('-order__dateTime') - #if someone knows a better way to do this, just replace this code #purpose: filter usersLast so that it only contains unique items + #hint: distinct() does not work because dateTime is included due to order_by(), so all items appear distinct + usersLastDrinks_unique = [] for x in usersLastDrinks: if not x in usersLastDrinks_unique: @@ -43,9 +45,10 @@ def startpage(request): for x in usersLastSnacks: if not x in usersLastSnacks_unique: usersLastSnacks_unique.append(x) + #usersLastSnacks_unique = usersLastSnacks.distinct() usersLastSnacks = usersLastSnacks_unique - return render_to_response("main/startpage.html", {'allMostDrinks' : allMostDrinks[:5], 'allMostSnacks' : allMostSnacks[:5], 'usersMostDrinks': usersMostDrinks[:5], 'usersMostSnacks': usersMostSnacks[:5], 'usersLastDrinks' : usersLastDrinks[:10], 'usersLastSnacks' : usersLastSnacks[:10]}, RequestContext(request)) + return render_to_response("main/startpage.html", {'allMostDrinks' : allMostDrinks[:5], 'allMostSnacks' : allMostSnacks[:5], 'usersMostDrinks': usersMostDrinks[:5], 'usersMostSnacks': usersMostSnacks[:5], 'usersLastDrinks' : usersLastDrinks[:5], 'usersLastSnacks' : usersLastSnacks[:5]}, RequestContext(request)) def register(request): """ The "no registration available" page... """ @@ -122,9 +125,13 @@ def pluginAuthblob(request, pluginId): d['pluginerror'] = "Der Authblob darf für dieses Plugin nicht vom User verändert werden (oder der Authblob war kaputt)" return render_to_response("settings/settings.html", d, RequestContext(request)) - if p.plugin.uniqueAuthblob and PluginPermission.objects.filter(plugin=plugin, authblob=request.POST["authblob"]).count() > 0: + pluginsWithAuthblob = PluginPermission.objects.filter(plugin=plugin, authblob=request.POST["authblob"]) + if p.plugin.uniqueAuthblob and pluginsWithAuthblob.count() > 0: d = getPluginDict(request) - d['pluginerror'] = "Achtung! Dein Authblob wird bereits von einer anderen Person benutzt. Bitte wähle einen anderen (eindeutigen) Authblob!" + if pluginsWithAuthblob[0].user == request.user: + d['pluginerror'] = "Das ist der gleiche Authblob, den du vorher auch hattest." + else: + d['pluginerror'] = "Achtung! Dein Authblob wird bereits von einer anderen Person benutzt. Bitte wähle einen anderen (eindeutigen) Authblob!" return render_to_response("settings/settings.html", d, RequestContext(request)) p.authblob = request.POST['authblob'] From e7253465d7a384245675baea66d90b12f4dab54c Mon Sep 17 00:00:00 2001 From: theresa Date: Thu, 13 Oct 2011 23:55:43 +0200 Subject: [PATCH 04/16] Beautify settings page and buying history, order items in store --- devel/TODO | 8 +- .../buyable/templates/buyables/history.html | 4 +- .../buyable/templates/buyables/showItems.html | 1 + k4ever/buyable/views.py | 11 +++ k4ever/main/templates/settings/settings.html | 80 ++++++++++--------- 5 files changed, 62 insertions(+), 42 deletions(-) diff --git a/devel/TODO b/devel/TODO index 49b7482..df39478 100644 --- a/devel/TODO +++ b/devel/TODO @@ -18,15 +18,15 @@ Todo bis release: - barcode client (sping) - pfand fuer barcode client - guter erklärender plugintext - - startseite (konrad?) + [x] startseite - beliebte items mit kaufoption, eventuell sortiert nach drei gruppen wie (Getränke, Essen, [Anderes]) oder (Getränke, Süßes, Salziges, [Anderes]) - einkaufsseite - alle items, sortierung nach preis/alphabet - suchfeld fixen (konrad?) -[x] image aspect ration checking und/oder irgendwo hinschreiben (seba) - - transaktionsseite schöner machen + [x] image aspect ration checking und/oder irgendwo hinschreiben (seba) + [x] transaktionsseite schöner machen - pluginseite (einstellungen) schöner machen - - history: items durch bilder ersetzen, pfand drunterschreiben wenn pfand... + [x] history: items durch bilder ersetzen, pfand drunterschreiben wenn pfand... - apidocs probelesen - icons auf startseite unter loginfeld - blabla zum kassensystem fuer docs (tannek, seba) diff --git a/k4ever/buyable/templates/buyables/history.html b/k4ever/buyable/templates/buyables/history.html index d777fd6..7fbc2be 100644 --- a/k4ever/buyable/templates/buyables/history.html +++ b/k4ever/buyable/templates/buyables/history.html @@ -2,7 +2,9 @@ {% block "content" %} {% if history %} -

Frühere Einkäufe von {{ user }}

+
+

Frühere Einkäufe von {{ user }}

+