completed csvimport feature. see examples/members.txt

This commit is contained in:
okalintu
2016-08-15 19:42:25 +03:00
parent a64de3b177
commit b564e98c2e
4 changed files with 27 additions and 5 deletions
+4 -4
View File
@@ -56,17 +56,17 @@ class Member(models.Model):
except ValueError:
return {"status": "failure", "errors": ["could not parse csv file"]}
for row in data:
if True:
try:
obj = cls.objects.create(
first_name=row[0],
last_name=row[1],
email=row[2],
POR=row[3],
AYY=bool(row[4]),
jas=bool(row[5]),
AYY=row[4].lower() in ['yes','y','1','true',"kyllä", "khyl"],
jas=row[5].lower() in ['yes','y','1','true',"kyllä", "khyl"],
)
print("added obj {}".format(obj))
else:
except:
response["status"] = "failure"
response["errors"].append("failure adding item {}".format(", ".join(row)))
+9
View File
@@ -62,6 +62,15 @@ def member_requests(request, *args, **kwargs):
reqs = list(map(lambda r: r.get_dict(),MemberRequest.objects.all()))
return HttpResponse(json.dumps(reqs))
@ensure_csrf_cookie
def csv_import(request, *args, **kwargs):
data = request.body.decode("utf-8")
resp_data = Member.import_csv(data)
resp = HttpResponse(json.dumps(resp_data))
if resp_data['status'] == 'failure':
resp.status_code = 400
return resp
@ensure_csrf_cookie
def new_member_request(request, *args, **kwargs):
try: