diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2019-03-21 18:49:26 +0100 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2019-03-21 18:49:26 +0100 |
commit | a3e7f9d9ea77f5b3ca7b8547f3854eb149e1c6c8 (patch) | |
tree | d4f3bc012ab35cb49432b6cd1799ec044cba6b8d | |
parent | 105f09c912fcb7ad9eab24210447e24aa895cafb (diff) | |
download | bank-a3e7f9d9ea77f5b3ca7b8547f3854eb149e1c6c8.tar.gz bank-a3e7f9d9ea77f5b3ca7b8547f3854eb149e1c6c8.tar.bz2 bank-a3e7f9d9ea77f5b3ca7b8547f3854eb149e1c6c8.zip |
"/history" new policy for 'start' default.
That defaults to UIN64_MAX when delta is negative,
whereas it defaults to 0 with positive deltas.
-rw-r--r-- | taler-bank-manage.in | 4 | ||||
-rw-r--r-- | talerbank/app/views.py | 17 |
2 files changed, 14 insertions, 7 deletions
diff --git a/taler-bank-manage.in b/taler-bank-manage.in index d5c1dea..82f4156 100644 --- a/taler-bank-manage.in +++ b/taler-bank-manage.in @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + ## # This file is part of TALER # (C) 2017 INRIA @@ -19,8 +21,6 @@ # @author Florian Dold # @file CLI tool to manage all the bank's tasks. -#!/usr/bin/env python3 - import argparse import django import sys 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 = [] |