aboutsummaryrefslogtreecommitdiff
path: root/users/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'users/forms.py')
-rw-r--r--users/forms.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/users/forms.py b/users/forms.py
index aebad567..5ef95543 100644
--- a/users/forms.py
+++ b/users/forms.py
@@ -65,3 +65,34 @@ class RegisterForm(forms.Form):
return user
+
+class UpdateUserDetailsForm(forms.Form):
+ first_name = forms.CharField(label='First name', max_length=30, required=False, widget=forms.TextInput(attrs={'placeholder': 'First name'}))
+ last_name = forms.CharField(label='Last name', max_length=30, required=False, widget=forms.TextInput(attrs={'placeholder': 'Last name'}))
+ location = forms.CharField(label='Location', max_length=30, required=False, widget=forms.TextInput(attrs={'placeholder': 'Location'}))
+ bio = forms.CharField(label='Bio', max_length=500, required=False, widget=forms.Textarea(attrs={'placeholder': 'Bio'}))
+ is_public = forms.ChoiceField(label='Activity Visibility', choices=((True, 'Public'), (False, 'Private')), widget=forms.RadioSelect)
+ email_public = forms.ChoiceField(label='Email Visibility', choices=((True, 'Public'), (False, 'Private')), widget=forms.RadioSelect)
+
+
+ def __init__(self, *args, **kwargs):
+ self.user = kwargs.pop('user')
+ super().__init__(*args, **kwargs)
+
+ def clean(self):
+ cleaned_data = super().clean()
+ return cleaned_data
+
+ def save(self):
+ self.user.first_name = self.cleaned_data.get('first_name')
+ self.user.last_name = self.cleaned_data.get('last_name')
+ self.user.save()
+
+ user_profile = UserProfile.objects.get(user=self.user)
+ user_profile.location = self.cleaned_data.get('location')
+ user_profile.bio = self.cleaned_data.get('bio')
+ user_profile.is_public = self.cleaned_data.get('is_public')
+ user_profile.email_public = self.cleaned_data.get('email_public')
+ user_profile.save()
+
+ return (self.user, user_profile) \ No newline at end of file