fixes
This commit is contained in:
193
src/portal/migrations/0001_initial.py
Normal file
193
src/portal/migrations/0001_initial.py
Normal 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')]),
|
||||
),
|
||||
]
|
||||
@@ -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):
|
||||
|
||||
24
src/project/migrations/0005_auto_20180322_1612.py
Normal file
24
src/project/migrations/0005_auto_20180322_1612.py
Normal 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'),
|
||||
),
|
||||
]
|
||||
@@ -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'
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 %}
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user