Merge branch 'master' of github.com:LongHairedHacker/gulasch-r0mstore
This commit is contained in:
commit
db026e0501
|
@ -31,6 +31,7 @@ Almost secret deployment battle plan
|
||||||
15. Setup systemd service and socket files
|
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
|
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
|
- set paths for media, static and the socket
|
||||||
|
- make sure static points to static_root not static
|
||||||
15. Testrun without ssl
|
15. Testrun without ssl
|
||||||
15. Setup ssl
|
15. Setup ssl
|
||||||
16. Change DEBUG to False in gulashromstore/settings.py
|
16. Change DEBUG to False in gulashromstore/settings.py
|
||||||
|
|
|
@ -136,7 +136,8 @@ STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
|
||||||
MEDIA_URL = '/media/'
|
MEDIA_URL = '/media/'
|
||||||
MEDIA_ROOT = os.path.join(BASE_DIR, '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'
|
AUTH_USER_MODEL = 'users.User'
|
||||||
|
|
||||||
|
|
|
@ -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'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -24,10 +24,10 @@
|
||||||
<div class="column">
|
<div class="column">
|
||||||
hochgeladen von <strong>{{rom.user.username}}</strong>
|
hochgeladen von <strong>{{rom.user.username}}</strong>
|
||||||
{% if rom.user.twitter %}
|
{% if rom.user.twitter %}
|
||||||
<a href="https://twitter.com/{{rom.user.twitter}}"><i class="fa fa-twitter"></i></a>
|
<a target="_blank" href="https://twitter.com/{{rom.user.twitter}}"><i class="fa fa-twitter"></i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if rom.user.github %}
|
{% if rom.user.github %}
|
||||||
<a href="https://twitter.com/{{rom.user.github}}"><i class="fa fa-github"></i></a>
|
<a target="_blank" href="https://github.com/{{rom.user.github}}"><i class="fa fa-github"></i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
am {{rom.creation_time}}.
|
am {{rom.creation_time}}.
|
||||||
Zuletzt geupdated am {{rom.edit_time}}<br/>
|
Zuletzt geupdated am {{rom.edit_time}}<br/>
|
||||||
|
|
|
@ -12,7 +12,7 @@ class CustomUserAdmin(UserAdmin):
|
||||||
form = CustomUserChangeForm
|
form = CustomUserChangeForm
|
||||||
|
|
||||||
fieldsets = UserAdmin.fieldsets + (
|
fieldsets = UserAdmin.fieldsets + (
|
||||||
('Additional Attributes', {'fields': ('github',)}),
|
('Additional Attributes', {'fields': ('github', 'twitter')}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,6 +1,10 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.contrib.auth.models import AbstractUser
|
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):
|
class User(AbstractUser):
|
||||||
github = models.CharField('github', max_length=128, blank=True)
|
github = models.CharField('Github Benutzername', max_length=38, blank=True, validators=[github_validator])
|
||||||
twitter = models.CharField('twitter', max_length=128, blank=True)
|
twitter = models.CharField('Twitter Benutzername', max_length=15, blank=True, validators=[twitter_validator])
|
||||||
|
|
|
@ -133,7 +133,8 @@
|
||||||
|
|
||||||
<div class="form-help">
|
<div class="form-help">
|
||||||
Twitter und Github-Benutzername sind optionale Angaben.<br/>
|
Twitter und Github-Benutzername sind optionale Angaben.<br/>
|
||||||
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.<br/>
|
||||||
|
Bitte nur die Benutzernamen, nicht die Urls und bei Twitter das @ weglassen.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
|
|
|
@ -126,6 +126,12 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-help">
|
||||||
|
Twitter und Github-Benutzername sind optionale Angaben.<br/>
|
||||||
|
Sie werden zusammen mit deinem Benutzername auf Details-Seite zu deinen Roms angezeigt.<br/>
|
||||||
|
Bitte nur die Benutzernamen, nicht die Urls und bei Twitter das @ weglassen.
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label is-normal">
|
<div class="field-label is-normal">
|
||||||
<label class="label" for="{{form.twitter.id_for_label}}">{{form.twitter.label}}</label>
|
<label class="label" for="{{form.twitter.id_for_label}}">{{form.twitter.label}}</label>
|
||||||
|
@ -180,7 +186,7 @@
|
||||||
|
|
||||||
<div class="field is-grouped">
|
<div class="field is-grouped">
|
||||||
<p class="control">
|
<p class="control">
|
||||||
<button class="button is-primary">Registrieren</button>
|
<button class="button is-primary">Speichern</button>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -29,7 +29,7 @@ class UserUpdateView(UpdateView):
|
||||||
return self.model.objects.filter(id=self.request.user.id)
|
return self.model.objects.filter(id=self.request.user.id)
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse('rom_overview')
|
return reverse('romlist')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue