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