diff --git a/accounts_ext/forms.py b/accounts_ext/forms.py index a44219d..d0b8391 100644 --- a/accounts_ext/forms.py +++ b/accounts_ext/forms.py @@ -81,9 +81,16 @@ class RegistrationCompanyForm(forms.ModelForm): is_individual = forms.BooleanField(label=_('Я физическое лицо'), required=False) def save(self, user, commit=True): - self.instance.user = user - self.instance.set_company_type(self.cleaned_data['is_individual']) - return super().save(commit) + company = Company.objects.filter(user=user).first() + if not company: + company = self.instance + company.set_company_type(self.cleaned_data['is_individual']) + try: + company.save() + except Exception as e: + logger.error(e.__str__()) + raise e + return company class Meta: model = Company diff --git a/accounts_ext/models.py b/accounts_ext/models.py index 919ef29..64866fc 100644 --- a/accounts_ext/models.py +++ b/accounts_ext/models.py @@ -161,7 +161,7 @@ class Company(AbstractStatusModel): def create_user_profile(sender, instance, created, **kwargs): if created: Profile.objects.create(user=instance).save() - + Company.objects.create(user=instance).save() @receiver(user_activated) def save_activation_date(sender, user, request, **kwargs):