summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2019-03-21 18:49:26 +0100
committerMarcello Stanisci <stanisci.m@gmail.com>2019-03-21 18:49:26 +0100
commita3e7f9d9ea77f5b3ca7b8547f3854eb149e1c6c8 (patch)
treed4f3bc012ab35cb49432b6cd1799ec044cba6b8d
parent105f09c912fcb7ad9eab24210447e24aa895cafb (diff)
downloadbank-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.in4
-rw-r--r--talerbank/app/views.py17
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 = []