from django import forms
from .models import User_Profile
from django.contrib.auth.forms import UserChangeForm,PasswordChangeForm,UserCreationForm
from django.contrib.auth import password_validation

class Update_Profile_Form(UserChangeForm):
    class Meta:
        model = User_Profile
        fields = ['profile_pic','first_name','last_name','email','phone','job_title','address','organisation']
        widgets = {
            'email':forms.EmailInput(attrs={'class':'form-control','required':'required'}),
            'first_name':forms.TextInput(attrs={'class':'form-control','required':'required'}),
            'last_name':forms.TextInput(attrs={'class':'form-control','required':'required'}),
            'phone':forms.TextInput(attrs={'class':'form-control','required':'required'}),
            'job_title':forms.TextInput(attrs={'class':'form-control'}),
            'address':forms.TextInput(attrs={'class':'form-control','rows': 4, 'cols': 8}),
            'organisation':forms.TextInput(attrs={'class':'form-control'}),
        }
    
class Add_User_Form(UserCreationForm):
    password1 = forms.CharField(label='Password', widget=forms.PasswordInput(attrs={'class':'form-control','placeholder':'Your Password'}))
    password2 = forms.CharField(label='Confirm Password', widget=forms.PasswordInput(attrs={'class':'form-control','placeholder':'Confirm Your Password'}))
    class Meta:
        model = User_Profile
        fields = ['profile_pic','first_name','last_name','email','phone','job_title','organisation','address','password1','password2']
        lables = {'email':'Email Address','first_name':'First Name','last_name':'Last Name','phone':'Phone Number',
                  }
        widgets = {
            'email':forms.EmailInput(attrs={'class':'form-control','required':'required','placeholder':'Your Email Address'}),
            'first_name':forms.TextInput(attrs={'class':'form-control','required':'required','placeholder':'Your First Name'}),
            'last_name':forms.TextInput(attrs={'class':'form-control','required':'required','placeholder':'Your Last Name'}),
            'phone':forms.TextInput(attrs={'class':'form-control','required':'required','placeholder':'Your Phone Number'}),
            'job_title':forms.TextInput(attrs={'class':'form-control','placeholder':'Your Job title'}),
            'organisation':forms.TextInput(attrs={'class':'form-control','placeholder':'Your Organisation Name'}),
            'address':forms.TextInput(attrs={'class':'form-control','placeholder':'Your Address'}),
            
        }

class ChangePasswordForm(PasswordChangeForm):
    old_password = forms.CharField(label=("Old Password"), strip=False, widget=forms.PasswordInput
            (attrs={'autocomplete':'current-password','autofocus':True, 'class':'form-control','placeholder':"Enter Password"}))
    new_password1 = forms.CharField(label=("New Password"), strip=False, widget=forms.PasswordInput
            (attrs={'autocomplete':'new-password', 'class':'form-control','placeholder':"Enter Password"}),
            help_text=password_validation.password_validators_help_text_html())
    new_password2 = forms.CharField(label=("Confirm New Password"), strip=False, widget=forms.PasswordInput
            (attrs={'autocomplete':'new-password', 'class':'form-control','placeholder':"Enter Password"}))
