Version to run on serve
#1
Open
petr
wants to merge 52 commits from petr/www.tagesschule-elementa.ch:mprofiag into standalone
@ -1,6 +1,6 @@
|
||||
*.pyc
|
||||
*.pyo
|
||||
/.env
|
||||
/data
|
||||
/static_collected
|
||||
/docker
|
||||
/node_modules
|
||||
.git
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
DATABASE_URL=postgres://postgres@postgres:5432/db
|
||||
DEFAULT_HAYSTACK_URL=es+https://tcjf1ngoog:qj70l67kk2@tagesschule-elementa-8329801232.eu-west-1.bonsaisearch.net/test-*
|
||||
DATABASE_URL=postgres://django@MuzQzD6yLyaksfw9f6NUDLsK6Tp7gD7f8uX:5432/db
|
||||
DEFAULT_HAYSTACK_URL=es+https://tcjf1ngoog:qj70l67kk2@tagesschule-elementa-8329801232.eu-west-1.bonsaisearch.net/test-*
|
||||
|
||||
@ -1,5 +1,13 @@
|
||||
SECRET_KEY=TEST---asdg4hr63453452542h4sdf25g42s3df54hj38rd4sg3f2d54h3sd5f4g53
|
||||
DEBUG=False
|
||||
DEBUG=True
|
||||
SENTRY_DSN=https://460e310d034c49a794941e087c4fcc6e@sentry.io/1196285
|
||||
DEFAULT_HAYSTACK_URL=es+https://tcjf1ngoog:qj70l67kk2@tagesschule-elementa-8329801232.eu-west-1.bonsaisearch.net/index-*
|
||||
DATABASE_URL=postgres://django:MuzQzD6yLyaksfw9f6NUDLsK6Tp7gD7f8uX@postgres:5432/db
|
||||
DATABASE_URL=postgres://django:MuzQzD6yLyaksfw9f6NUDLsK6Tp7gD7f8uX@postgres:5432/db
|
||||
HTTP_PORT=8009
|
||||
POSTGRES_PASSWORD=MuzQzD6yLyaksfw9f6NUDLsK6Tp7gD7f8uX
|
||||
POSTGRES_USER=django
|
||||
POSTGRES_DB=db
|
||||
POSTGRES_DATA_DIR=./docker/pgdata
|
||||
MEDIA_DIR=./docker/data/media
|
||||
DATA_DIR=./docker/data
|
||||
STATIC_DIR=./docker/static_collected
|
||||
@ -0,0 +1,69 @@
|
||||
# This viminfo file was generated by Vim 8.0.
|
||||
# You may edit it if you're careful!
|
||||
|
||||
# Viminfo version
|
||||
|1,4
|
||||
|
||||
# Value of 'encoding' when this file was written
|
||||
*encoding=utf-8
|
||||
|
||||
|
||||
# hlsearch on (H) or off (h):
|
||||
~h
|
||||
# Command Line History (newest to oldest):
|
||||
:q
|
||||
|2,0,1599761890,,"q"
|
||||
|
||||
# Search String History (newest to oldest):
|
||||
|
||||
# Expression History (newest to oldest):
|
||||
|
||||
# Input Line History (newest to oldest):
|
||||
|
||||
# Debug Line History (newest to oldest):
|
||||
|
||||
# Registers:
|
||||
|
||||
# File marks:
|
||||
'0 1 0 ~/restart.sh
|
||||
|4,48,1,0,1599761890,"~/restart.sh"
|
||||
'1 1 0 ~/restart.sh
|
||||
|4,49,1,0,1599761817,"~/restart.sh"
|
||||
'2 1 0 ~/restart.sh
|
||||
|4,50,1,0,1599761501,"~/restart.sh"
|
||||
'3 1 0 ~/restart.sh
|
||||
|4,51,1,0,1599761501,"~/restart.sh"
|
||||
'4 1 0 ~/restart.sh
|
||||
|4,52,1,0,1599660361,"~/restart.sh"
|
||||
'5 1 0 ~/restart.sh
|
||||
|4,53,1,0,1599660361,"~/restart.sh"
|
||||
'6 1 0 ~/restart.sh
|
||||
|4,54,1,0,1599660361,"~/restart.sh"
|
||||
'7 1 0 ~/restart.sh
|
||||
|4,55,1,0,1599660361,"~/restart.sh"
|
||||
'8 1 0 ~/restart.sh
|
||||
|4,56,1,0,1599485736,"~/restart.sh"
|
||||
'9 1 0 ~/restart.sh
|
||||
|4,57,1,0,1599485736,"~/restart.sh"
|
||||
|
||||
# Jumplist (newest first):
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599761890,"~/restart.sh"
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599761817,"~/restart.sh"
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599761501,"~/restart.sh"
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599660361,"~/restart.sh"
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599485736,"~/restart.sh"
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599480996,"~/restart.sh"
|
||||
-' 1 0 ~/restart.sh
|
||||
|4,39,1,0,1599474185,"~/restart.sh"
|
||||
|
||||
# History of marks within files (newest to oldest):
|
||||
|
||||
> ~/restart.sh
|
||||
* 1599761887 0
|
||||
" 1 0
|
||||
@ -0,0 +1,45 @@
|
||||
# Tagesschule elementa
|
||||
|
||||
ssh tagesschule@docker.mprofiag.de
|
||||
sudo ./docker-update.sh
|
||||
|
||||
## Docker
|
||||
|
||||
1. Copy environment files `.env*.example` to `.env*` and make the configuration changes.
|
||||
Configure database user and ports for docker.
|
||||
- HTTP_PORT=8009 [.env] ...
|
||||
|
||||
|
||||
2. Main app has several mountpoints / volumes. Point them into the appropriate location on
|
||||
your filesystem
|
||||
- ./docker/static_collected
|
||||
- ./docker/data/media
|
||||
- ./docker/data
|
||||
|
||||
3. To start
|
||||
|
||||
docker-compose up
|
||||
|
||||
4. Restore DB
|
||||
|
||||
docker exec -i tagesschule_db_1 pg_restore -U django --no-owner -d db < 41ebf901-4607-4653-9b00-54a42d877b38.dump
|
||||
|
||||
3. Migrate
|
||||
|
||||
docker-compose exec web manage.py migrate
|
||||
|
||||
5. Add admin user
|
||||
|
||||
In docker container `docker-compose exec web bash` run
|
||||
|
||||
python manage.py shell
|
||||
|
||||
In that shell create admin user (https://stackoverflow.com/questions/18503770/how-to-create-user-from-django-shell)
|
||||
|
||||
user@host> manage.py shell
|
||||
>>> from django.contrib.auth.models import User
|
||||
>>> user=User.objects.create_user('foo', password='bar')
|
||||
>>> user.is_superuser=True
|
||||
>>> user.is_staff=True
|
||||
>>> user.save()
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
#/bin/bash
|
||||
exec docker-compose run --rm web gulp "$@" --debug
|
||||
exec docker-compose run --rm web gulp "$@" --inspect
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
cd /var/www/tagesschule && git pull && docker-compose build web
|
||||
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
cd /var/www/tagesschule && docker-compose logs --tail=100 -f
|
||||
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
cd /var/www/tagesschule && git pull && docker-compose restart web
|
||||
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
cd /var/www/tagesschule && docker-compose up
|
||||
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
cd /var/www/tagesschule && git pull && docker-compose build web && docker-compose up
|
||||
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
cd /var/www/tagesschule && docker-compose exec web bash
|
||||
@ -0,0 +1,3 @@
|
||||
.iframe {
|
||||
margin: em(50px) 0;
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.21 on 2020-03-25 16:11
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
import django.db.models.deletion
|
||||
import parler.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('portal', '0004_auto_20180718_1754'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='announcement',
|
||||
options={'ordering': ['-updated'], 'verbose_name': 'Neuigkeit', 'verbose_name_plural': 'Aktuell'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='announcementtranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.Announcement'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='downloadfiletranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.DownloadFile'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='downloadsectiontranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.DownloadSection'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='informationsectiontranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.InformationSection'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='informationtranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='portal.Information'),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,13 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from aldryn_forms.action_backends_base import BaseAction
|
||||
|
||||
class DefaultAction(BaseAction):
|
||||
verbose_name = 'Default'
|
||||
|
||||
def form_valid(self, cmsplugin, instance, request, form):
|
||||
email = form.cleaned_data.get('emailfield_1', None)
|
||||
if email and email in ['eric.jones.z.mail@gmail.com']:
|
||||
return
|
||||
recipients = cmsplugin.send_notifications(instance, form)
|
||||
form.instance.set_recipients(recipients)
|
||||
form.save()
|
||||
@ -0,0 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.21 on 2020-03-25 16:11
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
import django.db.models.deletion
|
||||
import parler.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('project', '0009_auto_20190214_1250'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='notificationtranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='project.Notification'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='slideritemqualificationtranslation',
|
||||
name='master',
|
||||
field=parler.fields.TranslationsForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='project.SliderItemQualification'),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,26 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.21 on 2021-11-04 16:08
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import djangocms_text_ckeditor.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('project', '0010_auto_20200325_1611'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='timetable',
|
||||
name='video_cta',
|
||||
field=djangocms_text_ckeditor.fields.HTMLField(blank=True, null=True, verbose_name='Video CTA'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='timetable',
|
||||
name='video_vimeo_id',
|
||||
field=models.IntegerField(blank=True, help_text='e.g. https://vimeo.com/<b>131766159</b>', null=True, verbose_name='Video Vimeo ID'),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.21 on 2024-05-23 15:51
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('cms', '0020_old_tree_cleanup'),
|
||||
('project', '0011_auto_20211104_1608'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Iframe',
|
||||
fields=[
|
||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='project_iframe', serialize=False, to='cms.CMSPlugin')),
|
||||
('html', models.TextField(verbose_name='HTML')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Iframe',
|
||||
'verbose_name_plural': 'Iframes',
|
||||
'abstract': False,
|
||||
},
|
||||
bases=('cms.cmsplugin',),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,5 @@
|
||||
<div class="iframe reveal_container">
|
||||
<div class="reveal reveal_animation">
|
||||
<div style="display:inline-block;vertical-align:top;width:300px;margin:20px auto;color:#333;background:#fff;border:1px solid #ddd;line-height:1.2;text-decoration:none;padding:0"><a href="https://read.bookcreator.com/Y0SYhDEKm4Wfw50K2K1EsVR6BSO2/3EzILpspTZubAkL9btIklA" style="display:block;color:#333;line-height:1.2;text-decoration:none;padding:0;font-weight:normal" target="_blank" rel="noreferrer"><img src="https://assets.api.bookcreator.com/Y0SYhDEKm4Wfw50K2K1EsVR6BSO2/books/3EzILpspTZubAkL9btIklA/cover/share" style="max-height:300px;max-width:100%;display:block;margin:0 auto;padding:0;border:none" alt="Unsere Lieblingstiere"/></a><div style="display:block;padding:20px;overflow:hidden;overflow-x:hidden;border-top:1px solid #ddd"><div style="display:block;color:#333;line-height:1.2;text-decoration:none;padding:0;font-weight:normal;font-size:21px;margin:0 0 0.25em"><a href="https://read.bookcreator.com/Y0SYhDEKm4Wfw50K2K1EsVR6BSO2/3EzILpspTZubAkL9btIklA" style="display:block;color:#333;line-height:1.2;text-decoration:none;padding:0;font-weight:normal" target="_blank" rel="noreferrer">Unsere Lieblingstiere</a></div><div style="display:block;color:#333;line-height:1.2;text-decoration:none;padding:0;font-weight:normal;font-size:16px;margin:0 0 0.5em"><a href="https://read.bookcreator.com/Y0SYhDEKm4Wfw50K2K1EsVR6BSO2/3EzILpspTZubAkL9btIklA" style="display:block;color:#333;line-height:1.2;text-decoration:none;padding:0;font-weight:normal" target="_blank" rel="noreferrer">Click to read this book, made with Book Creator</a></div><div style="display:block;color:#455a64;line-height:1.2;text-decoration:none;padding:0;font-weight:bold;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px"><a href="https://read.bookcreator.com/Y0SYhDEKm4Wfw50K2K1EsVR6BSO2/3EzILpspTZubAkL9btIklA" style="display:block;color:#333;line-height:1.2;text-decoration:none;padding:0;font-weight:normal" target="_blank" rel="noreferrer">read.bookcreator.com</a></div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,3 +1,5 @@
|
||||
{% for name, value in form_data %}
|
||||
<p>{{ name }}: {{ value|default_if_none:"—" }}</p>
|
||||
{% if name %}
|
||||
<p>{{ name }}: {{ value|default_if_none:"—" }}</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
Loading…
Reference in New Issue