Added missing validators for twitter/github usernames

Fixed urls
This commit is contained in:
Sebastian 2017-05-24 21:39:54 +02:00
parent 6f5a169f2d
commit 1f89ddb66b
7 changed files with 71 additions and 6 deletions

View File

@ -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'),
),
]

View File

@ -24,10 +24,10 @@
<div class="column">
hochgeladen von <strong>{{rom.user.username}}</strong>
{% 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 %}
{% 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 %}
am {{rom.creation_time}}.
Zuletzt geupdated am {{rom.edit_time}}<br/>

View File

@ -12,7 +12,7 @@ class CustomUserAdmin(UserAdmin):
form = CustomUserChangeForm
fieldsets = UserAdmin.fieldsets + (
('Additional Attributes', {'fields': ('github',)}),
('Additional Attributes', {'fields': ('github', 'twitter')}),
)

View File

@ -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'),
),
]

View File

@ -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])

View File

@ -133,7 +133,8 @@
<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.
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">

View File

@ -126,6 +126,12 @@
</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-label is-normal">
<label class="label" for="{{form.twitter.id_for_label}}">{{form.twitter.label}}</label>