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
|
return national_code
|
||||||
|
|
||||||
def save(self, commit=True):
|
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)
|
# Check if this is an update (instance exists)
|
||||||
if self.instance and self.instance.pk:
|
if self.instance and self.instance.pk:
|
||||||
# Update existing profile
|
# Update existing profile
|
||||||
|
@ -108,6 +121,18 @@ class CustomerForm(forms.ModelForm):
|
||||||
profile.affairs = current_user_profile.affairs
|
profile.affairs = current_user_profile.affairs
|
||||||
profile.county = current_user_profile.county
|
profile.county = current_user_profile.county
|
||||||
profile.broker = current_user_profile.broker
|
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:
|
if commit:
|
||||||
profile.save()
|
profile.save()
|
||||||
|
@ -142,6 +167,18 @@ class CustomerForm(forms.ModelForm):
|
||||||
profile.affairs = current_user_profile.affairs
|
profile.affairs = current_user_profile.affairs
|
||||||
profile.county = current_user_profile.county
|
profile.county = current_user_profile.county
|
||||||
profile.broker = current_user_profile.broker
|
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:
|
if commit:
|
||||||
profile.save()
|
profile.save()
|
||||||
|
|
|
@ -19,6 +19,9 @@ def login_view(request):
|
||||||
renders login page and authenticating user POST requests
|
renders login page and authenticating user POST requests
|
||||||
to log user in
|
to log user in
|
||||||
"""
|
"""
|
||||||
|
# If already authenticated, go straight to request list
|
||||||
|
if request.user.is_authenticated:
|
||||||
|
return redirect("processes:request_list")
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
username = request.POST.get("username")
|
username = request.POST.get("username")
|
||||||
password = request.POST.get("password")
|
password = request.POST.get("password")
|
||||||
|
|
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue