aboutsummaryrefslogtreecommitdiff
path: root/apps/accounts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/accounts')
-rw-r--r--apps/accounts/forms.py11
-rw-r--r--apps/accounts/migrations/0002_auto_20190108_2115.py35
-rw-r--r--apps/accounts/models.py12
-rw-r--r--apps/accounts/urls.py6
-rw-r--r--apps/accounts/views.py2
5 files changed, 60 insertions, 6 deletions
diff --git a/apps/accounts/forms.py b/apps/accounts/forms.py
index d53e754..2da08cb 100644
--- a/apps/accounts/forms.py
+++ b/apps/accounts/forms.py
@@ -1,4 +1,5 @@
from django import forms
+from django.utils.translation import ugettext_lazy as _
from django_registration.forms import RegistrationForm
from .models import User, UserProfile
@@ -12,7 +13,15 @@ class UserForm(RegistrationForm):
class ProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
- fields = '__all__'
+ fields = ['bio', 'photo', 'website']
+ labels = {
+ "photo": _("Profile photo"),
+ "bio": _("Bio. A little about you. links are fine, line breaks are not. Keep it short and sweet, 350 characters max"),
+ "website": _("If you have a personal website, plug it in here."),
+ }
+ widgets = {
+ 'bio': forms.Textarea(attrs={'cols': 104, 'rows': 10, 'class': 'textarea-rounded'}),
+ }
def __init__(self, *args, **kwargs):
self.user = kwargs.pop("user", None)
diff --git a/apps/accounts/migrations/0002_auto_20190108_2115.py b/apps/accounts/migrations/0002_auto_20190108_2115.py
new file mode 100644
index 0000000..1ebb280
--- /dev/null
+++ b/apps/accounts/migrations/0002_auto_20190108_2115.py
@@ -0,0 +1,35 @@
+# Generated by Django 2.1.2 on 2019-01-09 03:15
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('accounts', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='userprofile',
+ name='bio',
+ field=models.CharField(blank=True, default='', max_length=350),
+ ),
+ migrations.AlterField(
+ model_name='userprofile',
+ name='location',
+ field=models.CharField(blank=True, default='', max_length=300),
+ ),
+ migrations.AlterField(
+ model_name='userprofile',
+ name='user',
+ field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL),
+ ),
+ migrations.AlterField(
+ model_name='userprofile',
+ name='website',
+ field=models.CharField(blank=True, default='', max_length=300),
+ ),
+ ]
diff --git a/apps/accounts/models.py b/apps/accounts/models.py
index 1b62ffd..feb20bf 100644
--- a/apps/accounts/models.py
+++ b/apps/accounts/models.py
@@ -1,4 +1,5 @@
from django.db import models
+from django.urls import reverse
from django.contrib.auth.models import AbstractUser
from django.utils.functional import cached_property
@@ -15,15 +16,18 @@ class User(AbstractUser):
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
photo = models.ImageField(upload_to='profile', null=True, blank=True)
- website = models.CharField(max_length=300, null=True, blank=True, default='')
- location = models.CharField(max_length=300, null=True, blank=True, default='')
- bio = models.TextField(null=True, blank=True, default='')
+ website = models.CharField(max_length=300, blank=True, default='')
+ location = models.CharField(max_length=300, blank=True, default='')
+ bio = models.CharField(max_length=350, blank=True, default='')
+ #default_note_folder = models.ForeignKey('notes.Notebook', null=True, on_delete=models.SET_NULL)
#default_note_public = models.BooleanField(default=False)
- #default_note_folder = models.ForeignKey('notes.Folder', null=True, on_delete=models.SET_NULL)
def __str__(self):
return self.user.username
+ def get_absolute_url(self):
+ return reverse("accounts:settings")
+
@cached_property
def get_notebook_list(self):
return Notebook.objects.filter(owner=self.user).select_related().annotate(note_count=models.Count('note'))[:8]
diff --git a/apps/accounts/urls.py b/apps/accounts/urls.py
index d9ee327..5cad311 100644
--- a/apps/accounts/urls.py
+++ b/apps/accounts/urls.py
@@ -2,9 +2,15 @@ from django.urls import path
from . import views
+app_name = "accounts"
urlpatterns = [
path(
+ r'change-profile/',
+ views.ProfileView.as_view(),
+ name="change-profile"
+ ),
+ path(
r'',
views.SettingsListView.as_view(),
name="settings"
diff --git a/apps/accounts/views.py b/apps/accounts/views.py
index d463522..75bb933 100644
--- a/apps/accounts/views.py
+++ b/apps/accounts/views.py
@@ -18,7 +18,7 @@ class UpdateViewWithUser(UpdateView):
class ProfileView(UpdateViewWithUser):
model = UserProfile
form_class = ProfileForm
- template_name = "accounts/profile.html"
+ template_name = "accounts/change-settings.html"
def get_object(self):
return self.request.user.profile