fix complete profile for new user
This commit is contained in:
parent
f95beb726f
commit
855ad3912c
3 changed files with 40 additions and 0 deletions
|
@ -90,6 +90,19 @@ class CustomerForm(forms.ModelForm):
|
|||
return national_code
|
||||
|
||||
def save(self, commit=True):
|
||||
def _compute_completed(cleaned):
|
||||
try:
|
||||
first_ok = bool((cleaned.get('first_name') or '').strip())
|
||||
last_ok = bool((cleaned.get('last_name') or '').strip())
|
||||
nc_ok = bool((cleaned.get('national_code') or '').strip())
|
||||
phone_ok = bool((cleaned.get('phone_number_1') or '').strip() or (cleaned.get('phone_number_2') or '').strip())
|
||||
addr_ok = bool((cleaned.get('address') or '').strip())
|
||||
bank_ok = bool(cleaned.get('bank_name'))
|
||||
card_ok = bool((cleaned.get('card_number') or '').strip())
|
||||
acc_ok = bool((cleaned.get('account_number') or '').strip())
|
||||
return all([first_ok, last_ok, nc_ok, phone_ok, addr_ok, bank_ok, card_ok, acc_ok])
|
||||
except Exception:
|
||||
return False
|
||||
# Check if this is an update (instance exists)
|
||||
if self.instance and self.instance.pk:
|
||||
# Update existing profile
|
||||
|
@ -108,6 +121,18 @@ class CustomerForm(forms.ModelForm):
|
|||
profile.affairs = current_user_profile.affairs
|
||||
profile.county = current_user_profile.county
|
||||
profile.broker = current_user_profile.broker
|
||||
# Set completion flag based on provided form data
|
||||
profile.is_completed = _compute_completed({
|
||||
'first_name': user.first_name,
|
||||
'last_name': user.last_name,
|
||||
'national_code': self.cleaned_data.get('national_code'),
|
||||
'phone_number_1': self.cleaned_data.get('phone_number_1'),
|
||||
'phone_number_2': self.cleaned_data.get('phone_number_2'),
|
||||
'address': self.cleaned_data.get('address'),
|
||||
'bank_name': self.cleaned_data.get('bank_name'),
|
||||
'card_number': self.cleaned_data.get('card_number'),
|
||||
'account_number': self.cleaned_data.get('account_number'),
|
||||
})
|
||||
|
||||
if commit:
|
||||
profile.save()
|
||||
|
@ -142,6 +167,18 @@ class CustomerForm(forms.ModelForm):
|
|||
profile.affairs = current_user_profile.affairs
|
||||
profile.county = current_user_profile.county
|
||||
profile.broker = current_user_profile.broker
|
||||
# Set completion flag based on provided form data
|
||||
profile.is_completed = _compute_completed({
|
||||
'first_name': user.first_name,
|
||||
'last_name': user.last_name,
|
||||
'national_code': self.cleaned_data.get('national_code'),
|
||||
'phone_number_1': self.cleaned_data.get('phone_number_1'),
|
||||
'phone_number_2': self.cleaned_data.get('phone_number_2'),
|
||||
'address': self.cleaned_data.get('address'),
|
||||
'bank_name': self.cleaned_data.get('bank_name'),
|
||||
'card_number': self.cleaned_data.get('card_number'),
|
||||
'account_number': self.cleaned_data.get('account_number'),
|
||||
})
|
||||
|
||||
if commit:
|
||||
profile.save()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue