This commit is contained in:
2018-03-22 22:33:32 +01:00
parent b652882bd0
commit 06f6692f12
14 changed files with 423 additions and 93 deletions

View File

@@ -0,0 +1,193 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.11 on 2018-03-22 16:10
from __future__ import unicode_literals
import cms.models.fields
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import image_cropping.fields
import parler.models
import project.utils
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
('cms', '0018_pagenode'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('auth', '0008_alter_user_username_max_length'),
]
operations = [
migrations.CreateModel(
name='DownloadFile',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('ordering', models.IntegerField(default=50, verbose_name='Sortierung')),
('groups', models.ManyToManyField(related_name='files', to='auth.Group', verbose_name='Mitgliedergruppen')),
],
options={
'verbose_name_plural': 'Download Files',
'verbose_name': 'Download File',
'ordering': ['ordering'],
},
bases=(parler.models.TranslatableModelMixin, models.Model),
),
migrations.CreateModel(
name='DownloadFileTranslation',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')),
('name', models.CharField(blank=True, max_length=512, null=True, verbose_name='Name')),
('description', models.TextField(blank=True, null=True, verbose_name='Beschreibung')),
('file', models.FileField(max_length=512, upload_to='protected_files')),
('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.DownloadFile')),
],
options={
'managed': True,
'db_tablespace': '',
'verbose_name': 'Download File Translation',
'default_permissions': (),
'db_table': 'portal_downloadfile_translation',
},
),
migrations.CreateModel(
name='DownloadSection',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('ordering', models.IntegerField(default=50, verbose_name='Sortierung')),
],
options={
'verbose_name_plural': 'Download Sections',
'verbose_name': 'Download Section',
'ordering': ['ordering'],
},
bases=(parler.models.TranslatableModelMixin, models.Model),
),
migrations.CreateModel(
name='DownloadSectionTranslation',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')),
('title', models.CharField(max_length=100, verbose_name='Title')),
('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.DownloadSection')),
],
options={
'managed': True,
'db_tablespace': '',
'verbose_name': 'Download Section Translation',
'default_permissions': (),
'db_table': 'portal_downloadsection_translation',
},
),
migrations.CreateModel(
name='DownloadTag',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
options={
'verbose_name_plural': 'Download Tags',
'verbose_name': 'Download Tag',
},
bases=(parler.models.TranslatableModelMixin, models.Model),
),
migrations.CreateModel(
name='DownloadTagTranslation',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')),
('name', models.CharField(max_length=100, verbose_name='Name')),
('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.DownloadTag')),
],
options={
'managed': True,
'db_tablespace': '',
'verbose_name': 'Download Tag Translation',
'default_permissions': (),
'db_table': 'portal_downloadtag_translation',
},
),
migrations.CreateModel(
name='Information',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('cropping', image_cropping.fields.ImageRatioField('image', '1200x800', adapt_rotation=False, allow_fullsize=False, free_crop=True, help_text=None, hide_image_field=False, size_warning=False, verbose_name='cropping')),
('published', models.BooleanField(default=False, verbose_name='Veröffentlicht')),
('publish_date', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Veröffentlichungsdatum')),
('groups', models.ManyToManyField(related_name='tasks', to='auth.Group', verbose_name='Mitglieder Gruppe')),
('image', project.utils.CroppableFilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL, verbose_name='Bild')),
('informed_users', models.ManyToManyField(blank=True, null=True, to=settings.AUTH_USER_MODEL, verbose_name='Als gelesen markiert von:')),
('placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, slotname='content', to='cms.Placeholder')),
],
options={
'verbose_name_plural': 'Mitglieder Aufgaben',
'verbose_name': 'Mitglieder Aufgabe',
'ordering': ['-publish_date'],
},
bases=(parler.models.TranslatableModelMixin, models.Model),
),
migrations.CreateModel(
name='InformationTranslation',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')),
('title', models.CharField(max_length=100, verbose_name='Title')),
('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.Information')),
],
options={
'managed': True,
'db_tablespace': '',
'verbose_name': 'Mitglieder Aufgabe Translation',
'default_permissions': (),
'db_table': 'portal_information_translation',
},
),
migrations.CreateModel(
name='Profile',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(max_length=255, verbose_name='Vorname')),
('last_name', models.CharField(max_length=255, verbose_name='Nachname')),
('street', models.CharField(blank=True, max_length=255, null=True, verbose_name='Strasse')),
('zip', models.IntegerField(blank=True, null=True, verbose_name='PLZ')),
('place', models.CharField(blank=True, max_length=255, null=True, verbose_name='Ort')),
('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='E-Mail')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name_plural': 'User Profile',
'verbose_name': 'User Profil',
},
),
migrations.AddField(
model_name='downloadfile',
name='section',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='portal.DownloadSection', verbose_name='Download Section'),
),
migrations.AddField(
model_name='downloadfile',
name='tags',
field=models.ManyToManyField(blank=True, null=True, related_name='files', to='portal.DownloadTag', verbose_name='Suchbegriffe'),
),
migrations.AlterUniqueTogether(
name='informationtranslation',
unique_together=set([('language_code', 'master')]),
),
migrations.AlterUniqueTogether(
name='downloadtagtranslation',
unique_together=set([('language_code', 'master')]),
),
migrations.AlterUniqueTogether(
name='downloadsectiontranslation',
unique_together=set([('language_code', 'master')]),
),
migrations.AlterUniqueTogether(
name='downloadfiletranslation',
unique_together=set([('language_code', 'master')]),
),
]

View File

@@ -194,7 +194,7 @@ plugin_pool.unregister_plugin(_FormPlugin)
class FormPlugin(_FormPlugin):
module = 'Content'
name = 'Form'
child_classes = ['TextField', 'TextAreaField', 'EmailField', 'SubmitButton']
child_classes = ['TextField', 'TextAreaField', 'EmailField', 'RadioSelectField', 'MultipleSelectField', 'SubmitButton']
class SocialMediaListItemInlineAdmin(admin.TabularInline):

View File

@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.11 on 2018-03-22 16:12
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('project', '0004_auto_20180320_1351'),
]
operations = [
migrations.AlterModelOptions(
name='partner',
options={'verbose_name': 'Partner', 'verbose_name_plural': 'Partner'},
),
migrations.AddField(
model_name='slideritem',
name='next_slide_text',
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Nächster Slide Text'),
),
]

View File

@@ -111,6 +111,7 @@ class SliderItem(CMSPlugin):
qualifications = models.ManyToManyField(SliderItemQualification, verbose_name='Qualifikationen', blank=True,
null=True)
email = models.EmailField(verbose_name='E-Mail', blank=True, null=True)
next_slide_text = models.CharField(verbose_name='Nächster Slide Text', max_length=255, blank=True, null=True)
class Meta(CMSPlugin.Meta):
verbose_name = 'Slider Item'

View File

@@ -121,7 +121,7 @@
</div>
<div class="footer">
<a href="{% url 'portal:overview' %}" class="footer__login header__button header__button--light data_id_1">
<a href="#" class="footer__login header__button header__button--light data_id_1">
<span class="header__button__icon">
{% include 'project/assets/arrow-right-long.svg' %}
</span>

View File

@@ -1,18 +1,34 @@
<div class="form__field{% if label %} form__field--label{% endif %}">
{% if label %}
<label for="{{ field.id_for_label }}"><span>{{ field.label }}</span></label>
{% endif %}
{{ field }}
{% with field.field.widget.input_type as type %}
<div class="form__field{% if label or type == 'checkbox' or type == 'radio' %} form__field--label{% endif %}">
{% if label or type == 'checkbox' or type == 'radio' %}
<label class="form__field__label" for="{{ field.id_for_label }}"><span>{{ field.label }}</span></label>
{% endif %}
{% if field.errors %}
<p class="form__field__errors">
{% for error in field.errors %}
{{ error }}{% if not forloop.last %}<br>{% endif %}
{% if type == 'checkbox' or type == 'radio' %}
{% for value, text in field.field.choices %}
<input type="{{ type }}" value="{{ value }}" name="{{ field.name }}"
id="{{ field.auto_id }}_{{ forloop.counter0 }}">
<label for="{{ field.auto_id }}_{{ forloop.counter0 }}">
<span class="form__field__choice__icon">
{% include 'project/assets/tick.svg' %}
</span>
{{ text }}
</label>
{% endfor %}
</p>
{% endif %}
{% else %}
{{ field }}
{% endif %}
{% if field.help_text %}
<p class="form__field__help_text">{{ field.help_text }}</p>
{% endif %}
</div>
{% if field.errors %}
<p class="form__field__errors">
{% for error in field.errors %}
{{ error }}{% if not forloop.last %}<br>{% endif %}
{% endfor %}
</p>
{% endif %}
{% if field.help_text %}
<p class="form__field__help_text">{{ field.help_text }}</p>
{% endif %}
</div>
{% endwith %}

View File

@@ -16,4 +16,12 @@
{% endfor %}
</ul>
{% endif %}
{% if instance.next_slide_text %}
<p class="slider__text__item__text">
<a class="slider__next" href="#">
<span>{{ instance.next_slide_text }}</span>
{% include 'project/assets/arrow-right.svg' %}
</a>
</p>
{% endif %}
</div>