diff --git a/temii/templates/users/user_detail.html b/temii/templates/users/user_detail.html
index 79b8233..b477080 100644
--- a/temii/templates/users/user_detail.html
+++ b/temii/templates/users/user_detail.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-{% load static %}
+{% load static i18n %}
{% block title %}User: {{ object.username }}{% endblock %}
@@ -13,6 +13,12 @@
diff --git a/temii/templates/users/user_form.html b/temii/templates/users/user_form.html
index 467357a..49b1576 100644
--- a/temii/templates/users/user_form.html
+++ b/temii/templates/users/user_form.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-{% load crispy_forms_tags %}
+{% load crispy_forms_tags i18n %}
{% block title %}{{ user.username }}{% endblock %}
@@ -10,7 +10,7 @@
{{ user.username }}
{{ form|crispy }}
-
+
diff --git a/temii/users/forms.py b/temii/users/forms.py
index c0946bf..395b0cf 100644
--- a/temii/users/forms.py
+++ b/temii/users/forms.py
@@ -3,6 +3,8 @@
from django.contrib.auth import forms as admin_forms
from django.contrib.auth import get_user_model
from django.utils.translation import gettext_lazy as _
+from django import forms
+
User = get_user_model()
@@ -31,7 +33,14 @@ class UserSignupForm(SignupForm):
Default fields will be added automatically.
Check UserSocialSignupForm for accounts created from social.
"""
-
+ phone = forms.CharField(max_length=20, label=_("Phone"), required=False)
+ bio = forms.CharField(max_length=255, label=_("Bio"), required=False)
+ def save(self, request):
+ user = super(UserSignupForm, self).save(request)
+ user.phone = self.cleaned_data['phone']
+ user.bio = self.cleaned_data['bio']
+ user.save()
+ return user
class UserSocialSignupForm(SocialSignupForm):
"""
diff --git a/temii/users/migrations/0002_user_bio_user_phone.py b/temii/users/migrations/0002_user_bio_user_phone.py
new file mode 100644
index 0000000..365c827
--- /dev/null
+++ b/temii/users/migrations/0002_user_bio_user_phone.py
@@ -0,0 +1,22 @@
+# Generated by Django 4.1.8 on 2023-08-12 01:57
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ("users", "0001_initial"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="user",
+ name="phone",
+ field=models.CharField(blank=True, max_length=20, verbose_name="Phone"),
+ ),
+ migrations.AddField(
+ model_name="user",
+ name="bio",
+ field=models.CharField(blank=True, max_length=255, verbose_name="Bio"),
+ ),
+ ]
diff --git a/temii/users/models.py b/temii/users/models.py
index 376ff22..a006edc 100644
--- a/temii/users/models.py
+++ b/temii/users/models.py
@@ -15,6 +15,8 @@ class User(AbstractUser):
name = CharField(_("Name of User"), blank=True, max_length=255)
first_name = None # type: ignore
last_name = None # type: ignore
+ phone = CharField(_("Phone"), blank=True, max_length=20)
+ bio = CharField(_("Bio"), blank=True, max_length=255)
def get_absolute_url(self) -> str:
"""Get URL for user's detail view.
diff --git a/temii/users/views.py b/temii/users/views.py
index 5b7bc89..a649f39 100644
--- a/temii/users/views.py
+++ b/temii/users/views.py
@@ -19,7 +19,7 @@ class UserDetailView(LoginRequiredMixin, DetailView):
class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
model = User
- fields = ["name"]
+ fields = ["name", "phone", "bio"]
success_message = _("Information successfully updated")
def get_success_url(self):