diff --git a/mycaldav/models.py b/mycaldav/models.py index 70b3917..307c913 100644 --- a/mycaldav/models.py +++ b/mycaldav/models.py @@ -235,6 +235,16 @@ class cls_caldav_client(): self.format_data_event(event) return + def get_lastName_with_MC(self,search): + print(f"search équipage 1: {search}") + user = User.objects.get(username=f"mc{search}@clerc.ch") + last_name = user.last_name + all_user_with_same_last_name = User.objects.filter(last_name=last_name) + if len(all_user_with_same_last_name) > 1: + print(f"Multiple last_name found {last_name}") + last_name = f"{user.first_name[0]}. {last_name}" + return last_name + def format_data_event(self,event): summary = event.vobject_instance.vevent.summary.value if Key_separator not in summary: @@ -250,9 +260,8 @@ class cls_caldav_client(): if "MC" not in equipage[0]: # check équipage 1 team_1 = equipage[0].strip().replace('#', '') try: - print(f"search équipage 1: {team_1}") - user = User.objects.get(username=f"mc{team_1}@clerc.ch").last_name - equipage[0] = equipage[0].replace(team_1, f"MC{team_1} {user}") + last_name = self.get_lastName_with_MC(team_1) + equipage[0] = equipage[0].replace(team_1, f"MC{team_1} {last_name}") updated = True except : print(f"Error: mc{team_1}@clerc.ch @{summary}") @@ -264,9 +273,8 @@ class cls_caldav_client(): elif "MC" not in equipage[1]: # check équipage 2 team_2 = equipage[1].strip().replace('#','') try: - print(f"search équipage 2: {team_2}") - user = User.objects.get(username=f"mc{team_2}@clerc.ch").last_name - equipage[1] = equipage[1].replace(team_2, f"MC{team_2} {user}") + last_name = self.get_lastName_with_MC(team_2) + equipage[1] = equipage[1].replace(team_2, f"MC{team_2} {last_name}") updated = True except : print(f"Error: mc{team_2}@clerc.ch @{summary}")