diff --git a/inventory/models.py b/inventory/models.py index 5230c383..665e1db7 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -1502,7 +1502,7 @@ class Customer(models.Model): CustomerModel, on_delete=models.SET_NULL, null=True ) user = models.OneToOneField( - User, on_delete=models.CASCADE, related_name="customer_profile" + User, on_delete=models.CASCADE, related_name="customer_profile", null=True, blank=True ) title = models.CharField( choices=Title.choices, default=Title.NA, max_length=10, verbose_name=_("Title") @@ -1649,22 +1649,22 @@ class Customer(models.Model): def deactivate_account(self): self.active = False self.customer_model.active = False - self.user.is_active = False + # self.user.is_active = False self.customer_model.save() - self.user.save() + # self.user.save() self.save() def activate_account(self): self.active = True self.customer_model.active = True - self.user.is_active = True + # self.user.is_active = True self.customer_model.save() - self.user.save() + # self.user.save() self.save() def permenant_delete(self): self.customer_model.delete() - self.user.delete() + # self.user.delete() self.delete() @@ -1676,7 +1676,7 @@ class Organization(models.Model, LocalizedNameMixin): CustomerModel, on_delete=models.SET_NULL, null=True ) user = models.OneToOneField( - User, on_delete=models.CASCADE, related_name="organization_profile" + User, on_delete=models.CASCADE, related_name="organization_profile", null=True, blank=True ) name = models.CharField(max_length=255, verbose_name=_("Name")) arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name")) @@ -1799,13 +1799,13 @@ class Organization(models.Model, LocalizedNameMixin): def activate_account(self): self.active = True self.customer_model.active = True - self.user.is_active = True + # self.user.is_active = True self.customer_model.save() - self.user.save() + # self.user.save() self.save() def permenant_delete(self): - self.user.delete() + # self.user.delete() self.customer_model.delete() self.delete() diff --git a/inventory/views.py b/inventory/views.py index b8b7ba0c..0739c1af 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -2485,31 +2485,31 @@ class CustomerCreateView( return redirect("customer_create") dealer = get_user_type(self.request) form.instance.dealer = dealer - try: - user = form.instance.create_user_model() - logger.info( - f"Successfully created Customer with '{user.username}' (ID: {user.id}) " - f"with email '{user.email}' for dealer '{dealer.name}'." - ) - except IntegrityError as e: - if "UNIQUE constraint" in str(e): - messages.error(self.request, _("Email already exists")) - logger.info( - f"Attempted to create user with existing email '{form.instance.email}' " - f"for dealer '{dealer.name}'. Message: '{e}'" - ) - else: - logger.error( - f"An unexpected IntegrityError occurred while creating user(customer) with email '{form.instance.email}' " - f"for dealer '{dealer.name}'. Error: {e}", - exc_info=True, - ) - messages.error(self.request, str(e)) - return redirect("customer_create") + # try: + # user = form.instance.create_user_model() + # logger.info( + # f"Successfully created Customer with '{user.username}' (ID: {user.id}) " + # f"with email '{user.email}' for dealer '{dealer.name}'." + # ) + # except IntegrityError as e: + # if "UNIQUE constraint" in str(e): + # messages.error(self.request, _("Email already exists")) + # logger.info( + # f"Attempted to create user with existing email '{form.instance.email}' " + # f"for dealer '{dealer.name}'. Message: '{e}'" + # ) + # else: + # logger.error( + # f"An unexpected IntegrityError occurred while creating user(customer) with email '{form.instance.email}' " + # f"for dealer '{dealer.name}'. Error: {e}", + # exc_info=True, + # ) + # messages.error(self.request, str(e)) + # return redirect("customer_create") customer = form.instance.create_customer_model() - form.instance.user = user - # form.instance.customer_model = customer + # form.instance.user = user + form.instance.customer_model = customer return super().form_valid(form) @@ -2554,7 +2554,7 @@ class CustomerUpdateView( success_message = _("Customer updated successfully") def form_valid(self, form): - form.instance.update_user_model() + # form.instance.update_user_model() form.instance.update_customer_model() return super().form_valid(form) @@ -3690,9 +3690,9 @@ class OrganizationCreateView(LoginRequiredMixin, PermissionRequiredMixin, Create return redirect("organization_create") dealer = get_user_type(self.request) form.instance.dealer = dealer - user = form.instance.create_user_model() + # user = form.instance.create_user_model() customer = form.instance.create_customer_model() - form.instance.user = user + # form.instance.user = user form.instance.customer_model = customer return super().form_valid(form) @@ -3729,7 +3729,7 @@ class OrganizationUpdateView(LoginRequiredMixin, PermissionRequiredMixin, Update success_message = _("Organization updated successfully") def form_valid(self, form): - form.instance.update_user_model() + # form.instance.update_user_model() form.instance.update_customer_model() return super().form_valid(form)