From dab37d8af54002f53362f03415f816f948bdd0fd Mon Sep 17 00:00:00 2001 From: frekk <frekk@ucc.asn.au> Date: Mon, 4 Mar 2019 01:12:48 +0800 Subject: [PATCH] fix bugs breaking the cokelog sync function --- src/memberdb/actions.py | 4 ++-- src/squarepay/cokelog.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/memberdb/actions.py b/src/memberdb/actions.py index 82b9b8b..bb9a584 100644 --- a/src/memberdb/actions.py +++ b/src/memberdb/actions.py @@ -129,14 +129,14 @@ def refresh_dispense_payment(modeladmin, request, queryset): num_changed = 0 membership_list = list(queryset) for ms in membership_list: - if ms.date_paid is not None: + if ms.date_paid is not None or ms.username == '' or ms.username is None: continue if try_update_from_dispense(ms): ms.save() num_changed += 1 if num_changed > 0: - messages.success(request, "Updated %d records" % num_changed) + messages.success(request, "Updated %d records of %d total" % (num_changed, len(membership_list))) else: messages.warning(request, "No records updated") diff --git a/src/squarepay/cokelog.py b/src/squarepay/cokelog.py index e25acf4..01748af 100644 --- a/src/squarepay/cokelog.py +++ b/src/squarepay/cokelog.py @@ -75,7 +75,7 @@ class CokeLog: self.last_offset = self.file.tell() def get_last_dispense(self, username, item_code=None, dispense_by=None): - if self.dispenses is None: + if self.dispenses is None or not username in self.dispenses: return None for r in reversed(self.dispenses[username]): @@ -105,7 +105,6 @@ def try_update_from_dispense(membership): ms_disp = member_cokelog.get_last_dispense( membership.member.username, membership.get_dispense_item(), - None, ) if ms_disp is not None: -- GitLab