diff options
Diffstat (limited to 'talerbank/app/views.py')
-rw-r--r-- | talerbank/app/views.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/talerbank/app/views.py b/talerbank/app/views.py index d3ff283..6d87e22 100644 --- a/talerbank/app/views.py +++ b/talerbank/app/views.py @@ -49,7 +49,7 @@ LOGGER = logging.getLogger(__name__) # Constant value for the biggest number the bank handles. # This value is just equal to the biggest number that JavaScript # can handle (because of the wallet). -MAX_UINT64 = (2**64) - 1 +UINT64_MAX = (2**64) - 1 ## @@ -462,7 +462,7 @@ def logout_view(request): def extract_history(account, descending, delta=None, - start=MAX_UINT64, + start=UINT64_MAX, sign="+"): history = [] qs = query_history(account, "both", delta, start, sign, True) @@ -630,19 +630,26 @@ def query_history(bank_account, @login_via_headers def serve_history(request, user_account): validate_data(request, request.GET.dict()) - # delta + + # delta (it does exist: enforced by the check above.) parsed_delta = re.search(r"([\+-])?([0-9]+)", request.GET.get("delta")) + # normalize the sign. sign = parsed_delta.group(1) + sign = sign if sign else "+" # Ordering. ordering = request.GET.get("ordering", "descending") + start = request.GET.get("start") + + if not start: + start = 0 if "+" == sign else UINT64_MAX qs = query_history(user_account.bankaccount, request.GET.get("direction"), int(parsed_delta.group(2)), - int(request.GET.get("start", MAX_UINT64)), - sign if sign else "+", + int(start), + sign, "descending" == ordering) history = [] |