Browse Source

Fix misc issues with CSV import

Alexandre Aubin 7 years ago
parent
commit
e5c9afe8e8
1 changed files with 8 additions and 3 deletions
  1. 8 3
      coin/billing/management/commands/import_payments_from_csv.py

+ 8 - 3
coin/billing/management/commands/import_payments_from_csv.py

@@ -233,6 +233,9 @@ class Command(BaseCommand):
             # Third, attempt to match by family name
             # Third, attempt to match by family name
             familynamematch = None
             familynamematch = None
             for member in members:
             for member in members:
+                if member.last_name == "":
+                    continue
+
                 matches = re.compile(r"(?i)(\b|_)"+re.escape(str(member.last_name))+r"(\b|_)") \
                 matches = re.compile(r"(?i)(\b|_)"+re.escape(str(member.last_name))+r"(\b|_)") \
                             .findall(payment_label)
                             .findall(payment_label)
                 # If not found, try next
                 # If not found, try next
@@ -249,9 +252,10 @@ class Command(BaseCommand):
                     break
                     break
 
 
                 familynamematch = str(member.last_name)
                 familynamematch = str(member.last_name)
+                usernamematch = str(member.username)
 
 
             if familynamematch != None:
             if familynamematch != None:
-                payment["member_matched"] = familynamematch
+                payment["member_matched"] = usernamematch
                 #print("Matched by familyname to "+familynamematch)
                 #print("Matched by familyname to "+familynamematch)
                 continue
                 continue
 
 
@@ -325,9 +329,10 @@ class Command(BaseCommand):
 
 
             print("Adding new payment : ")
             print("Adding new payment : ")
             print(new_payment)
             print(new_payment)
+
             # Create the payment
             # Create the payment
             payment = Payment.objects.create(amount=float(new_payment["amount"]),
             payment = Payment.objects.create(amount=float(new_payment["amount"]),
-                                             label=new_payment["label"].encode('utf-8'),
-                                             date=new_payment["date"].encode('utf-8'),
+                                             label=new_payment["label"],
+                                             date=new_payment["date"],
                                              member=member)
                                              member=member)