diff options
author | Andrea Lepori <alepori@student.ethz.ch> | 2022-08-06 20:46:55 +0200 |
---|---|---|
committer | Andrea Lepori <alepori@student.ethz.ch> | 2022-08-06 20:46:55 +0200 |
commit | 71a94b17713e945b4e27dc051591127a7d4c8478 (patch) | |
tree | 0ea25675d04a7f8bd69b168a33bf85fededda17c /server/views.py | |
parent | fix pdf extension upper case (diff) | |
download | scout-subs-71a94b17713e945b4e27dc051591127a7d4c8478.tar.gz scout-subs-71a94b17713e945b4e27dc051591127a7d4c8478.zip |
fix incorect parsing of approval code
Diffstat (limited to '')
-rw-r--r-- | server/views.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/server/views.py b/server/views.py index a54c588..7643bee 100644 --- a/server/views.py +++ b/server/views.py @@ -123,10 +123,9 @@ def uapprove(request): # parse text to array
data = request.POST["codes"]
- data = data.split("\n")
+ data = split_codes(data)
# check if format is right
for i in range(len(data)):
- data[i] = data[i].replace("\r", "")
if not data[i].startswith("U"):
data[i] = data[i] + " - Formato errato"
elif not data[i][1:].isdigit():
@@ -159,6 +158,22 @@ def uapprove(request): return render(request, 'server/approve_user.html', context)
+def split_codes(str):
+ out = []
+ buffer = ""
+ for i in str:
+ if i.isdigit() or i == "U":
+ buffer += i
+ continue
+
+ if i == "\n":
+ out.append(buffer)
+ buffer = ""
+
+ if buffer != "":
+ out.append(buffer)
+
+ return out
@user_passes_test(isStaff)
def docapprove(request):
@@ -174,8 +189,7 @@ def docapprove(request): if request.method == "POST":
# parse text in array
data = request.POST["codes"]
- data.replace("\r", "")
- data = data.split("\n")
+ data = split_codes(data)
# check if code valid
for i in range(len(data)):
if not data[i].isdigit():
|