Parcourir la source

Fix misc issues with CSV import

Alexandre Aubin il y a 7 ans
Parent
commit
e5c9afe8e8
1 fichiers modifiés avec 8 ajouts et 3 suppressions
  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
             familynamematch = None
             for member in members:
+                if member.last_name == "":
+                    continue
+
                 matches = re.compile(r"(?i)(\b|_)"+re.escape(str(member.last_name))+r"(\b|_)") \
                             .findall(payment_label)
                 # If not found, try next
@@ -249,9 +252,10 @@ class Command(BaseCommand):
                     break
 
                 familynamematch = str(member.last_name)
+                usernamematch = str(member.username)
 
             if familynamematch != None:
-                payment["member_matched"] = familynamematch
+                payment["member_matched"] = usernamematch
                 #print("Matched by familyname to "+familynamematch)
                 continue
 
@@ -325,9 +329,10 @@ class Command(BaseCommand):
 
             print("Adding new payment : ")
             print(new_payment)
+
             # Create the payment
             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)