login bereich
@ -1,47 +0,0 @@
|
||||
$(function() {
|
||||
'use strict';
|
||||
|
||||
var $body = $('body');
|
||||
|
||||
var download_texts = [];
|
||||
|
||||
$('.downloads__item__text').each(function() {
|
||||
var text = $(this).text().toLowerCase();
|
||||
text = text + '' + $(this).next().text().toLowerCase();
|
||||
download_texts.push({
|
||||
$element: $(this).parents('.downloads__item__frame'),
|
||||
text: text
|
||||
});
|
||||
});
|
||||
|
||||
$body.on('input', '#downloads_search', function(event) {
|
||||
var query = $(this).val().toLowerCase();
|
||||
var query_list = $.trim(query).split(' ');
|
||||
var matches = [];
|
||||
|
||||
for (var i = 0; i < download_texts.length; i++) {
|
||||
var download_text_item = download_texts[i];
|
||||
var matched = false;
|
||||
if (!matched) {
|
||||
for (var ii = 0; ii < query_list.length; ii++) {
|
||||
var query_item = query_list[ii];
|
||||
if (download_text_item.text.indexOf(query_item) >= 0) {
|
||||
matched = true;
|
||||
matches.push(download_text_item.$element);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('.downloads__item__frame').each(function() {
|
||||
$(this).parents('.downloads__section').css('display', 'none');
|
||||
$(this).css('display', 'none');
|
||||
});
|
||||
for (i = 0; i < matches.length; i++) {
|
||||
matches[i].removeAttr('style');
|
||||
matches[i].parents('.downloads__section').removeAttr('style');
|
||||
}
|
||||
});
|
||||
|
||||
$('#downloads_search').trigger('input');
|
||||
});
|
||||
@ -0,0 +1,53 @@
|
||||
var search = window.location.search;
|
||||
if (search.indexOf('?page=1') === -1 && (search.indexOf('?page=') >= 0 || search.indexOf('&page=') >= 0)) {
|
||||
document.getElementsByTagName("body")[0].classList.add('hidden');
|
||||
window.location = window.location.pathname;
|
||||
}
|
||||
|
||||
$(function() {
|
||||
'use strict';
|
||||
|
||||
var $body = $('body');
|
||||
|
||||
$body.on('click', '.list__button', function(event) {
|
||||
event.preventDefault();
|
||||
var $button = $(this);
|
||||
var $load_frame = $button.parents('.load__frame');
|
||||
|
||||
$button.width($button.width());
|
||||
window.requestAnimationFrame(function() {
|
||||
$load_frame.addClass('loading');
|
||||
$load_frame.height($load_frame.outerHeight());
|
||||
var load_frame_id = $load_frame.attr('id');
|
||||
var $load_replace = $button.parents('.load__replace');
|
||||
$.get($button.attr('href'), function(data) {
|
||||
var loaded_data = $(data).find('#' + load_frame_id + ' .load__main').html();
|
||||
$load_frame.addClass('loaded');
|
||||
window.setTimeout(function() {
|
||||
$load_replace.replaceWith(loaded_data);
|
||||
window.on_transitionend($load_frame, function(event) {
|
||||
if (!event || event.target === this) {
|
||||
$load_frame.removeAttr('style');
|
||||
$load_frame.removeClass('loading loaded');
|
||||
$load_frame.off(window.transitionend)
|
||||
}
|
||||
});
|
||||
$load_frame.height($load_frame.find('.load__main').height());
|
||||
window.create_reveal_elements($load_frame);
|
||||
init_auto_load();
|
||||
}, 200);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function init_auto_load() {
|
||||
$('.load__replace--auto').each(function() {
|
||||
var that = this;
|
||||
var elementWatcher = scrollMonitor.create(that);
|
||||
elementWatcher.enterViewport(function() {
|
||||
$(that).find('a').trigger('click');
|
||||
});
|
||||
});
|
||||
}
|
||||
init_auto_load();
|
||||
});
|
||||
@ -1,66 +0,0 @@
|
||||
.downloads__frame {
|
||||
width: 100%;
|
||||
padding: em(80px) 0 em(150px);
|
||||
position: relative;
|
||||
will-change: transform;
|
||||
.downloads {
|
||||
li {
|
||||
width: 33.3333%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.downloads__content {
|
||||
max-width: em(1440px);
|
||||
margin: 0 auto;
|
||||
padding: 0 em(80px);
|
||||
@media screen and (max-width: $large_breakpoint) {
|
||||
padding: 0 em(60px);
|
||||
}
|
||||
@media screen and (max-width: $medium_breakpoint) {
|
||||
max-width: em(600px);
|
||||
padding: 0 em(30px);
|
||||
}
|
||||
}
|
||||
|
||||
.downloads__section {
|
||||
margin-top: em(80px);
|
||||
.downloads--flat & {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.downloads__section__title {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
h3 {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
&:after {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
background: $white;
|
||||
width: 100vw;
|
||||
height: em(3px);
|
||||
opacity: 0.15;
|
||||
top: em(10.5px);
|
||||
left: 100%;
|
||||
margin-left: em(20px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.downloads__section__title--flat {
|
||||
h3 {
|
||||
&:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.downloads__list {
|
||||
display: block;
|
||||
margin: 0 em(-10px);
|
||||
font-size: 0;
|
||||
}
|
||||
@ -1,8 +1,21 @@
|
||||
from django import forms
|
||||
from django.contrib.auth.forms import AuthenticationForm
|
||||
|
||||
from memberzone.models import Profile
|
||||
|
||||
|
||||
class LoginForm(AuthenticationForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LoginForm, self).__init__(*args, **kwargs)
|
||||
for _, value in self.fields.items():
|
||||
value.widget.attrs['placeholder'] = value.label
|
||||
|
||||
|
||||
class ProfileEditForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = ['first_name', 'last_name', 'street', 'zip', 'place', 'email']
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ProfileEditForm, self).__init__(*args, **kwargs)
|
||||
self.fields['zip'].widget = forms.TextInput()
|
||||
@ -0,0 +1,240 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.11 on 2018-03-22 10:52
|
||||
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 image_cropping.fields
|
||||
import project.utils
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('cms', '0018_pagenode'),
|
||||
('memberzone', '0002_auto_20180321_1256'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='MemberDownloadFileTranslation',
|
||||
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')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'memberzone_memberdownloadfile_translation',
|
||||
'default_permissions': (),
|
||||
'managed': True,
|
||||
'db_tablespace': '',
|
||||
'verbose_name': 'Mitglieder Download Translation',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MemberDownloadSectionTranslation',
|
||||
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')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'memberzone_memberdownloadsection_translation',
|
||||
'default_permissions': (),
|
||||
'managed': True,
|
||||
'db_tablespace': '',
|
||||
'verbose_name': 'Mitglieder Download Section Translation',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MemberDownloadTagTranslation',
|
||||
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')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'memberzone_memberdownloadtag_translation',
|
||||
'default_permissions': (),
|
||||
'managed': True,
|
||||
'db_tablespace': '',
|
||||
'verbose_name': 'Mitglieder Download Tag Translation',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MemberTaskTranslation',
|
||||
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')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'memberzone_membertask_translation',
|
||||
'default_permissions': (),
|
||||
'managed': True,
|
||||
'db_tablespace': '',
|
||||
'verbose_name': 'Mitglieder Aufgabe Translation',
|
||||
},
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='membertaskformfield',
|
||||
unique_together=set([]),
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertaskformfield',
|
||||
name='task',
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='membertaskregistration',
|
||||
unique_together=set([]),
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertaskregistration',
|
||||
name='task',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertaskregistration',
|
||||
name='user',
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='memberdownloadfile',
|
||||
options={'ordering': ['ordering'], 'verbose_name': 'Mitglieder Download', 'verbose_name_plural': 'Mitglieder Downloads'},
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='memberdownloadfile',
|
||||
name='description',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='memberdownloadfile',
|
||||
name='file',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='memberdownloadfile',
|
||||
name='name',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='memberdownloadsection',
|
||||
name='title',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='memberdownloadtag',
|
||||
name='name',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='bodytext',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='deadline',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='folder',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='form_bodytext',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='max_num',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='slug',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='sub_title',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='submit_text',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='success_bodytext',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='success_title',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='membertask',
|
||||
name='title',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='membertask',
|
||||
name='cropping',
|
||||
field=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'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='membertask',
|
||||
name='placeholder',
|
||||
field=cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, slotname='task_placeholder', to='cms.Placeholder'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='membertask',
|
||||
name='image',
|
||||
field=project.utils.CroppableFilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL, verbose_name='Bild'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='first_name',
|
||||
field=models.CharField(default='', max_length=255, verbose_name='Vorname'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='last_name',
|
||||
field=models.CharField(default='', max_length=255, verbose_name='Nachname'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='MemberTaskFormField',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='MemberTaskRegistration',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='membertasktranslation',
|
||||
name='master',
|
||||
field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='memberzone.MemberTask'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='memberdownloadtagtranslation',
|
||||
name='master',
|
||||
field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='memberzone.MemberDownloadTag'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='memberdownloadsectiontranslation',
|
||||
name='master',
|
||||
field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='memberzone.MemberDownloadSection'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='memberdownloadfiletranslation',
|
||||
name='master',
|
||||
field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='memberzone.MemberDownloadFile'),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='membertasktranslation',
|
||||
unique_together=set([('language_code', 'master')]),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='memberdownloadtagtranslation',
|
||||
unique_together=set([('language_code', 'master')]),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='memberdownloadsectiontranslation',
|
||||
unique_together=set([('language_code', 'master')]),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='memberdownloadfiletranslation',
|
||||
unique_together=set([('language_code', 'master')]),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.11 on 2018-03-22 11:21
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('memberzone', '0003_auto_20180322_1052'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='membertask',
|
||||
name='published',
|
||||
field=models.BooleanField(default=False, verbose_name='Veröffentlichen'),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.11 on 2018-03-22 12:05
|
||||
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
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('memberzone', '0004_membertask_published'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='membertask',
|
||||
name='informed_users',
|
||||
field=models.ManyToManyField(blank=True, null=True, to=settings.AUTH_USER_MODEL, verbose_name='Als gelesen markiert von:'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='membertask',
|
||||
name='placeholder',
|
||||
field=cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, slotname='content', to='cms.Placeholder'),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,13 @@
|
||||
{% load i18n %}
|
||||
<form action="{{ request.path }}" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="control__item__fields">
|
||||
{% for field in form %}
|
||||
{% include 'project/includes/field.html' with field=field label=True %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<button class="button button--small">
|
||||
<span class="button__icon">{% include 'project/assets/tick.svg' %}</span>
|
||||
<span class="button__text">{% trans 'Speichern' %}</span>
|
||||
</button>
|
||||
</form>
|
||||
@ -1,16 +0,0 @@
|
||||
{% load i18n %}
|
||||
<form action="{% url 'memberzone:change_password' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="control__item__fields">
|
||||
{% include 'project/content/includes/_field.html' with field=form.old_password label=True small=True %}
|
||||
{% include 'project/content/includes/_field.html' with field=form.new_password1 label=True small=True %}
|
||||
{% include 'project/content/includes/_field.html' with field=form.new_password2 label=True small=True %}
|
||||
</div>
|
||||
<button class="button button--small">
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/tick.svg' %}
|
||||
<b>{% trans 'ändern' %}</b>
|
||||
</span>
|
||||
{% include 'project/assets/tick.svg' %}
|
||||
</button>
|
||||
</form>
|
||||
@ -1,11 +0,0 @@
|
||||
{% load i18n %}
|
||||
<div class="control__item__success">
|
||||
<span class="tag tag--black">{% trans 'Ihr Passwort wurden erfolgreich geändert' %}</span>
|
||||
<a href="#" class="button button--small control__item__close">
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/close.svg' %}
|
||||
<b>{% trans 'Schliessen' %}</b>
|
||||
</span>
|
||||
{% include 'project/assets/close.svg' %}
|
||||
</a>
|
||||
</div>
|
||||
@ -0,0 +1,8 @@
|
||||
{% load i18n %}
|
||||
<div class="control__item__success">
|
||||
<p>{% trans 'Ihre Informationen wurden erfolgreich angepasst.' %}</p>
|
||||
<a href="#" class="button button--small control__item__close">
|
||||
<span class="button__icon">{% include 'project/assets/close.svg' %}</span>
|
||||
<span class="button__text">{% trans 'Schliessen' %}</span>
|
||||
</a>
|
||||
</div>
|
||||
@ -1,14 +0,0 @@
|
||||
<html>
|
||||
<head>{{ subject }}</head>
|
||||
<body>
|
||||
<h1>{{ subject }}</h1>
|
||||
<hr>
|
||||
{% for data_set in data %}
|
||||
<ul>
|
||||
{% for label, value in data_set %}
|
||||
<li><strong>{{ label }}:</strong> {{ value }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
</body>
|
||||
</html>
|
||||
@ -1,57 +0,0 @@
|
||||
{% load i18n static util_tags thumbnail %}
|
||||
|
||||
|
||||
<div id="downloads" class="downloads__frame reveal_self reveal reveal_animation">
|
||||
<div class="downloads__content">
|
||||
{% if title != False %}
|
||||
<h2 class="{% if not light %}white{% endif %} reveal_self reveal reveal_animation">{% trans title %}</h2>
|
||||
{% endif %}
|
||||
{% if search %}
|
||||
<form class="downloads__filter reveal_self reveal reveal_animation" action="{{ request.path }}#downloads" method="get">
|
||||
<div class="input__frame input__frame--blue input__frame--icon">
|
||||
<input name="q" {% if request.GET.q %}value="{{ request.GET.q }}"{% endif %} id="downloads_search"
|
||||
type="text" placeholder="{% trans 'Suchbegriff eingeben' %}">
|
||||
<button>{% trans 'Suchen' %}{% include 'project/assets/search.svg' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% for section in download_sections %}
|
||||
<div class="downloads__section reveal_container">
|
||||
<div class="downloads__section__title{% if flat %} downloads__section__title--flat{% endif %} reveal reveal_animation">
|
||||
<h3 class="tag{% if flat %} tag--black{% endif %}{% if not light %} white{% endif %}">{{ section.title }}</h3>
|
||||
</div>
|
||||
{% include 'project/plugins/content/download_section.html' with instance=section %}
|
||||
{# <div class="downloads__list reveal reveal_animation">#}
|
||||
{# {% for file in files %}#}
|
||||
{# <div class="downloads__item__frame">#}
|
||||
{# <a target="_blank" href="{{ file.file.url }}" class="downloads__item">#}
|
||||
{# <div class="downloads__item__main">#}
|
||||
{# <div class="downloads__item__content reveal reveal_animation">#}
|
||||
{# <span class="downloads__item__icon tag">#}
|
||||
{# {% include 'project/assets/download.svg' %}#}
|
||||
{# {{ file.file.name|split:'.'|last }}#}
|
||||
{# </span>#}
|
||||
{# {% if file.thumbnail %}#}
|
||||
{# <img class="downloads__item__thumbnail"#}
|
||||
{# src="{{ file.thumbnail.url }}">#}
|
||||
{# {% elif file.file.name|split:'.'|last == 'pdf' %}#}
|
||||
{# <img class="downloads__item__thumbnail"#}
|
||||
{# src="{% download_thumbnail file %}">#}
|
||||
{# {% else %}#}
|
||||
{# {% thumbnail file.file 118x167 crop=True as thumb %}#}
|
||||
{# {% static 'img/pdf_default.jpg' as static %}#}
|
||||
{# <img class="downloads__item__thumbnail"#}
|
||||
{# src="{{ thumb.url|default:static }}">#}
|
||||
{# {% endif %}#}
|
||||
{# </div>#}
|
||||
{# </div>#}
|
||||
{# <span class="p downloads__item__text">{{ file }}</span>#}
|
||||
{# <span class="downloads__item__tags">{{ file.tag_list }}</span>#}
|
||||
{# </a>#}
|
||||
{# </div>#}
|
||||
{# {% endfor %}#}
|
||||
{# </div>#}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@ -1,8 +0,0 @@
|
||||
<div class="input__frame{% if blue %} input__frame--blue{% endif %}{% if label %} input__frame--label{% else %} input__frame--no-label{% endif %}{% if small %} input__frame--small{% endif %}"
|
||||
{% if hidden %}style="display: none"{% endif %}>
|
||||
<label for="id_{{ field.name }}" class="p"><span>{{ field.label }}:</span></label>
|
||||
{{ field }}
|
||||
{% if field.errors %}
|
||||
<span class="tag tag--light input__errors">{{ field.errors.0 }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -1,17 +0,0 @@
|
||||
{% load i18n %}
|
||||
<form action="{% url 'memberzone:profile_edit' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="control__item__fields">
|
||||
{% include 'memberzone/includes/_field.html' with field=form.gender label=True small=True %}
|
||||
{% include 'memberzone/includes/_field.html' with field=form.title label=True small=True %}
|
||||
{% include 'memberzone/includes/_field.html' with field=form.first_name label=True small=True %}
|
||||
{% include 'memberzone/includes/_field.html' with field=form.last_name label=True small=True %}
|
||||
</div>
|
||||
<button class="button button--small">
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/tick.svg' %}
|
||||
<b>{% trans 'Speichern' %}</b>
|
||||
</span>
|
||||
{% include 'project/assets/tick.svg' %}
|
||||
</button>
|
||||
</form>
|
||||
@ -1,11 +0,0 @@
|
||||
{% load i18n %}
|
||||
<div class="control__item__success">
|
||||
<span class="tag tag--black">{% trans 'Ihre Benutzerdaten wurden erfolgreich geändert' %}</span>
|
||||
<a href="#" class="button button--small control__item__close">
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/close.svg' %}
|
||||
<b>{% trans 'Schliessen' %}</b>
|
||||
</span>
|
||||
{% include 'project/assets/close.svg' %}
|
||||
</a>
|
||||
</div>
|
||||
@ -1,139 +1,44 @@
|
||||
{% extends 'project/content.html' %}
|
||||
{% load i18n static thumbnail task_tags %}
|
||||
https://source.unsplash.com/random/1200x900
|
||||
|
||||
{% block body_class %}header-close{% endblock %}
|
||||
{% block header_menu_url %}{% url 'memberzone:overview' %}{% endblock %}
|
||||
|
||||
{% block intro_class %}intro--image{% endblock %}
|
||||
{% block intro_image %}{% if object.image %}
|
||||
{% thumbnail object.image "1200x900" crop="center" subject_location=object.image.subject_location %}
|
||||
{% endif %}{% endblock %}
|
||||
|
||||
{% block content_content %}
|
||||
<div class="text text--full text--narrow reveal_container">
|
||||
<div class="text__content">
|
||||
<div class="text__content__frame">
|
||||
<div class="text__content__main">{{ object.bodytext | add_animation_classes | safe }}</div>
|
||||
</div>
|
||||
{% load i18n thumbnail cms_tags %}
|
||||
|
||||
{% block title %}{{ object.title }}{% endblock %}
|
||||
|
||||
{% block content_intro %}
|
||||
<div class="content__intro reveal_container reveal_self reveal reveal_animation{% if object.image %} image{% endif %}">
|
||||
<div class="content__intro__content reveal reveal_animation">
|
||||
<h1>{{ object.title }}</h1>
|
||||
<a href="{% url 'memberzone:overview' %}" class="button">
|
||||
<span class="button__icon">{% include 'project/assets/arrow-left-long.svg' %}</span>
|
||||
<span class="button__text">{% trans 'Zurück zur Übersicht' %}</span>
|
||||
</a>
|
||||
</div>
|
||||
{% if object.image %}
|
||||
{% thumbnail object.image 1600x800 box=object.cropping crop detail as thumb %}
|
||||
<div class="content__intro__image scroll reveal reveal_animation" data-ease-multiplier="-2"
|
||||
style="background-image: url({{ thumb.url }})"></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% include 'project/content/includes/_grid.html' with grid=grid last=True %}
|
||||
|
||||
<div id="form"></div>
|
||||
<div class="text text--full text--narrow reveal_container">
|
||||
<div class="text__content">
|
||||
<div class="text__content__frame">
|
||||
<div class="text__content__main">
|
||||
{% if formset and not object.is_expired %}
|
||||
{{ object.form_bodytext | add_animation_classes | safe }}
|
||||
{% if formset.errors %}
|
||||
<span class="tag tag--light input__errors reveal reveal_animation">
|
||||
{% trans 'Bitte korrigieren Sie die markierten Felder.' %}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if formset.non_form_errors %}
|
||||
<span class="tag tag--light input__errors reveal reveal_animation">
|
||||
{{ formset.non_form_errors }}
|
||||
</span>
|
||||
{% endif %}
|
||||
<form action="{% url 'memberzone:task' object.slug %}" method="post"
|
||||
class="task__form text__content__form reveal reveal_animation {% if formset.errors %}errors{% endif %}"
|
||||
data-formset-prefix="{{ formset.prefix }}">
|
||||
{% csrf_token %}
|
||||
{{ formset.management_form }}
|
||||
|
||||
<div data-formset-body>
|
||||
{% for form in formset %}
|
||||
<fieldset data-formset-form>
|
||||
{% if object.max_num > 1 %}
|
||||
<div class="fieldset__title">
|
||||
<h3 class="tag" data-id="{{ forloop.counter }}">{{ forloop.counter }}.
|
||||
Person</h3>
|
||||
{% if forloop.counter0 > 0 %}
|
||||
<a class="tag" data-formset-delete-button>
|
||||
{% include 'project/assets/close.svg' %}
|
||||
{% trans 'Entfernen' %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if form.non_field_errors %}
|
||||
<span class="tag tag--light input__errors">
|
||||
{{ formset.non_field_errors }}
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
{% for field in form %}
|
||||
{% if field.name == 'DELETE' %}
|
||||
{% include 'project/content/includes/_field.html' with field=field label=True hidden=True %}
|
||||
{% else %}
|
||||
{% include 'project/content/includes/_field.html' with field=field label=True %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</fieldset>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<script type="form-template" data-formset-empty-form>
|
||||
<fieldset data-formset-form>
|
||||
<div class="fieldset__title">
|
||||
<h3 class="tag" data-id="{{ formset.empty_form.prefix }}">%(id). Person</h3>
|
||||
<a class="tag" data-formset-delete-button>
|
||||
{% include 'project/assets/close.svg' %}
|
||||
{% trans 'Entfernen' %}
|
||||
</a>
|
||||
</div>
|
||||
{% for field in formset.empty_form %}
|
||||
{% if field.name == 'DELETE' %}
|
||||
{% include 'project/content/includes/_field.html' with field=field label=True hidden=True %}
|
||||
{% else %}
|
||||
{% include 'project/content/includes/_field.html' with field=field label=True %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</fieldset>
|
||||
</script>
|
||||
|
||||
<div class="form__controls">
|
||||
<button class="button">
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/arrow-right-long.svg' %}
|
||||
<b>{{ object.submit_text }}</b>
|
||||
</span>
|
||||
{% include 'project/assets/arrow-right-long.svg' %}
|
||||
</button>
|
||||
{% if object.max_num > 1 %}
|
||||
<a class="button button--light" data-formset-add>
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/plus.svg' %}
|
||||
<b>{% trans 'Weitere Person hinzufügen' %}</b>
|
||||
</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</form>
|
||||
{% else %}
|
||||
{% if object.is_expired %}
|
||||
<h3 class="reveal reveal_animation">{% trans 'Die Anmeldungsfrist abgelaufen' %}</h3>
|
||||
<p class="reveal reveal_animation">
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
||||
accusam et
|
||||
</p>
|
||||
{% else %}
|
||||
<h3 class="reveal reveal_animation">{% trans "Bereits abgeschlossen" %}</h3>
|
||||
<p class="reveal reveal_animation">
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
|
||||
accusam et
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block navigation_title %}{{ object.title }}{% endblock %}
|
||||
|
||||
{% block content_main %}
|
||||
{% render_placeholder object.placeholder language LANGUAGE_CODE %}
|
||||
|
||||
<form action="{{ request.path }}" method="post" class="task__form reveal_self reveal reveal_animation">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="form__submit">
|
||||
<a href="{% url 'memberzone:overview' %}" class="button button--ghost">
|
||||
<span class="button__icon">{% include 'project/assets/arrow-left-long.svg' %}</span>
|
||||
<span class="button__text">{% trans 'Zurück zur Übersicht' %}</span>
|
||||
</a>
|
||||
{% if not request.user in object.informed_users.all %}
|
||||
<button class="button">
|
||||
<span class="button__icon">{% include 'project/assets/tick.svg' %}</span>
|
||||
<span class="button__text">{% trans 'Als gelesen markieren' %}</span>
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -1,20 +0,0 @@
|
||||
{% extends 'project/dialog.html' %}
|
||||
{% load i18n static %}
|
||||
|
||||
{% block extra_meta %}
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
{% endblock %}
|
||||
|
||||
{% block dialog_content %}
|
||||
<div class="dialog__text reveal_self reveal reveal_animation">
|
||||
{{ object.success_bodytext | safe }}
|
||||
|
||||
<a href="{% url 'memberzone:overview' %}" class="button">
|
||||
<span class="button__wrapper">
|
||||
{% include 'project/assets/arrow-right-long.svg' %}
|
||||
<b>{% trans 'Zur Accountübersicht' %}</b>
|
||||
</span>
|
||||
{% include 'project/assets/arrow-right-long.svg' %}
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,16 +1,36 @@
|
||||
{% extends 'main.html' %}
|
||||
{% extends 'project/dialog.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Mitgliederbereich' %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content__frame">
|
||||
<div class="content__container">
|
||||
<div class="content__main content__main--center">
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
</form>
|
||||
</div>
|
||||
{% block extra_meta %}
|
||||
<meta name="robots" content="noindex, nofollow"/>
|
||||
{% endblock %}
|
||||
|
||||
{% block dialog %}
|
||||
<h2 class="reveal_self reveal reveal_animation">{% trans 'Login' %}</h2>
|
||||
<p class="reveal_self reveal reveal_animation section__text">
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr.
|
||||
</p>
|
||||
<form class="reveal_self reveal reveal_animation" method="post" action=".">
|
||||
{% if form.non_field_errors %}
|
||||
{% for error in form.non_field_errors %}
|
||||
<p class="form__errors reveal_self reveal reveal_animation">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
{% for field in form %}
|
||||
{% include 'project/includes/field.html' with field=field %}
|
||||
{% endfor %}
|
||||
|
||||
<div class="form__submit reveal_self reveal reveal_animation">
|
||||
<button type="submit" class="button">
|
||||
<span class="button__icon">{% include 'project/assets/arrow-right-long.svg' %}</span>
|
||||
<span class="button__text">{% trans 'Login' %}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
import lxml.html
|
||||
from django import template
|
||||
from django.template.defaultfilters import stringfilter
|
||||
|
||||
from memberzone.models import MemberTaskRegistration
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
@register.filter(name='task_status')
|
||||
def task_user_status(task, user):
|
||||
try:
|
||||
MemberTaskRegistration.objects.get(task=task, user=user)
|
||||
except MemberTaskRegistration.DoesNotExist:
|
||||
if task.is_expired:
|
||||
return 'control__item--status--expired'
|
||||
else:
|
||||
return ''
|
||||
else:
|
||||
return 'control__item--status--active'
|
||||
|
||||
|
||||
@register.filter
|
||||
@stringfilter
|
||||
def add_animation_classes(input_html):
|
||||
document = lxml.html.fromstring('<div>{}</div>'.format(input_html))
|
||||
for el in document.xpath('//p|ul|ol|h2|h3'):
|
||||
classes = el.attrib.get('class', '').split(' ')
|
||||
if 'reveal' not in classes:
|
||||
classes.append('reveal')
|
||||
if 'reveal_animation' not in classes:
|
||||
classes.append('reveal_animation')
|
||||
el.attrib['class'] = ' '.join(classes)
|
||||
return lxml.html.tostring(document)[5:-6]
|
||||
@ -1,4 +0,0 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M31.4366634,9.44202305 C32.0209679,8.85475847 32.9707124,8.85235889 33.557977,9.43666344 C34.1452415,10.020968 34.1476411,10.9707124 33.5633366,11.557977 L18.6389421,26.557977 C18.0546323,27.1452468 17.1048775,27.1476404 16.517615,26.5633231 L1.44200954,11.5633232 C0.85475238,10.9790112 0.852364866,10.0292667 1.43667688,9.44200954 C2.02098889,8.85475238 2.97073336,8.85236487 3.55799051,9.43667688 L17.5702593,23.3786729 L31.4366634,9.44202305 Z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 626 B |
@ -0,0 +1,5 @@
|
||||
<svg width="50px" height="35px" viewBox="0 0 50 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<polygon
|
||||
points="7.0332611 16 48.75 16 48.75 19 6.95202028 19 20.3913601 32.4393398 18.2700398 34.5606602 1.25 17.5406204 18.3512806 0.439339828 20.4726009 2.56066017"></polygon>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 351 B |
@ -1,4 +1,5 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M26.557977,31.4366634 C27.1452415,32.0209679 27.1476411,32.9707124 26.5633366,33.557977 C25.979032,34.1452415 25.0292876,34.1476411 24.442023,33.5633366 L9.44202305,18.6389421 C8.85475319,18.0546323 8.85235962,17.1048775 9.43667688,16.517615 L24.4366768,1.44200954 C25.0209888,0.85475238 25.9707333,0.852364866 26.5579905,1.43667688 C27.1452476,2.02098889 27.1476351,2.97073336 26.5633231,3.55799051 L12.6213271,17.5702593 L26.557977,31.4366634 Z"></path>
|
||||
<polygon
|
||||
points="12.1313402 17.5406204 27.0300596 32.4393398 24.9087393 34.5606602 7.88869954 17.5406204 24.9899801 0.439339828 27.1113005 2.56066017"></polygon>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 625 B After Width: | Height: | Size: 334 B |
@ -1,6 +1,5 @@
|
||||
<svg width="50px" height="35px" viewBox="0 0 50 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M32.442023,3.56333662 C31.8547585,2.97903206 31.8523589,2.02928763 32.4366634,1.44202305 C33.020968,0.854758464 33.9707124,0.852358886 34.557977,1.43666344 L49.557977,16.3610579 C50.1452468,16.9453677 50.1476404,17.8951225 49.5633231,18.482385 L34.5633232,33.5579905 C33.9790112,34.1452476 33.0292667,34.1476351 32.4420095,33.5633231 C31.8547524,32.9790111 31.8523649,32.0292666 32.4366769,31.4420095 L46.3786729,17.4297407 L32.442023,3.56333662 Z"
|
||||
id="arrow" fill-rule="nonzero"></path>
|
||||
<rect id="line" x="0" y="16" width="48" height="3" rx="1.5"></rect>
|
||||
<polygon
|
||||
points="42.9680397 16 29.5286999 2.56066017 31.6500202 0.439339828 48.7513008 17.5406204 31.731261 34.5606602 29.6099407 32.4393398 43.0492805 19 1.24869919 19 1.24869919 16"></polygon>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 739 B After Width: | Height: | Size: 367 B |
@ -1,4 +1,5 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M9.44202305,3.56333662 C8.85475847,2.97903206 8.85235889,2.02928763 9.43666344,1.44202305 C10.020968,0.854758465 10.9707124,0.852358887 11.557977,1.43666344 L26.557977,16.3610579 C27.1452468,16.9453677 27.1476404,17.8951225 26.5633231,18.482385 L11.5633232,33.5579905 C10.9790112,34.1452476 10.0292667,34.1476351 9.44200954,33.5633231 C8.85475238,32.9790111 8.85236487,32.0292666 9.43667688,31.4420095 L23.3786729,17.4297407 L9.44202305,3.56333662 Z"></path>
|
||||
<polygon
|
||||
points="22.8686598 17.5406204 7.88869954 2.56066017 10.0100199 0.439339828 27.1113005 17.5406204 10.0912607 34.5606602 7.96994036 32.4393398"></polygon>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 628 B After Width: | Height: | Size: 334 B |
@ -1,7 +1,5 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M8.80761184,6.1862915 L29.3137085,26.6923882 C29.8994949,27.2781746 29.8994949,28.2279221 29.3137085,28.8137085 C28.7279221,29.3994949 27.7781746,29.3994949 27.1923882,28.8137085 L6.6862915,8.30761184 C6.10050506,7.72182541 6.10050506,6.77207794 6.6862915,6.1862915 C7.27207794,5.60050506 8.22182541,5.60050506 8.80761184,6.1862915 Z"
|
||||
class="line-left"></path>
|
||||
<path d="M6.6862915,26.6923882 L27.1923882,6.1862915 C27.7781746,5.60050506 28.7279221,5.60050506 29.3137085,6.1862915 C29.8994949,6.77207794 29.8994949,7.72182541 29.3137085,8.30761184 L8.80761184,28.8137085 C8.22182541,29.3994949 7.27207794,29.3994949 6.6862915,28.8137085 C6.10050506,28.2279221 6.10050506,27.2781746 6.6862915,26.6923882 Z"
|
||||
class="line-right"></path>
|
||||
<polygon
|
||||
points="17.5 15.3786797 27.6621477 5.21653197 29.783468 7.33785231 19.6213203 17.5 29.783468 27.6621477 27.6621477 29.783468 17.5 19.6213203 7.33785231 29.783468 5.21653197 27.6621477 15.3786797 17.5 5.21653197 7.33785231 7.33785231 5.21653197"></polygon>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 925 B After Width: | Height: | Size: 437 B |
@ -1,6 +1,4 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<circle class="left" cx="7.5" cy="17.5" r="2"></circle>
|
||||
<circle class="middle" cx="17.5" cy="17.5" r="2"></circle>
|
||||
<circle class="right" cx="27.5" cy="17.5" r="2"></circle>
|
||||
<path d="M3.5,20.3 C1.9536027,20.3 0.7,19.0463973 0.7,17.5 C0.7,15.9536027 1.9536027,14.7 3.5,14.7 C5.0463973,14.7 6.3,15.9536027 6.3,17.5 C6.3,19.0463973 5.0463973,20.3 3.5,20.3 Z M17.5,20.3 C15.9536027,20.3 14.7,19.0463973 14.7,17.5 C14.7,15.9536027 15.9536027,14.7 17.5,14.7 C19.0463973,14.7 20.3,15.9536027 20.3,17.5 C20.3,19.0463973 19.0463973,20.3 17.5,20.3 Z M31.5,20.3 C29.9536027,20.3 28.7,19.0463973 28.7,17.5 C28.7,15.9536027 29.9536027,14.7 31.5,14.7 C33.0463973,14.7 34.3,15.9536027 34.3,17.5 C34.3,19.0463973 33.0463973,20.3 31.5,20.3 Z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 720 B |
@ -1,4 +1,4 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M15.9996412,16.8783208 L15.9996412,7.5 C15.9996412,6.67157288 16.671214,6 17.4996412,6 C18.3280683,6 18.9996412,6.67157288 18.9996412,7.5 L18.9996412,16.8790385 L21.4393398,14.4393398 C22.0251263,13.8535534 22.9748737,13.8535534 23.5606602,14.4393398 C24.1464466,15.0251263 24.1464466,15.9748737 23.5606602,16.5606602 L18.5606602,21.5606602 C17.9748737,22.1464466 17.0251263,22.1464466 16.4393398,21.5606602 L11.4393398,16.5606602 C10.8535534,15.9748737 10.8535534,15.0251263 11.4393398,14.4393398 C12.0251263,13.8535534 12.9748737,13.8535534 13.5606602,14.4393398 L15.9996412,16.8783208 Z M10.5,28 C9.67157288,28 9,27.3284271 9,26.5 C9,25.6715729 9.67157288,25 10.5,25 L24.5,25 C25.3284271,25 26,25.6715729 26,26.5 C26,27.3284271 25.3284271,28 24.5,28 L10.5,28 Z"></path>
|
||||
<path d="M23.9705882,15.6149321 L17.5001879,22.8529412 L11.0294118,15.614659 L12.6140297,14.13906 L16.4261014,18.4006328 L16.4261014,6.38235294 L18.5738986,6.38235294 L18.5738986,18.4284934 L22.3859703,14.1393332 L23.9705882,15.6149321 Z M7.5,28.6176471 L7.5,26.2647059 L27.5,26.2647059 L27.5,28.6176471 L7.5,28.6176471 Z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 942 B After Width: | Height: | Size: 491 B |
@ -1,4 +1,4 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M6.12132034,9 L17.5,20.3786797 L28.8786797,9 L6.12132034,9 Z M31,11.1213203 L18.5606602,23.5606602 C17.9748737,24.1464466 17.0251263,24.1464466 16.4393398,23.5606602 L4,11.1213203 L4,26 L31,26 L31,11.1213203 Z M2.5,6 L32.5,6 C33.3284271,6 34,6.67157288 34,7.5 L34,27.5 C34,28.3284271 33.3284271,29 32.5,29 L2.5,29 C1.67157288,29 1,28.3284271 1,27.5 L1,7.5 C1,6.67157288 1.67157288,6 2.5,6 Z"></path>
|
||||
<path d="M3.03045763,9 L3,9 L3,26 L32,26 L32,9 L31.9695424,9 L17.5,23.3241161 L3.03045763,9 Z M0,6 L35,6 L35,29 L0,29 L0,6 Z M27.7053105,9 L7.29468951,9 L17.5,19.102742 L27.7053105,9 Z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 569 B After Width: | Height: | Size: 354 B |
@ -1,6 +1,6 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<rect class="line-top" x="3" y="6" width="29" height="3" rx="1.5"></rect>
|
||||
<rect class="line-middle" x="3" y="16" width="29" height="3" rx="1.5"></rect>
|
||||
<rect class="line-bottom" x="3" y="26" width="29" height="3" rx="1.5"></rect>
|
||||
<rect class="line-top" x="3" y="6" width="29" height="3"></rect>
|
||||
<rect class="line-middle" x="3" y="16" width="29" height="3"></rect>
|
||||
<rect class="line-bottom" x="3" y="26" width="29" height="3"></rect>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 398 B After Width: | Height: | Size: 371 B |
@ -1,4 +1,4 @@
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M9,30.6571365 L31.5466546,17.5217649 L9,4.38624411 L9,30.6571365 Z M8.06559183,3.82372129 C8.11385613,3.86213396 8.16060259,3.89389381 8.20583948,3.91964378 L8.06559183,3.82372129 Z M8.4983486,31.0038586 C8.46934226,31.0038586 8.4665067,31.0040799 8.49521517,31.0097894 C8.51358323,31.0044274 8.51354824,31.0038586 8.4983486,31.0038586 Z M9.82181934,1.39303795 L33.7559217,15.3368759 L33.9349236,15.4593044 C34.5868249,15.9781407 35,16.6468541 35,17.5216878 C35,18.4257399 34.5132392,19.2516282 33.7559217,19.7064998 L9.82726706,33.6443539 C9.66667195,33.7505899 9.49940323,33.8345151 9.31683935,33.8949975 C9.0236245,33.992138 8.86416284,34.0038586 8.4983486,34.0038586 C8.24745197,34.0038586 8.14898904,33.9995939 7.95603549,33.9612019 C7.73137005,33.9165001 7.55145108,33.8463643 7.32902093,33.7352886 L7.18821849,33.6649755 L7.06507641,33.566969 C6.41317513,33.0481327 6,32.3794194 6,31.5045856 L6,3.53879008 C6,2.63473804 6.4867608,1.80884967 7.22662515,1.3643049 C7.99391167,0.903283625 9.03327302,0.844492269 9.82181934,1.39303795 Z"></path>
|
||||
<path d="M5.21268739,34.0493335 L5.21268739,0.950666475 L35,17.5 L5.21268739,34.0493335 Z M28.8228577,17.5 L8.21268739,6.04933352 L8.21268739,28.9506665 L28.8228577,17.5 Z"></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 341 B |
|
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 695 B |
@ -1,4 +1,5 @@
|
||||
<svg width="50px" height="50px" viewBox="0 0 50 50" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
<svg width="35px" height="35px" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path d="M35.3991009,16.5843195 C35.9048173,16.1143809 36.6957419,16.1433845 37.1656805,16.6491009 C37.6356191,17.1548173 37.6066155,17.9457419 37.1008991,18.4156805 L20.9589061,33.4156805 C20.4523976,33.8863552 19.659996,33.8564187 19.1904442,33.348869 L12.8324372,26.4763471 C12.3636198,25.9695911 12.3943751,25.1787327 12.901131,24.7099153 C13.407887,24.2410979 14.1987454,24.2718532 14.6675628,24.7786091 L20.1748187,30.7315338 L35.3991009,16.5843195 Z"></path>
|
||||
<polygon
|
||||
points="10.6706826 25.357247 32.4535139 5.11547945 34.6318156 7.45962147 10.4996447 29.8845205 0.3681844 18.9331827 2.71714513 16.7600781"></polygon>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 626 B After Width: | Height: | Size: 331 B |
@ -0,0 +1,14 @@
|
||||
{% extends 'main.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="content__frame content__frame--dialog">
|
||||
<div class="content__container">
|
||||
<div class="content__dialog">
|
||||
{% block dialog %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,15 +1,17 @@
|
||||
{% load i18n cms_tags thumbnail %}
|
||||
|
||||
<div class="content__intro reveal_container reveal_self reveal reveal_animation{% if request.current_page.imageextension.image %} image{% endif %}">
|
||||
<h1 class="reveal reveal_animation">
|
||||
{% if content_title %}
|
||||
{{ content_title }}
|
||||
{% else %}
|
||||
{% page_attribute page_title %}
|
||||
{% endif %}
|
||||
</h1>
|
||||
{% if request.current_page.imageextension.image %}
|
||||
{% thumbnail request.current_page.imageextension.image 1600x800 box=request.current_page.imageextension.cropping crop detail as thumb %}
|
||||
<div class="content__intro reveal_container reveal_self reveal reveal_animation{% if image %} image{% endif %}">
|
||||
<div class="content__intro__content reveal reveal_animation">
|
||||
<h1>
|
||||
{% if content_title %}
|
||||
{{ content_title }}
|
||||
{% else %}
|
||||
{% page_attribute page_title %}
|
||||
{% endif %}
|
||||
</h1>
|
||||
</div>
|
||||
{% if image %}
|
||||
{% thumbnail image 1600x800 box=cropping crop detail as thumb %}
|
||||
<div class="content__intro__image scroll reveal reveal_animation" data-ease-multiplier="-2"
|
||||
style="background-image: url({{ thumb.url }})"></div>
|
||||
{% endif %}
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
<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 }}
|
||||
|
||||
{% 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>
|
||||