diff --git a/deploy.md b/deploy.md index 1a99aff..8b1a135 100644 --- a/deploy.md +++ b/deploy.md @@ -31,6 +31,7 @@ Almost secret deployment battle plan 15. Setup systemd service and socket files 14. Setup nginx, see https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html#configure-nginx-for-your-site - set paths for media, static and the socket + - make sure static points to static_root not static 15. Testrun without ssl 15. Setup ssl 16. Change DEBUG to False in gulashromstore/settings.py diff --git a/gulaschromstore/settings.py b/gulaschromstore/settings.py index 6e1c854..b9fd3a9 100644 --- a/gulaschromstore/settings.py +++ b/gulaschromstore/settings.py @@ -136,7 +136,8 @@ STATIC_ROOT = os.path.join(BASE_DIR, 'static_root') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') -EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' +EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' +EMAIL_FILE_PATH = '/tmp/gulasch-messages' AUTH_USER_MODEL = 'users.User' diff --git a/roms/migrations/0007_auto_20170524_2138.py b/roms/migrations/0007_auto_20170524_2138.py new file mode 100644 index 0000000..2d9d37d --- /dev/null +++ b/roms/migrations/0007_auto_20170524_2138.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.6 on 2017-05-24 19:38 +from __future__ import unicode_literals + +from django.db import migrations, models +import roms.models +import stdimage.models +import stdimage.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ('roms', '0006_auto_20170513_2344'), + ] + + operations = [ + migrations.AlterField( + model_name='rom', + name='cover', + field=stdimage.models.StdImageField(upload_to=roms.models.upload_cover_to, validators=[stdimage.validators.MinSizeValidator(300, 300)], verbose_name='cover-Bild'), + ), + migrations.AlterField( + model_name='rom', + name='description', + field=models.TextField(verbose_name='Beschreibung'), + ), + ] diff --git a/roms/templates/roms/details.html b/roms/templates/roms/details.html index 9827091..c06933f 100644 --- a/roms/templates/roms/details.html +++ b/roms/templates/roms/details.html @@ -24,10 +24,10 @@
hochgeladen von {{rom.user.username}} {% if rom.user.twitter %} - + {% endif %} {% if rom.user.github %} - + {% endif %} am {{rom.creation_time}}. Zuletzt geupdated am {{rom.edit_time}}
diff --git a/users/admin.py b/users/admin.py index 5992031..067e21d 100644 --- a/users/admin.py +++ b/users/admin.py @@ -12,7 +12,7 @@ class CustomUserAdmin(UserAdmin): form = CustomUserChangeForm fieldsets = UserAdmin.fieldsets + ( - ('Additional Attributes', {'fields': ('github',)}), + ('Additional Attributes', {'fields': ('github', 'twitter')}), ) diff --git a/users/migrations/0004_auto_20170524_2138.py b/users/migrations/0004_auto_20170524_2138.py new file mode 100644 index 0000000..fdd34eb --- /dev/null +++ b/users/migrations/0004_auto_20170524_2138.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.6 on 2017-05-24 19:38 +from __future__ import unicode_literals + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0003_auto_20170506_2044'), + ] + + operations = [ + migrations.AlterField( + model_name='user', + name='github', + field=models.CharField(blank=True, max_length=38, validators=[django.core.validators.RegexValidator(message='Bitte nur den Benutzername, nicht die Profil-Url.', regex='^[a-z\\d](?:[a-z\\d]|-(?=[a-z\\d]))*$')], verbose_name='Github Benutzername'), + ), + migrations.AlterField( + model_name='user', + name='twitter', + field=models.CharField(blank=True, max_length=15, validators=[django.core.validators.RegexValidator(message='Bitte nur den Benutzername, ohne führendes @.', regex='^[a-zA-Z0-9_]+$')], verbose_name='Twitter Benutzername'), + ), + ] diff --git a/users/models.py b/users/models.py index 0814550..6fc62db 100644 --- a/users/models.py +++ b/users/models.py @@ -1,6 +1,10 @@ from django.db import models from django.contrib.auth.models import AbstractUser +from django.core.validators import RegexValidator + +twitter_validator = RegexValidator(regex=r'^[a-zA-Z0-9_]+$', message='Bitte nur den Benutzername, ohne führendes @.') +github_validator = RegexValidator(regex=r'^[a-z\d](?:[a-z\d]|-(?=[a-z\d]))*$', message='Bitte nur den Benutzername, nicht die Profil-Url.') class User(AbstractUser): - github = models.CharField('github', max_length=128, blank=True) - twitter = models.CharField('twitter', max_length=128, blank=True) + github = models.CharField('Github Benutzername', max_length=38, blank=True, validators=[github_validator]) + twitter = models.CharField('Twitter Benutzername', max_length=15, blank=True, validators=[twitter_validator]) diff --git a/users/templates/users/signup.html b/users/templates/users/signup.html index 71cd197..04ac434 100644 --- a/users/templates/users/signup.html +++ b/users/templates/users/signup.html @@ -133,7 +133,8 @@
Twitter und Github-Benutzername sind optionale Angaben.
- Sie werden zusammen mit deinem Benutzername auf Details-Seite zu deinen Roms angezeigt. + Sie werden zusammen mit deinem Benutzername auf Details-Seite zu deinen Roms angezeigt.
+ Bitte nur die Benutzernamen, nicht die Urls und bei Twitter das @ weglassen.
diff --git a/users/templates/users/user_update.html b/users/templates/users/user_update.html index 8333e2e..f2c7b0a 100644 --- a/users/templates/users/user_update.html +++ b/users/templates/users/user_update.html @@ -126,6 +126,12 @@
+
+ Twitter und Github-Benutzername sind optionale Angaben.
+ Sie werden zusammen mit deinem Benutzername auf Details-Seite zu deinen Roms angezeigt.
+ Bitte nur die Benutzernamen, nicht die Urls und bei Twitter das @ weglassen. +
+
@@ -180,7 +186,7 @@

- +

diff --git a/users/views.py b/users/views.py index e166e67..e9b777b 100644 --- a/users/views.py +++ b/users/views.py @@ -29,7 +29,7 @@ class UserUpdateView(UpdateView): return self.model.objects.filter(id=self.request.user.id) def get_success_url(self): - return reverse('rom_overview') + return reverse('romlist')