initial
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
from django import forms
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.forms import UserCreationForm
|
||||
from django.contrib.auth.forms import PasswordChangeForm
|
||||
from accounts.models import *
|
||||
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
# User Profile Form #
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
class UserProfileForm(forms.ModelForm):
|
||||
role = forms.ChoiceField(choices=get_user_model().Role.choices, required=False)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if 'instance' in kwargs:
|
||||
user = kwargs['instance'].user
|
||||
self.fields['role'].initial = user.role
|
||||
self.fields['role'].choices = get_user_model().Role.choices
|
||||
|
||||
class Meta:
|
||||
model = UserProfile
|
||||
fields = ('profile_picture', 'name', 'slug', 'role', 'email', 'phone', 'address', 'city', 'state', 'country', 'zipcode', 'facebook', 'instagram', 'linkedin')
|
||||
widgets = {
|
||||
'profile_picture': forms.ClearableFileInput(attrs={'class': 'form-control'}),
|
||||
'name': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'slug': forms.TextInput(attrs={'class': 'form-control', 'readonly': 'readonly'}),
|
||||
'email': forms.EmailInput(attrs={'class': 'form-control'}),
|
||||
'phone': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'role': forms.Select(attrs={'class': 'form-select'}),
|
||||
'address': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'city': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'state': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'country': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'zipcode': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'facebook': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'instagram': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'linkedin': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
}
|
||||
def save(self, commit=True):
|
||||
instance = super().save(commit=False)
|
||||
if commit:
|
||||
user = instance.user
|
||||
user.role = self.cleaned_data['role']
|
||||
user.save()
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
# User Creation Form #
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
class CustomUserCreationForm(UserCreationForm):
|
||||
name = forms.CharField(max_length=255)
|
||||
email = forms.EmailField(widget=forms.EmailInput(attrs={'class': 'form-control'}))
|
||||
role = forms.ChoiceField(choices=[], widget=forms.Select(attrs={'class': 'form-select'}))
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['role'].choices = get_user_model().Role.choices
|
||||
|
||||
class Meta:
|
||||
model = get_user_model()
|
||||
fields = ['name', 'username', 'password1', 'password2', 'email', 'role']
|
||||
widgets = {
|
||||
'name': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'username': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'password1': forms.PasswordInput(attrs={'class': 'form-control'}),
|
||||
'password2': forms.PasswordInput(attrs={'class': 'form-control'}),
|
||||
}
|
||||
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
# Password Form #
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
class UserPasswordChangeForm(PasswordChangeForm):
|
||||
class Meta:
|
||||
model = User
|
||||
Reference in New Issue
Block a user