Compare commits

..

No commits in common. '2750bdd960f5c3ddfb7a029371d3b628f2b52887' and '858ac18edd3cde65047d98d606f8bafad8c27a19' have entirely different histories.

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored

@ -5,4 +5,3 @@ db.sqlite3
customData.yml
settings.py
mo-key.json
*/migrations/

@ -67,7 +67,7 @@
#week { page-break-after: always; }
div#outgoing:not(:first-child) { display: none; }
</style>
<!--@JS-DATA@--><script>const myDATA ={'29.04.24': ['', '2', 'Russisch', '0', ' - 14:30 Uhr', '1', ' - Lothar Hoffmann', '1', ' - 09:30 Uhr', '1', ' - Peter Dörsam', '4', ' - 14:00 Uhr', '2', ' - Jürgen Zielke', '5', '', '3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']}</script>
<!--@JS-DATA@--><script>const myDATA ={'15.04.24': ['', '5', 'Russisch', '0', ' - 14:30 Uhr', '1', ' - Samuel Zielke', '1', ' - 09:30 Uhr', '1', ' - Peter Dörsam', '4', ' - 14:00 Uhr', '2', ' - Fred Schlöffel', '5', ' - 09:30 Uhr', '2', ' - Friedhelm Schlöffel', '', '', '', '', '', '', '', '', 'Fred Schlöffel', 'Jürgen Zielke', 'Gary George', 'Axel Hahn', 'Samuel Zielke', 'Daniel Zielke', 'Talita Hahn', 'Erwin Gert', 'Jürgen Zielke']}</script>
</head>
@ -673,17 +673,4 @@
</script>
</body>
</html>window.weekdate[weeklistpos]][myIndex];
}
}
myIndex = myIndex + 1;
});
}
setData(myDATA)
</script>
</body>
</html>

@ -1,19 +0,0 @@
# Generated by Django 5.0.4 on 2024-05-02 07:14
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0027_week_info_field'),
]
operations = [
migrations.AddField(
model_name='info',
name='additional_cleaning',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='additional_cleaning_Person', to='main.group'),
),
]

@ -1,17 +0,0 @@
# Generated by Django 5.0.4 on 2024-05-02 07:25
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0028_info_additional_cleaning'),
]
operations = [
migrations.RemoveField(
model_name='info',
name='additional_cleaning',
),
]

@ -1,19 +0,0 @@
# Generated by Django 5.0.4 on 2024-05-02 07:25
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0029_remove_info_additional_cleaning'),
]
operations = [
migrations.AddField(
model_name='info',
name='additional_cleaning',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='additional_cleaning_Person', to='main.group'),
),
]

@ -46,38 +46,26 @@ class service(models.Model):
date_1 = models.DateField(auto_now_add=False, null=True)
time_1 = models.TimeField(auto_now_add=False, null=True)
type_1 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
sonder_1 = models.BooleanField(default=False)
sonder_1_name = models.CharField(max_length=50, null=True)
speaker_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_1", null=True)
date_2 = models.DateField(auto_now_add=False, null=True)
time_2 = models.TimeField(auto_now_add=False, null=True)
type_2 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
sonder_2 = models.BooleanField(default=False)
sonder_2_name = models.CharField(max_length=50, null=True)
speaker_2 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_2", null=True)
date_3 = models.DateField(auto_now_add=False, null=True)
time_3 = models.TimeField(auto_now_add=False, null=True)
type_3 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
sonder_3 = models.BooleanField(default=False)
sonder_3_name = models.CharField(max_length=50, null=True)
speaker_3 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_3", null=True)
date_4 = models.DateField(auto_now_add=False, null=True)
time_4 = models.TimeField(auto_now_add=False, null=True)
type_4 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
sonder_4 = models.BooleanField(default=False)
sonder_4_name = models.CharField(max_length=50, null=True)
speaker_4 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_4", null=True)
date_5 = models.DateField(auto_now_add=False, null=True)
time_5 = models.TimeField(auto_now_add=False, null=True)
type_5 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
sonder_5 = models.BooleanField(default=False)
sonder_5_name = models.CharField(max_length=50, null=True)
speaker_5 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_5", null=True)
date_6 = models.DateField(auto_now_add=False, null=True)
time_6 = models.TimeField(auto_now_add=False, null=True)
type_6 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
sonder_6 = models.BooleanField(default=False)
sonder_6_name = models.CharField(max_length=50, null=True)
speaker_6 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_6", null=True)
def __str__(self):
@ -108,7 +96,6 @@ class info(models.Model):
week = models.ForeignKey(week, on_delete=models.CASCADE)
gast = models.ForeignKey(group, on_delete=models.CASCADE, related_name="gastPerson", null=True)
cleaning = models.ForeignKey(group, on_delete=models.CASCADE, related_name="CleanPerson", null=True)
additional_cleaning = models.ForeignKey(group, on_delete=models.CASCADE, related_name="additional_cleaning_Person", null=True)
def __str__(self):
return str(self.week)

@ -30,8 +30,7 @@
#other { margin: 0.250rem 3.000rem; }
#technik { margin: 0 3.000rem; }
#header { padding-bottom: 2rem; }
select { width: 8rem;}
input { width: 8rem;}
select { width: 7rem;}
</style>
<script>
function loading_new(){
@ -83,17 +82,6 @@
</select>
</p>
</td>
<td><p class="theme" style="text-align: left">
<b>Zwischen-Reinigung </b>
<span class="info">Gruppe:</span>
<select name="info" id="info">
<option value="0"{% if not info_data.additional_cleaning.id %}selected{% endif %}></option>
{% for i in gruppen_data %}
<option value="{{ i.id }}"{% if info_data.additional_cleaning.id == i.id %}selected{% endif %}>{{ i.Name }}</option>
{% endfor %}
</select>
</p>
</td>
<td><p class="theme" style="text-align: left">
<b>Wocheninfo: </b>
<input type="text" name="week_info" id="week_info" value="{{ week_info|default_if_none:"" }}">
@ -105,22 +93,6 @@
<!-- PREDIGTDIENST -->
<script>
function update_enable(element, item){
if (item == 1){
let id_act = "smm_" + element + "_select"
let id_old = "smm_" + element + "_text"
document.getElementById(id_old).setAttribute("disabled", "")
document.getElementById(id_act).removeAttribute("disabled")
} else if (item == 2){
let id_act = "smm_" + element + "_select"
let id_old = "smm_" + element + "_text"
document.getElementById(id_act).setAttribute("disabled", "")
document.getElementById(id_old).removeAttribute("disabled")
}
}
</script>
<div id="technik">
<table style="margin-top: 2.000rem;">
<tr>
@ -134,47 +106,20 @@
<div id="s">
<table>
<!-- ÜBERSCHRIFTEN -->
<tr>
<td style="width: 2.750rem;"><div></div></td>
<td>
<b style="font-size: 1.2rem;">Datum und Zeit</b>
</td>
<td>
<b style="font-size: 1.2rem;">Ort</b>
</td>
<td>
<b style="font-size: 1.2rem;">Leiter</b>
</td>
</tr>
<!-- 1. DIENST -->
<tr style="height: 5rem;">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">1. Dienst</div></td>
<td>
<input type="date" name="smd" id="smd_1" min="{{ date_area.min }}" max="{{ date_area.max }}" value="{{ service_data.date_1|date:"Y-m-d"|default_if_none:"0" }}">
<input type="time" name="smt" id="smt_1" value="{{ service_data.time_1|time:"H:i"|default_if_none:"0" }}">
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_1" id="" onclick="update_enable(1, 1)" value="smm_1_select" {% if not service_data.sonder_1 %} checked {%endif%} />
<label class="form-check-label" for="">Auswahl: </label>
<select name="smm" id="smm_1_select" {% if service_data.sonder_1 %} disabled {% endif %}>
<option value="0"{% if not service_data.type_1 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_1 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_1 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_1 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_1" id="" onclick="update_enable(1, 2)" value="smm_1_sonder" {%if service_data.sonder_1 %} checked {%endif%}/>
<label class="form-check-label" for="smm_1_sonder"> Sonder: </label>
<input type="text" style="height: 1.5rem; font-size: 0.8rem; margin-left: 0.55rem;" maxlength="20" placeholder="max. 20 Zeichen" name="smm" id="smm_1_text" value="{{ service_data.sonder_1_name|default_if_none:"" }}" {% if not service_data.sonder_1 %} disabled {%endif%}>
</div>
<select name="smm" id="smm_1">
<option value="0"{% if not service_data.type_1 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_1 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_1 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_1 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</td>
<td>
<select name="sms" id="sms_1">
@ -187,31 +132,21 @@
</tr>
<!-- 2. DIENST -->
<tr style="height: 5rem;">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">2. Dienst</div></td>
<td>
<input type="date" name="smd" id="smd_2" min="{{ date_area.min }}" max="{{ date_area.max }}" value="{{ service_data.date_2|date:"Y-m-d"|default_if_none:"0" }}">
<input type="time" name="smt" id="smt_2" value="{{ service_data.time_2|time:"H:i"|default_if_none:"0" }}">
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_2" id="" onclick="update_enable(2, 1)" value="smm_2_select" {% if not service_data.sonder_2 %} checked {%endif%} />
<label class="form-check-label" for="">Auswahl: </label>
<select name="smm" id="smm_2_select" {% if service_data.sonder_2 %} disabled {% endif %}>
<option value="0"{% if not service_data.type_2 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_2 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_2 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_2 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_2" id="" onclick="update_enable(2, 2)" value="smm_2_sonder" {% if service_data.sonder_2 %} checked {%endif%}/>
<label class="form-check-label" for="smm_2_sonder"> Sonder: </label>
<input type="text" style="height: 1.5rem; font-size: 0.8rem; margin-left: 0.55rem;" maxlength="20" placeholder="max. 20 Zeichen" name="smm" id="smm_2_text" value="{{ service_data.sonder_2_name|default_if_none:"" }}" {% if not service_data.sonder_2 %} disabled {%endif%}>
</div>
<select name="smm" id="smm_2">
<option value="0"{% if not service_data.type_2 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_2 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_2 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_2 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</td>
<td>
<label for="sms_2"></label>
<select name="sms" id="sms_2">
<option value="0"{% if not service_data.speaker_2 %}selected{% endif %}></option>
{% for i in sm %}
@ -222,31 +157,21 @@
</tr>
<!-- 3. DIENST -->
<tr style="height: 5rem;">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">3. Dienst</div></td>
<td>
<input type="date" name="smd" id="smd_3" min="{{ date_area.min }}" max="{{ date_area.max }}" value="{{ service_data.date_3|date:"Y-m-d"|default_if_none:"0" }}">
<input type="time" name="smt" id="smt_3" value="{{ service_data.time_3|time:"H:i"|default_if_none:"0" }}">
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_3" id="" onclick="update_enable(3, 1)" value="smm_3_select" {% if not service_data.sonder_3 %} checked {%endif%} />
<label class="form-check-label" for="">Auswahl: </label>
<select name="smm" id="smm_3_select" {% if service_data.sonder_3 %} disabled {% endif %}>
<option value="0"{% if not service_data.type_3 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_3 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_3 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_3 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_1" id="" onclick="update_enable(3, 2)" value="smm_3_sonder" {% if service_data.sonder_3 %} checked {%endif%}/>
<label class="form-check-label" for="smm_3_sonder"> Sonder: </label>
<input type="text" style="height: 1.5rem; font-size: 0.8rem; margin-left: 0.55rem;" maxlength="20" placeholder="max. 20 Zeichen" name="smm" id="smm_3_text" value="{{ service_data.sonder_3_name|default_if_none:"" }}" {% if not service_data.sonder_3 %} disabled {%endif%}>
</div>
<select name="smm" id="smm_3">
<option value="0" {% if not service_data.type_3 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_3 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_3 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_3 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</td>
<td>
<label for="sms_3"></label>
<select name="sms" id="sms_3">
<option value="0"{% if not service_data.speaker_3 %}selected{% endif %}></option>
{% for i in sm %}
@ -257,31 +182,21 @@
</tr>
<!-- 4. DIENST -->
<tr style="height: 5rem;">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">4. Dienst</div></td>
<td>
<input type="date" name="smd" id="smd_4" min="{{ date_area.min }}" max="{{ date_area.max }}" value="{{ service_data.date_4|date:"Y-m-d"|default_if_none:"0" }}">
<input type="time" name="smt" id="smt_4" value="{{ service_data.time_4|time:"H:i"|default_if_none:"0" }}">
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_4" id="" onclick="update_enable(4, 1)" value="smm_4_select" {% if not service_data.sonder_4 %} checked {%endif%} />
<label class="form-check-label" for="">Auswahl: </label>
<select name="smm" id="smm_4_select" {% if service_data.sonder_4 %} disabled {% endif %}>
<option value="0"{% if not service_data.type_4 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_4 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_4 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_4 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_4" id="" onclick="update_enable(4, 2)" value="smm_4_sonder" {% if service_data.sonder_4 %} checked {%endif%}/>
<label class="form-check-label" for="smm_4_sonder"> Sonder: </label>
<input type="text" style="height: 1.5rem; font-size: 0.8rem; margin-left: 0.55rem;" maxlength="20" placeholder="max. 20 Zeichen" name="smm" id="smm_4_text" value="{{ service_data.sonder_4_name|default_if_none:"" }}" {% if not service_data.sonder_4 %} disabled {%endif%}>
</div>
<select name="smm" id="smm_4">
<option value="0"{% if not service_data.type_4 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_4 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_4 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_4 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</td>
<td>
<label for="sms_4"></label>
<select name="sms" id="sms_4">
<option value="0"{% if not service_data.speaker_4 %}selected{% endif %}></option>
{% for i in sm %}
@ -292,31 +207,21 @@
</tr>
<!-- 5. DIENST -->
<tr style="height: 5rem;">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">5. Dienst</div></td>
<td>
<input type="date" name="smd" id="smd_5" min="{{ date_area.min }}" max="{{ date_area.max }}" value="{{ service_data.date_5|date:"Y-m-d"|default_if_none:"0" }}">
<input type="time" name="smt" id="smt_5" value="{{ service_data.time_5|time:"H:i"|default_if_none:"0" }}">
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_5" id="" onclick="update_enable(5, 1)" value="smm_5_select" {% if not service_data.sonder_5 %} checked {%endif%} />
<label class="form-check-label" for="">Auswahl: </label>
<select name="smm" id="smm_5_select" {% if service_data.sonder_5 %} disabled {% endif %}>
<option value="0"{% if not service_data.type_5 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_5 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_5 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_5 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_5" id="" onclick="update_enable(5, 2)" value="smm_5_sonder" {% if service_data.sonder_5 %} checked {%endif%}/>
<label class="form-check-label" for="smm_5_sonder"> Sonder: </label>
<input type="text" style="height: 1.5rem; font-size: 0.8rem; margin-left: 0.55rem;" maxlength="20" placeholder="max. 20 Zeichen" name="smm" id="smm_5_text" value="{{ service_data.sonder_5_name|default_if_none:"" }}" {% if not service_data.sonder_5 %} disabled {%endif%}>
</div>
<select name="smm" id="smm_5">
<option value="0"{% if not service_data.type_5 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_5 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_5 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_5 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</td>
<td>
<label for="sms_5"></label>
<select name="sms" id="sms_5">
<option value="0"{% if not service_data.speaker_5 %}selected{% endif %}></option>
{% for i in sm %}
@ -327,31 +232,21 @@
</tr>
<!-- 6. DIENST -->
<tr style="height: 5rem;">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">6. Dienst</div></td>
<td>
<input type="date" name="smd" id="smd_6" min="{{ date_area.min }}" max="{{ date_area.max }}" value="{{ service_data.date_6|date:"Y-m-d"|default_if_none:"0" }}">
<input type="time" name="smt" id="smt_6" value="{{ service_data.time_6|time:"H:i"|default_if_none:"0" }}">
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_6" id="" onclick="update_enable(6, 1)" value="smm_6_select" {% if not service_data.sonder_6 %} checked {%endif%} />
<label class="form-check-label" for="">Auswahl: </label>
<select name="smm" id="smm_6_select" {% if service_data.sonder_6 %} disabled {% endif %}>
<option value="0"{% if not service_data.type_6 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_6 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_6 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_6 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="smm_6" id="" onclick="update_enable(6, 2)" value="smm_6_sonder" {% if service_data.sonder_6 %} checked {%endif%}/>
<label class="form-check-label" for="smm_6_sonder"> Sonder: </label>
<input type="text" style="height: 1.5rem; font-size: 0.8rem; margin-left: 0.55rem;" maxlength="20" placeholder="max. 20 Zeichen" name="smm" id="smm_6_text" value="{{ service_data.sonder_6_name|default_if_none:"" }}" {% if not service_data.sonder_5 %} disabled {%endif%}/>
</div>
<select name="smm" id="smm_6">
<option value="0"{% if not service_data.type_6 %}selected{% endif %}></option>
<option value="1"{% if service_data.type_6 == 1 %}selected{% endif %}>Zoom</option>
<option value="2"{% if service_data.type_6 == 2 %}selected{% endif %}>Saal</option>
<option value="3"{% if service_data.type_6 == 3 %}selected{% endif %}>Gruppe</option>
</select>
</td>
<td>
<label for="sms_6"></label>
<select name="sms" id="sms_6">
<option value="0"{% if not service_data.speaker_6 %}selected{% endif %}></option>
{% for i in sm %}

@ -4,13 +4,6 @@ import datetime
from . import models as MainModel
from django.http import JsonResponse
from . import library
from django import template
register = template.Library()
@register.filter
def sort_lower(lst, key_name):
return sorted(lst, key=lambda item: getattr(item, key_name).lower())
def actualMonday():
today = datetime.date.today()
@ -54,7 +47,7 @@ def createApi():
my_list = {}
# Wir wollen 8 Wochen übertragen (Wenn so viele gepflegt sind)
for i in range(0, 12):
for i in range(0, 8):
# Aktuelle Woche abfragen und String generieren
new_actual = actual + datetime.timedelta(weeks=+i)
new_actual = new_actual.strftime("%d.%m.%y")
@ -80,38 +73,17 @@ def createApi():
DatesOfServiceWeek = []
date = str(db_service_weekly.__getattribute__("date_"+str(i)).weekday()) if db_service_weekly.__getattribute__("date_"+str(i)) != None else ""
DatesOfServiceWeek.append(date)
time = " " + db_service_weekly.__getattribute__("time_"+str(i)).strftime("%H:%M Uhr") if db_service_weekly.__getattribute__("time_"+str(i)) != None else ""
time = " - " + db_service_weekly.__getattribute__("time_"+str(i)).strftime("%H:%M Uhr") if db_service_weekly.__getattribute__("time_"+str(i)) != None else ""
DatesOfServiceWeek.append(time)
type = str(db_service_weekly.__getattribute__("type_"+str(i))) if db_service_weekly.__getattribute__("type_"+str(i)) != None else ""
DatesOfServiceWeek.append(str(type))
if db_service_weekly.__getattribute__("speaker_"+str(i)) != None:
name = " " + str(db_service_weekly.__getattribute__("speaker_"+str(i)))[:3] + ". " + str(db_service_weekly.__getattribute__("speaker_"+str(i)).name)
name = " - " + str(db_service_weekly.__getattribute__("speaker_"+str(i))) + " " + str(db_service_weekly.__getattribute__("speaker_"+str(i)).name)
else:
name = ""
DatesOfServiceWeek.append(name)
# Type
service_type = ['Zoom', 'Saal', 'Gruppe']
if db_service_weekly.__getattribute__(f"sonder_{i}"):
type = str(db_service_weekly.__getattribute__(f"sonder_{i}_name")) if db_service_weekly.__getattribute__(f"sonder_{i}_name") != None else ""
else:
type = str(service_type[db_service_weekly.__getattribute__(f"type_{i}")-1]) if db_service_weekly.__getattribute__(f"type_{i}") != 0 else ""
DatesOfServiceWeek.append(type)
DatesOfService[i] = DatesOfServiceWeek
# Infos Vorbereiten
if db_info.get(week=week).gast != None:
gast_info = str("Gruppe " + db_info.get(week=week).gast.Name) if db_info.get(week=week).gast.Name != "Russisch" else str(db_info.get(week=week).gast.Name)
else:
gast_info = ""
if db_info.get(week=week).cleaning != None:
cleaning_info = str("Gruppe " + db_info.get(week=week).cleaning.Name) if db_info.get(week=week).cleaning.Name != "Russisch" else str(db_info.get(week=week).cleaning.Name)
else:
cleaning_info = ""
if db_info.get(week=week).additional_cleaning != None:
additional_cleaning_info = str("Gruppe " + db_info.get(week=week).additional_cleaning.Name) if db_info.get(week=week).additional_cleaning.Name != "Russisch" else str(db_info.get(week=week).additional_cleaning.Name)
else:
additional_cleaning_info = ""
# FERTIG
# Das fertige Array zusammenstellen für den Druck dieser Woche
@ -119,9 +91,8 @@ def createApi():
# INFO
str("- " + week.info_field) if week.info_field != "" else "",
gast_info,
cleaning_info,
additional_cleaning_info,
str(db_info.get(week=week).gast.Name) if db_info.get(week=week).gast != None else "",
str(db_info.get(week=week).cleaning.Name) if db_info.get(week=week).cleaning != None else "",
# PREDIGTDIENST
DatesOfService[1][0], DatesOfService[1][1],
@ -186,9 +157,6 @@ def index(request):
if request.method == "POST":
if 'formsend' in request.POST:
# FOR DEBUG
# print(request.POST)
# ÜBERPRÜFEN OB DIE "WEEK" SCHON EINEN EINTRAG HAT - SONST ANLEGEN
MainModel.week.objects.create(date_of_monday=strDate) if MainModel.week.objects.filter(date_of_monday=strDate).count() < 1 else ...
@ -221,12 +189,10 @@ def index(request):
week = MainModel.week.objects.get(date_of_monday=strDate),
gast = gruppen_data.get(id=post_info[0]) if post_info[0] != "0" else None,
cleaning = gruppen_data.get(id=post_info[1]) if post_info[1] != "0" else None,
additional_cleaning = gruppen_data.get(id=post_info[2]) if post_info[2] != "0" else None,
)
else:
info_data.gast = gruppen_data.get(id=post_info[0]) if post_info[0] != "0" else None
info_data.cleaning = gruppen_data.get(id=post_info[1]) if post_info[1] != "0" else None
info_data.additional_cleaning = gruppen_data.get(id=post_info[2]) if post_info[2] != "0" else None
info_data.save()
# PREDIGTDIENST
@ -236,15 +202,8 @@ def index(request):
service_data.__setattr__("date_"+str(i), post_service_date[i-1]) if post_service_date[i-1] != "" else service_data.__setattr__("date_"+str(i), None)
# Uhrzeit
service_data.__setattr__("time_"+str(i), post_service_time[i-1]) if post_service_time[i-1] != "" else service_data.__setattr__("time_"+str(i), None)
# ORT/TYP
if str(request.POST.get(f'smm_{i}')).find("sonder") > 0:
service_data.__setattr__(f"sonder_{i}", True)
service_data.__setattr__(f"type_{i}", None)
service_data.__setattr__(f"sonder_{i}_name", post_service_type[i-1])
else:
service_data.__setattr__(f"sonder_{i}", False)
service_data.__setattr__(f"type_{i}", post_service_type[i-1])
service_data.__setattr__(f"sonder_{i}_name", None)
# Type
service_data.__setattr__("type_"+str(i), post_service_type[i-1]) if post_service_type[i-1] != "0" else service_data.__setattr__("type_"+str(i), None)
# Leiter
service_data.__setattr__("speaker_"+str(i), persons.get(id=post_service_speaker[i-1])) if post_service_speaker[i-1] != "0" else service_data.__setattr__("speaker_"+str(i), None)
service_data.save()
@ -266,7 +225,7 @@ def index(request):
regie_data.stage = persons.get(id=post_regie[4]) if post_regie[4] != "0" else None
regie_data.save()
# library.writeToHtml(createApi())
library.writeToHtml(createApi())
@ -276,7 +235,7 @@ def index(request):
regie_data = MainModel.regie.objects.filter(week__date_of_monday=strDate)[0] if MainModel.regie.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
info_data = MainModel.info.objects.filter(week__date_of_monday=strDate)[0] if MainModel.info.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
gruppen_data = MainModel.group.objects.all()
persons = MainModel.contributors.objects.all().order_by('name')
persons = MainModel.contributors.objects.all()
service_data = MainModel.service.objects.filter(week__date_of_monday=strDate)[0] if MainModel.service.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
return render(request, 'main/index.html', {'actual' : actual,
'error' : error,
@ -300,3 +259,4 @@ def index(request):
'gruppen_data' : gruppen_data,
'service_data' : service_data
})

Binary file not shown.

@ -1,688 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="tb-margin" content="0">
<meta name="tb-orientation" content="portrait">
<meta name="tb-option-song-titles" content="no">
<meta name="tb-option-mwb-number" content="yes">
<meta name="tb-option-wt-number" content="yes">
<meta name="tb-option-duration" content="yes">
<meta name="author" content="Stephan Strauch">
<meta name="version" content="5.0.1">
<title>Combined Schedule (colorful)</title>
<script>window.weekdate = [];</script>
<style type="text/css">
body { margin: 0; padding: 0; font-family: 'Lato',sans-serif; font-size: 0.750rem; }
table { font-size: inherit; width: 100%; margin: 0; border-collapse: collapse; }
td { height: 1.500rem; padding: 0; vertical-align: middle; position: relative; }
hr { border: 0; height: 0.100rem; background-color: #cccccc; margin: 0 6.000rem; }
h1, h2, h3 { font-family: 'Ubuntu Condensed',serif; text-align: center; }
h2, h3, h4 { text-transform: uppercase; }
h1 { font-size: 2.000rem; font-weight: normal; color: black; margin: 1.500rem 0 0 0; }
h2 { font-size: 1.250rem; font-weight: normal; color: black; margin: 0; }
h3 { font-size: 1.125rem; font-weight: bold; color: white; margin: 0 0.250rem; }
h4 { font-size: 1.000rem; font-weight: bold; margin: 0 0.500rem; }
p { margin: 0 0.500rem; line-height: 0.750rem; }
svg { margin: auto; display: block; }
.info { font-weight: normal; color: gray; }
.theme { font-weight: normal; color: black; }
.name { font-weight: normal; font-style: italic; color: #333333; text-align: right; white-space: nowrap; }
.infobox { width: 1.000rem; height: 1.000rem; line-height: 1.000rem; font-size: 0.625rem; font-weight: bold; text-align: center; color: white; }
.starttime { width: auto; height: 1.500rem; line-height: 1.500rem; margin: auto; font-size: 0.625rem; color: black; }
.duration { margin: auto 0 auto auto; }
.counselgw { width: 1.500rem; height: 1.500rem; line-height: 1.500rem; font-size: 0.625rem; font-weight: bold; text-align: center; position: absolute; top: 0; left: 0; right:0; bottom: 0; color: white; background-color: rgba(101, 97, 100, 1); }
.counselfm { width: 1.500rem; height: 1.500rem; line-height: 1.500rem; font-size: 0.625rem; font-weight: bold; text-align: center; position: absolute; top: 0; left: 0; right:0; bottom: 0; color: white; background-color: rgba(199, 137, 9, 1); }
.gw { color: rgba(101, 97, 100, 1); }
.fm { color: rgba(199, 137, 9, 1); }
.cl { color: rgba(153, 19, 30, 1); }
.pt { color: rgba(47, 72, 112, 1); }
.wt { color: rgba(77, 101, 77, 1); }
.gwb { background-color: rgba(101, 97, 100, 1); }
.gwb50 { background-color: rgba(101, 97, 100, 0.5); }
.fmb { background-color: rgba(199, 137, 9, 1); }
.fmb50 { background-color: rgba(199, 137, 9, 0.5); }
.clb { background-color: rgba(153, 19, 30, 1); }
.clb50 { background-color: rgba(153, 19, 30, 0.5); }
.ptb { background-color: rgba(47, 72, 112, 1); }
.ptb50 { background-color: rgba(47, 72, 112, 0.5); }
.wtb { background-color: rgba(77, 101, 77, 1); }
.wtb50 { background-color: rgba(77, 101, 77, 0.5); }
.cob { background-color: #333333; }
.osb50 { background-color: rgba(169, 146, 140, 0.5); }
.t { background-color: rgba(5, 72, 81, 0.1); }
.s { background-color: lightgray; }
#gw { margin: 0 3.000rem; background-color: rgba(101, 97, 100, 0.1); }
#fm { margin: 0.250rem 3.000rem; background-color: rgba(199, 137, 9, 0.1); }
#cl { margin: 0 3.000rem; background-color: rgba(153, 19, 30, 0.1); }
#pt { margin: 0 3.000rem; background-color: rgba(47, 72, 112, 0.1); }
#wt { margin: 0.250rem 3.000rem 0 3.000rem; background-color: rgba(77, 101, 77, 0.1); }
#os { margin: 0 3.000rem; background-color: rgba(169, 146, 140, 0.1); }
#t { margin: 0 3.000rem; background-color: rgba(8, 161, 181, 0.1); }
#s { margin: 0 3.000rem; background-color: rgba(210, 214, 214, 0.373); }
#other { margin: 0.250rem 3.000rem; }
#outgoing { margin: 0 3.000rem; }
#technik { margin: 0 3.000rem; }
#week { page-break-after: always; }
tr.heigher { height: 1.8rem;}
div#outgoing:not(:first-child) { display: none; }
</style>
<!--@JS-DATA@-->
</head>
<body>
<main>
<p>!REPEAT_START!</p>
<div id="week">
<section id="header">
<h2 style="color: black; margin-top: 1rem; margin-bottom: -1rem;">
!CONGREGATION_TITLE! - !WEEKSTARTING!#IF !EXCEPTION!# (!EXCEPTION!)#ELSEIF !CONVENTION!# (!EXCEPTION! !NO_MEETING!)#ENDIF#
<br>
<p style="font-size: 0.75rem; color: gray;">Zoom-Versammlung: ID: 612 011 9044 / PW: 918915 -- Zoom-Dienst: ID: 922 886 3912 / PW: 918915</p>
</h2>
</section>
<p style="display: none;">!Service_START!</p>
<div id="technik">
<table style="margin-top: 2.000rem;">
<tr>
<td style="width: 2.750rem; background-color: rgba(210, 214, 214, 0.373);">
<td style="background-color: rgba(210, 214, 214, 0.373); padding-left: 0.250rem;">
<h3 style="text-align: left; color: gray;">Infos und Predigtdienst <span class="info CustomElem"></span></h3>
</td>
</tr>
</table>
</div>
<div id="s">
<table>
<tr class="heigher">
<td style="width: 2.750rem;"><div class="infobox starttime s">Infos</div></td>
<td><p class="theme" style="text-align: left"><b>Gastfreundschaft: </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Allgemein-Reinigung: </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Zwischen-Reinigung: </b> <span class="info CustomElems"></p></td>
</tr>
<tr class="heigher">
<td style="width: 2.750rem;"><div class="infobox starttime s">Dienst</div></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
</tr>
<tr class="heigher">
<td style="width: 2.750rem;"><div class="infobox starttime s">Dienst</div></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
</tr>
</table>
</div>
<p style="display: none;">!Service_END!</p>
<p>!MIDWEEK_START!</p>
<div id="other">
<table style="margin-top: 1.5rem;">
<tr>#IF !MWB_NO!#
<td style="width: 2.750rem; background-color: !MWB_LIGHT_COLOR!;">
</td>#ENDIF#
<td style="background-color: !MWB_LIGHT_COLOR!; padding-left: 0.250rem;">
<h3 style="text-align: left; color: #4e5a5a;;">!TITLE! (!DATE ddd dd.MM.!#IF !DURATION!# - !BEGIN! !LM_STARTTIME!#ENDIF#)</h3>
</td>
</tr>
</table>
</div>
<p>#IF !NO_MEETING_EXCEPTION! EMPTY#</p>
<div id="other">
<table>
<!--Opening Song-->
<tr>
<td style="width: 2.750rem;">#IF !DURATION! EMPTY#
<div class="infobox starttime" style="background-color: !MWB_LIGHT_COLOR!;">!SONG1_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="info">!SONG! !SONG1_NO!#IF !SONG1_NAME!#: !SONG1_NAME!#ENDIF# & !PRAYER! #IF !PRAYER1_NAME!#<span class="name">(!PRAYER1_NAME!)</span>#ENDIF#</p>
</td>
<td>
<p class="name">!LM_CHAIRMAN! <span class="info">(!CHAIRMAN!)</span>#IF !COUNSELOR_A1!#<span class="name"> / !COUNSELOR_A1! <span class="info">(!COUNSELOR! !AUX_SHORT!1)</span></span>#IF !COUNSELOR_A2!#<span class="name"> / !COUNSELOR_A2!
<span class="info">(!COUNSELOR! !AUX_SHORT!2)</span></span></p>#ENDIF##ENDIF#
</td>
</tr>
<!--Opening Comments-->
<tr>
<td>#IF !DURATION!#<div class="infobox duration" style="background-color: !MWB_LIGHT_COLOR!; color: black;">1</div>#ELSE#
<div class="infobox starttime" style="background-color: !MWB_LIGHT_COLOR!;">!OC_STARTTIME!</div>#ENDIF#
</td>
<td colspan="2">
<p class="theme">!OPENING!</p>
</td>
</tr>
</table>
</div>
<div id="gw">
<table>
<!--GW Title-->
<tr>
<td style="background-color: rgba(101, 97, 100, 1); width: 2.750rem; height: 2.000rem; text-align: center;">
<svg width="66.7%" height="66.7%" viewBox="0 0 1024 1024">
<path d="M1019 295L879 28q-6-12-20-20t-27-8H192q-13 0-27 8t-20 20L5 290q-6 12-5 28t9 26l480 670q8 10 19 10q5 0 10-2.5t9-7.5l488-664q16-23 6-50q-1-3-2-5zm-77-7H771l69-197zM575 64h206l-64 183zm93 224H371L511 86zm-354-31L250 64h199zm367 95L509 844L345 352h336zM437 831L93 352h185zm312-479h185L581 832zM188 82l69 206H79z" fill="#ffffff" />
</svg>
</td>
<td colspan="4">
<p><b><span class="gw" style="font-size: 0.85rem;">!GW! (!LM_SOURCE!)</span></b></p>
</td>
</tr>
<!--GW Talk-->
<tr>
<td style="width: 2.750rem;">#IF !DURATION!#<div class="infobox duration gwb">!GW1_TIME!</div>#ELSE#
<div class="infobox starttime gwb50">!GW1_STARTTIME!</div>#ENDIF#
</td>
<td colspan="3">
<p class="theme">!GW1_THEME!</p>
</td>
<td>
<p class="name">!GW1_SPEAKER!</p>
</td>
</tr>
<!--GW Digging-->
<tr>
<td>#IF !DURATION!#<div class="infobox duration gwb">!GW2_TIME!</div>#ELSE#
<div class="infobox starttime gwb50">!GW2_STARTTIME!</div>#ENDIF#
</td>
<td colspan="3">
<p class="theme">!GW2_THEME!</p>
</td>
<td>
<p class="name">!GW2_SPEAKER!</p>
</td>
</tr>
<!--GW Bible Reading-->
<tr>
<td>#IF !GW3_SPEAKER_B! EMPTY#</td>
<td>
#IF !DURATION!#<div class="infobox duration gwb">!GW3_TIME!</div>
#ELSE#<div class="infobox starttime gwb50">!GW3_STARTTIME!</div>#ENDIF#
</td>
<td colspan="3">
<p class="theme">!GW3_THEME!</p>
</td>
<td>
<p class="name">!GW3_SPEAKER_A!</p>
</td>
<td>#ENDIF#</td>
</tr>
</table>
<table>
<tr>
<td>#IF !GW3_SPEAKER_B!#</td>
<td style="width: 2.750rem;">
#IF !DURATION!#<div class="infobox duration gwb">!GW3_TIME!</div>
#ELSE#<div class="infobox starttime gwb50">!GW3_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!GW3_THEME!</p>
</td>
<td>#IF !GW3_SPEAKER_C!#</td>
<td style="width: 25%; background-color: rgba(0,0,0,0.2);">
<p class="name">!GW3_SPEAKER_C!</p>
<div class="infobox counselgw">!AUX_SHORT!2</div>
</td>
<td>#ENDIF#</td>
<td style="width: 25%; background-color: rgba(0,0,0,0.1);">
<p class="name">!GW3_SPEAKER_B!</p>
<div class="infobox counselgw">!AUX_SHORT!1</div>
</td>
<td style="width: 25%;">
<p class="name">!GW3_SPEAKER_A!</p>
</td>
<td>#ENDIF#</td>
</tr>
</table>
</div>
<div id="fm">
<table>
<!--FM Title-->
<tr>
<td style="background-color: rgba(199, 137, 9, 1); width: 2.750rem; height: 2.000rem; text-align: center;">
<svg width="75%" height="75%" viewBox="0 0 33.334 100">
<path d="M19.445,41.667l11.11-11.111c2.778-2.778,2.778-2.778,2.778-13.889l-11.111,11.11C19.445,30.556,19.445,30.556,19.445,41.667z" fill="white" />
<path d="M33.334,0L22.223,11.111c-2.777,2.777-2.777,2.777-2.777,13.889l11.11-11.111C33.334,11.111,33.334,11.111,33.334,0z" fill="white" />
<path d="M13.89,41.667c0-11.111,0-11.111-2.778-13.89L0,16.667c0,11.11,0,11.11,2.778,13.889L13.89,41.667z" fill="white" />
<path d="M19.445,58.333l11.11-11.11c2.778-2.778,2.778-2.778,2.778-13.89L22.223,44.444C19.445,47.223,19.445,47.223,19.445,58.333z" fill="white" />
<path d="M13.89,58.333c0-11.11,0-11.11-2.778-13.889L0,33.333c0,11.111,0,11.111,2.778,13.89L13.89,58.333z" fill="white" />
<path d="M19.445,75l11.11-11.111c2.778-2.777,2.778-2.777,2.778-13.889L22.223,61.111C19.445,63.889,19.445,63.889,19.445,75z" fill="white" />
<path d="M13.89,75c0-11.111,0-11.111-2.778-13.889L0,50c0,11.111,0,11.111,2.778,13.889L13.89,75z" fill="white" />
<path d="M13.89,25c0-11.111,0-11.111-2.778-13.889L0,0c0,11.111,0,11.111,2.778,13.889L13.89,25z" fill="white" />
<path d="M16.667,83.333L0,66.667c0,11.11,0,11.11,2.778,13.889L13.89,91.667V100h5.556v-8.333l11.11-11.111c2.778-2.778,2.778-2.778,2.778-13.889L16.667,83.333z" fill="white" />
</svg>
</td>
<td colspan="4">
<p><b><span class="fm" style="font-size: 0.85rem;">!FM!</span></b></p>
</td>
</tr>
<!--FM Talk 1-->
<tr>
<td>
#IF !DURATION!#<div class="infobox duration fmb">!FM1_TIME!</div>
#ELSE#<div class="infobox starttime fmb50">!FM1_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!FM1_THEME!</p>
</td>
<td>#IF !FM1_SPEAKER_C!#</td>
<td style="width: 25%; background-color: rgba(0,0,0,0.2);">
<p class="name">!FM1_SPEAKER_C!#IF !FM1_ASSISTANT_C!#<br><span class="info">!FM1_ASSISTANT_C!#ENDIF#</span></p>
<div class="infobox counselfm">!AUX_SHORT!2</div>
</td>
<td>#ENDIF#</td>
<td>#IF !FM1_SPEAKER_B!#</td>
<td style="width: 25%; background-color: rgba(0,0,0,0.1);">
<p class="name">!FM1_SPEAKER_B!#IF !FM1_ASSISTANT_B!#<br><span class="info">!FM1_ASSISTANT_B!#ENDIF#</span></p>
<div class="infobox counselfm">!AUX_SHORT!1</div>
</td>
<td>#ENDIF#</td>
<td style="width: 25%;">
<p class="name">!FM1_SPEAKER_A!#IF !FM1_ASSISTANT_A!#<br><span class="info">!FM1_ASSISTANT_A!#ENDIF#</span></p>
</td>
</tr>
<!--FM Talk 2-->
<tr>
<td>
#IF !DURATION!#<div class="infobox duration fmb">!FM2_TIME!</div>
#ELSE#<div class="infobox starttime fmb50">!FM2_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!FM2_THEME!</p>
</td>
<td>#IF !FM2_SPEAKER_C!#</td>
<td style="background-color: rgba(0,0,0,0.2);">
<p class="name">!FM2_SPEAKER_C!#IF !FM2_ASSISTANT_C!#<br><span class="info">!FM2_ASSISTANT_C!#ENDIF#</span></p>
</td>
<td>#ENDIF#</td>
<td>#IF !FM2_SPEAKER_B!#</td>
<td style="background-color: rgba(0,0,0,0.1);">
<p class="name">!FM2_SPEAKER_B!#IF !FM2_ASSISTANT_B!#<br><span class="info">!FM2_ASSISTANT_B!#ENDIF#</span></p>
</td>
<td>#ENDIF#</td>
<td>
<p class="name">!FM2_SPEAKER_A!#IF !FM2_ASSISTANT_A!#<br><span class="info">!FM2_ASSISTANT_A!#ENDIF#</span></p>
</td>
</tr>
<!--FM Talk 3-->
#IF !FM3_THEME!#
<tr>
<td>
#IF !DURATION!#<div class="infobox duration fmb">!FM3_TIME!</div>
#ELSE#<div class="infobox starttime fmb50">!FM3_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!FM3_THEME!</p>
</td>
<td>#IF !FM3_SPEAKER_C!#</td>
<td style="background-color: rgba(0,0,0,0.2);">
<p class="name">!FM3_SPEAKER_C!#IF !FM3_ASSISTANT_C!#<br><span class="info">!FM3_ASSISTANT_C!#ENDIF#</span></p>
</td>
<td>#ENDIF#</td>
<td>#IF !FM3_SPEAKER_B!#</td>
<td style="background-color: rgba(0,0,0,0.1);">
<p class="name">!FM3_SPEAKER_B!#IF !FM3_ASSISTANT_B!#<br><span class="info">!FM3_ASSISTANT_B!#ENDIF#</span></p>
</td>
<td>#ENDIF#</td>
<td>
<p class="name">!FM3_SPEAKER_A!#IF !FM3_ASSISTANT_A!#<br><span class="info">!FM3_ASSISTANT_A!#ENDIF#</span></p>
</td>
</tr>
#ENDIF#
<!--FM Talk 4-->
#IF !FM4_THEME!#
<tr>
<td>
#IF !DURATION!#<div class="infobox duration fmb">!FM4_TIME!</div>
#ELSE#<div class="infobox starttime fmb50">!FM4_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!FM4_THEME!</p>
</td>
<td>#IF !FM4_SPEAKER_C!#</td>
<td style="background-color: rgba(0,0,0,0.2);">
<p class="name">!FM4_SPEAKER_C!#IF !FM4_ASSISTANT_C!#<br><span class="info">!FM4_ASSISTANT_C!#ENDIF#</span></p>
</td>
<td>#ENDIF#</td>
<td>#IF !FM4_SPEAKER_B!#</td>
<td style="background-color: rgba(0,0,0,0.1);">
<p class="name">!FM4_SPEAKER_B!#IF !FM4_ASSISTANT_B!#<br><span class="info">!FM4_ASSISTANT_B!#ENDIF#</span></p>
</td>
<td>#ENDIF#</td>
<td>
<p class="name">!FM4_SPEAKER_A!#IF !FM4_ASSISTANT_A!#<br><span class="info">!FM4_ASSISTANT_A!#ENDIF#</span></p>
</td>
</tr>
#ENDIF#
</table>
</div>
<div id="cl">
<table>
<tr>
<td style="background-color: rgba(153, 19, 30, 1); width: 2.750rem; height: 2.000rem; text-align: center;">
<svg width="90%" height="90%" viewBox="0 0 100 100">
<path d="m 55.597646,70.013108 -5.940517,18.033439 -4.230019,0 2.745531,-18.056554 7.425005,0.02311 0,0 z m -37.547513,0.887353 6.517105,17.146086 -4.230019,0 -7.780717,-13.954952 5.493631,-3.191134 0,0 z M 64.304242,15.884538 c 0,-2.168944 1.758013,-3.928241 3.928241,-3.928241 0,0 14.891103,-0.0064 15.023372,0 1.738751,0.09117 3.46466,0.739675 4.901633,1.9455 L 100,23.837332 l 0,1.832494 c 0,2.709575 -2.197201,4.905486 -4.905491,4.905486 l -16.792938,0 0,1.421564 6.113879,2.676186 c 0,0 -4.626824,10.388844 -8.018286,18.843744 -4.087477,10.188514 -10.301521,12.493579 -11.416171,12.82746 l 2.199764,21.700997 -4.228734,0 -6.03683,-21.654767 -38.107407,-0.115574 -11.9439587,6.92932 -2.63381,14.841021 -4.23001806500003,0 0,-18.934919 L 6.2384423,62.873186 l 0,-11.045049 c -1.118503,0.895059 -2.367989,1.632166 -3.716355,2.177933 l 0,-12.860848 c 0,-3.77029 1.403585,-7.213119 3.716355,-9.834087 1.516591,-1.718204 3.4222815,-3.083265 5.5809527,-3.957777 1.722057,-0.696014 3.604633,-1.079977 5.575817,-1.079977 l 45.335936,0 9.602938,-8.058095 c -0.453308,0.0565 -0.914321,0.08604 -1.383039,0.08604 -2.49512,0 -4.797617,-0.829567 -6.646805,-2.226731 l 0,-0.190056 0,0 z" fill="white" />
</svg>
</td>
<td colspan="2">
<p><b><span class="cl" style="font-size: 0.85rem;">!CL!</span></b></p>
<p class="info">!SONG! !SONG2_NO!#IF !SONG2_NAME!#: !SONG2_NAME!#ENDIF#</p>
</td>
</tr>
<tr>
<td>#IF !DURATION!#<div class="infobox duration clb">!CL1_TIME!</div>#ELSE#
<div class="infobox starttime clb50">!CL1_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!CL1_THEME!</p>
</td>
<td>
<p class="name">!CL1_SPEAKER!</p>
</td>
</tr>
<tr>
<td>#IF !CL2_THEME!#</td>
<td>#IF !DURATION!#<div class="infobox duration clb">!CL2_TIME!</div>#ELSE#
<div class="infobox starttime clb50">!CL2_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!CL2_THEME!</p>
</td>
<td>
<p class="name">!CL2_SPEAKER!</p>
</td>
<td>#ENDIF#</td>
</tr>
<tr>
<td>#IF !CO_VISIT! EMPTY#</td>
<td>#IF !DURATION!#<div class="infobox duration clb">!CBS_TIME!</div>#ELSE#
<div class="infobox starttime clb50">!CBS_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!CBS_THEME!</p>
</td>
<td>
<p class="name">!CBS_CONDUCTOR! <span class="info">(!CONDUCTOR!)</span><br><span class="name">!CBS_READER! <span class="info">(!READER!)</span></p>
</td>
<td>#ENDIF#</td>
</tr>
</table>
</div>
<div id="other">
<table>
<tr>
<td>#IF !CO_VISIT!#</td>
<td style="width: 2.750rem;">#IF !DURATION!#<div class="infobox duration" style="background-color: !MWB_LIGHT_COLOR!; color: black;">3</div>#ELSE#
<div class="infobox starttime" style="background-color: !MWB_LIGHT_COLOR!;">!CC_STARTTIME!</div>#ENDIF#
</td>
<td colspan="2">
<p class="theme">!CONCLUSION!</p>
</td>
</tr>
<tr>
<td>#IF !DURATION!#<div class="infobox duration" style="background-color: !MWB_LIGHT_COLOR!; color: black;">!CO_TIME!</div>#ELSE#
<div class="infobox starttime" style="background-color: !MWB_LIGHT_COLOR!;">!CO_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!CO_THEME!</p>
</td>
<td>
<p class="name">!CO_NAME! <span class="info">(!CO!)</span></p>
</td>
<td>#ENDIF#</td>
</tr>
<tr>
<td>#IF !CO_VISIT! EMPTY!#</td>
<td style="width: 2.750rem;">#IF !DURATION!#<div class="infobox duration" style="background-color: !MWB_LIGHT_COLOR!; color: black;">3</div>#ELSE#
<div class="infobox starttime" style="background-color: !MWB_LIGHT_COLOR!;">!CC_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!CONCLUSION!</p>
</td>
<td>#ENDIF#</td>
</tr>
<tr>
<td style="width: 2.750rem;">#IF !DURATION! EMPTY#
<div class="infobox starttime" style="background-color: !MWB_LIGHT_COLOR!;">!SONG3_STARTTIME!</div>#ENDIF#
</td>
<td colspan="2">
<p class="info">!SONG! !SONG3_NO!#IF !SONG3_NAME!#: !SONG3_NAME!#ENDIF# & !PRAYER! #IF !PRAYER2_NAME!#<span class="name">(!PRAYER2_NAME!)</span>#ENDIF#</p>
</td>
</tr>
</table>
</div>
<p>#ENDIF#</p>
<p>!MIDWEEK_END!</p>
<p>!WEEKEND_START!</p>
<div id="other">
<table style="margin-top: 1.5rem;">
<tr>#IF !WT_NO!#
<td style="width: 2.750rem; background-color: !WT_LIGHT_COLOR!;">
</td>#ENDIF#
<td style="background-color: !WT_LIGHT_COLOR!; padding-left: 0.250rem;">
<h3 style="text-align: left; color: rgba(189, 101, 101, 0.67);">!TITLE! (!DATE ddd dd.MM.!#IF !DURATION!# - !BEGIN! !PM_STARTTIME!#ENDIF#)
</td>
</tr>
</table>
</div>
<p>#IF !NO_MEETING_EXCEPTION! EMPTY#</p><p>#IF !VIRTUAL_CONVENTION! EMPTY#</p>
<div id="other">
<table>
<tr>
<td style="width: 2.750rem;">#IF !DURATION! EMPTY#
<div class="infobox starttime" style="background-color: !WT_LIGHT_COLOR!;">!SONG1_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="info">!SONG! #IF !SONG1_NO!#!SONG1_NO!#IF !SONG1_NAME!#: !SONG1_NAME!#ENDIF##ENDIF# & !PRAYER!</p>
</td>
<td>
<p class="name">!PM_CHAIRMAN! <span class="info">(!CHAIRMAN!)</span></p>
</td>
</tr>
</table>
</div>
<div id="pt">
<table>
<tr>
<td style="width: 2.750rem;">#IF !DURATION!#<div class="infobox duration">!PT_TIME!</div>#ELSE#
<div class="infobox starttime" style="background-color: rgba(189, 101, 101, 0.67);">Vortrag</div>#ENDIF#
</td>
<td style="background-color: rgba(227, 120, 120, 0.118)">
<p class="theme">!PT_THEME!</p>
</td>
<td style="background-color: rgba(227, 120, 120, 0.118)">
<p class="name">!PT_SPEAKER! <span class="info">(!PT_SPEAKER_CONGREGATION!)</span></p>
</td>
</tr>
</table>
</div>
<div id="wt">
<table>
<tr>
<td style="width: 2.750rem;">#IF !DURATION!#<div class="infobox duration">!WT_TIME!</div>#ELSE#
<div class="infobox starttime" style="background-color: rgba(189, 101, 101, 0.67)">WT</div>#ENDIF#
</td>
<td style="background-color: rgba(227, 120, 120, 0.118)">
<p class="info" st>!SONG! !SONG2_NO!#IF !SONG2_NAME!#: !SONG2_NAME!#ENDIF#</span></p>
<p class="theme">!WT_THEME!</p>
</td>
<td style="background-color: rgba(227, 120, 120, 0.118)">
<p class="name">!WT_CONDUCTOR! <span class="info">(!CONDUCTOR!)</span>#IF !CO_VISIT! EMPTY##IF !WT_READER!#<br><span class="name">!WT_READER! <span class="info">(!READER!)</span>#ENDIF##ENDIF#</span></p>
</td>
</tr>
</table>
</div>
<div id="other">
<table>
<tr>
<td style="width: 2.750rem;">#IF !DURATION! EMPTY#
<div class="infobox starttime" style="background-color: !WT_LIGHT_COLOR!;">!SONG3_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="info">!SONG! !SONG3_NO!#IF !SONG3_NAME!#: !SONG3_NAME!#ENDIF# & !PRAYER! <span class="name">#IF !PRAYER2_NAME! EMPTY# (!PT_SPEAKER!)#ELSE# (!PRAYER2_NAME!)</span>#ENDIF#</p>
</td>
<td></td>
</tr>
</table>
</div>
<p>#ENDIF#</p>
<p>#ENDIF#</p>
<p>#IF !NO_MEETING_EXCEPTION! EMPTY#</p><p>#IF !VIRTUAL_CONVENTION!#</p>
<div id="other">
<table>
<tr>
<td style="width: 2.750rem;">#IF !DURATION! EMPTY#
<div class="infobox starttime" style="background-color: !WT_LIGHT_COLOR!;">!SONG1_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="info">!SONG! #IF !SONG1_NO!#!SONG1_NO!#IF !SONG1_NAME!#: !SONG1_NAME!#ENDIF##ENDIF# & !PRAYER!</p>
</td>
<td>
<p class="name">#IF !PM_CHAIRMAN!# !PM_CHAIRMAN!#ELSE# !WT_CONDUCTOR! #ENDIF# <span class="info">(!CHAIRMAN!)</span></p>
</td>
</tr>
</table>
</div>
<div id="wt">
<table>
<tr>
<td style="background-color: #4d654d; width: 2.750rem; height: 2.000rem; text-align: center;">
<svg xmlns="http://www.w3.org/2000/svg" width="75%" height="75%" viewBox="0 0 48 48">
<path d="M43.98 8c0-2.21-1.77-4-3.98-4H8C5.79 4 4 5.79 4 8v24c0 2.21 1.79 4 4 4h28l8 8-.02-36zM36 28H12v-4h24v4zm0-6H12v-4h24v4zm0-6H12v-4h24v4z" fill="white" />
<path d="M0 0h48v48H0z" fill="none" />
</svg>
</td>
<td colspan="2">
<h4><span class="wt">!WT!</span></h4>
</td>
<td></td>
</tr>
<tr>
<td>#IF !DURATION!#<div class="infobox duration wtb">!WT_TIME!</div>#ELSE#
<div class="infobox starttime wtb50">!WT_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="theme">!WT_THEME!</p>
</td>
<td>
<p class="name">!WT_CONDUCTOR! <span class="info">(!CONDUCTOR!)</span>#IF !CO_VISIT! EMPTY##IF !WT_READER!#<br><span class="name">!WT_READER! <span class="info">(!READER!)</span>#ENDIF##ENDIF#</span></p>
</td>
</tr>
</table>
</div>
<p>#IF !CO_VISIT! EMPTY#</p>
<div id="other">
<table>
<tr>
<td style="width: 2.750rem;">#IF !DURATION! EMPTY#
<div class="infobox starttime" style="background-color: !WT_LIGHT_COLOR!;">!SONG2_STARTTIME!</div>#ENDIF#
</td>
<td>
<p class="info">!SONG! !SONG3_NO!#IF !SONG3_NAME!#: !SONG3_NAME!#ENDIF# & !PRAYER! #IF !PRAYER2_NAME!#<span class="name">(!PRAYER2_NAME!)</span>#ENDIF#</p>
</td>
</tr>
</table>
</div>
<p>#ENDIF#</p>
<p>#ENDIF#</p>
<p>#ENDIF#</p><!-- END OF >>NO_MEETING_EXCEPTION !EMPTY!<< LOOP -->
<p>!WEEKEND_END!</p>
<p>!PTOUT_START!</p>
#IF !PT_NO!#
<div id="outgoing">
<table style="margin-top: 1.50rem;">
<tr>
<td style="width: 2.750rem; background-color: rgba(169, 146, 140, 0.5)">
<td style="background-color: rgba(169, 146, 140, 0.5); padding-left: 0.250rem;">
<h3 style="text-align: left; color: #4c4c4e;">!TITLE!</h3>
</td>
</tr>
</table>
</div>
<div id="os">
<table>
<tr>
<td style="width: 2.750rem;">
<div class="infobox starttime osb50">!DATE dd.MM.!</div>
</td>
<td>
<p class="name" style="text-align: left"><b>!PT_SPEAKER!</b> <span class="info">(!PT_CONGREGATION! / !PM_STARTTIME!)</p>
</td>
</tr>
</table>
</div>
#ENDIF#
<p>!PTOUT_END!</p>
<p style="display: none;">!Technik_START!</p>
<div id="technik">
<table style="margin-top: 1.500rem;">
<tr>
<td style="width: 2.750rem; background-color: rgba(5, 72, 81, 0.1);">
<td style="background-color: rgba(5, 72, 81, 0.1); padding-left: 0.250rem;">
<h3 style="text-align: left; color: rgba(5, 72, 81, 0.747);">Ordner und Technik</h3>
</td>
</tr>
</table>
</div>
<div id="t">
<table>
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime t">Ordner</div></td>
<td><p class="theme" style="text-align: left"><b>Saal</b> <span class="info CustomElem"></span> / <span class="info CustomElem"></span></p></td>
<td><p class="theme" style="font-weight: normal; text-align: right"><b>Foyer</b> <span class="info CustomElem"></span> / <span class="info CustomElem"></span></p></p></td>
</tr>
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime t">Technik</div></td>
<td><p class="theme" style="text-align: left"><b>Anlage</b> <span class="info CustomElem" id="t_1"></span> / <span class="info CustomElem"></span></p></td>
<td><p class="theme" style="font-weight: normal; text-align: right"><b>Zoom</b> <span class="info CustomElem" id="t_2"></span> / <span class="info CustomElem"></span></p></p></td>
<td><p class="theme" style="font-weight: normal; text-align: right"><b>Bühne</b> <span class="info CustomElem" id="t_3"></span></p></p></td>
</tr>
</table>
</div>
<p id="TEST"></p>
<p style="display: none;">!Technik_END!</p>
</div>
<script>
window.weekdate.push("!WEEKSTARTING!".replace("Woche vom ", ""))
// window.weekdate.push("20.10.2024".replace("Woche vom ", ""))
</script>
<p>!REPEAT_END!</p>
</main>
<script>
const ordner_elements = document.querySelectorAll('.CustomElem');
const weekdays_comp = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
const weekdays = ['Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.', 'So.']
const service_type = ['Zoom', 'Saal', 'Gruppe']
function setData(myDATA){
let weeklistpos = 0;
let myIndex = 0;
ordner_elements.forEach((element) => {
if (myIndex == 36){
myIndex = 0;
weeklistpos = weeklistpos + 1;
}
if( window.weekdate[weeklistpos] in myDATA ){
if ([5, 9, 13, 17, 21, 25].includes(myIndex+1) && myDATA[window.weekdate[weeklistpos]][myIndex] != "") {
element.innerHTML = weekdays[myDATA[window.weekdate[weeklistpos]][myIndex]];
}
else {
element.innerHTML = myDATA[window.weekdate[weeklistpos]][myIndex];
}
}
myIndex = myIndex + 1;
});
}
setData(myDATA)
</script>
</body>
</html>

@ -65,7 +65,6 @@
#outgoing { margin: 0 3.000rem; }
#technik { margin: 0 3.000rem; }
#week { page-break-after: always; }
tr.heigher { height: 1.8rem;}
div#outgoing:not(:first-child) { display: none; }
</style>
</head>
@ -78,7 +77,7 @@
<h2 style="color: black; margin-top: 1rem; margin-bottom: -1rem;">
!CONGREGATION_TITLE! - !WEEKSTARTING!#IF !EXCEPTION!# (!EXCEPTION!)#ELSEIF !CONVENTION!# (!EXCEPTION! !NO_MEETING!)#ENDIF#
<br>
<p style="font-size: 0.75rem; color: gray;">Zoom-Versammlung: ID: 612 011 9044 / PW: 918915 -- Zoom-Dienst: ID: 922 886 3912 / PW: 918915</p>
<p style="font-size: 0.75rem; color: gray;">Zoom-Versammlung: ID:612 011 9044 / PW: 918 915</p>
</h2>
</section>
<p style="display: none;">!Service_START!</p>
@ -94,23 +93,23 @@
</div>
<div id="s">
<table>
<tr class="heigher">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">Infos</div></td>
<td><p class="theme" style="text-align: left"><b>Gastfreundschaft: </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Allgemein-Reinigung: </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Zwischen-Reinigung: </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Gastfreundschaft </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Reinigung </b> <span class="info CustomElem"></p></td>
<td><p class="theme" style="text-align: left"><b>Zoom-Dienst</b> <span class="info">ID: 922 886 3912 / PW: 918915</p></p></td>
</tr>
<tr class="heigher">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">Dienst</div></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><br> <span class="info CustomElem"></span><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><br> <span class="info CustomElem"></span><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><br> <span class="info CustomElem"></span><span class="info CustomElem"></span></p></td>
</tr>
<tr class="heigher">
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">Dienst</div></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><span class="info CustomElem"></span><br><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><br> <span class="info CustomElem"></span><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><br> <span class="info CustomElem"></span><span class="info CustomElem"></span></p></td>
<td><p class="theme" style="text-align: left"><b><span class="CustomElem"></span><span class="CustomElem"></span></b><br> <span class="info CustomElem"></span><span class="info CustomElem"></span></p></td>
</tr>
</table>
</div>
@ -158,13 +157,11 @@
<table>
<!--GW Title-->
<tr>
<td style="background-color: rgba(101, 97, 100, 1); width: 2.750rem; height: 2.000rem; text-align: center;">
<svg width="66.7%" height="66.7%" viewBox="0 0 1024 1024">
<path d="M1019 295L879 28q-6-12-20-20t-27-8H192q-13 0-27 8t-20 20L5 290q-6 12-5 28t9 26l480 670q8 10 19 10q5 0 10-2.5t9-7.5l488-664q16-23 6-50q-1-3-2-5zm-77-7H771l69-197zM575 64h206l-64 183zm93 224H371L511 86zm-354-31L250 64h199zm367 95L509 844L345 352h336zM437 831L93 352h185zm312-479h185L581 832zM188 82l69 206H79z" fill="#ffffff" />
</svg>
<td>#IF !DURATION!#<div class="infobox duration gw"></div>#ELSE#
<div class="infobox starttime gw"></div>#ENDIF#
</td>
<td colspan="4">
<p><b><span class="gw" style="font-size: 0.85rem;">!GW! (!LM_SOURCE!)</span></b></p>
<p><b><span class="gw">!GW! (!LM_SOURCE!)</span></b></p>
</td>
</tr>
<!--GW Talk-->
@ -238,21 +235,11 @@
<table>
<!--FM Title-->
<tr>
<td style="background-color: rgba(199, 137, 9, 1); width: 2.750rem; height: 2.000rem; text-align: center;">
<svg width="75%" height="75%" viewBox="0 0 33.334 100">
<path d="M19.445,41.667l11.11-11.111c2.778-2.778,2.778-2.778,2.778-13.889l-11.111,11.11C19.445,30.556,19.445,30.556,19.445,41.667z" fill="white" />
<path d="M33.334,0L22.223,11.111c-2.777,2.777-2.777,2.777-2.777,13.889l11.11-11.111C33.334,11.111,33.334,11.111,33.334,0z" fill="white" />
<path d="M13.89,41.667c0-11.111,0-11.111-2.778-13.89L0,16.667c0,11.11,0,11.11,2.778,13.889L13.89,41.667z" fill="white" />
<path d="M19.445,58.333l11.11-11.11c2.778-2.778,2.778-2.778,2.778-13.89L22.223,44.444C19.445,47.223,19.445,47.223,19.445,58.333z" fill="white" />
<path d="M13.89,58.333c0-11.11,0-11.11-2.778-13.889L0,33.333c0,11.111,0,11.111,2.778,13.89L13.89,58.333z" fill="white" />
<path d="M19.445,75l11.11-11.111c2.778-2.777,2.778-2.777,2.778-13.889L22.223,61.111C19.445,63.889,19.445,63.889,19.445,75z" fill="white" />
<path d="M13.89,75c0-11.111,0-11.111-2.778-13.889L0,50c0,11.111,0,11.111,2.778,13.889L13.89,75z" fill="white" />
<path d="M13.89,25c0-11.111,0-11.111-2.778-13.889L0,0c0,11.111,0,11.111,2.778,13.889L13.89,25z" fill="white" />
<path d="M16.667,83.333L0,66.667c0,11.11,0,11.11,2.778,13.889L13.89,91.667V100h5.556v-8.333l11.11-11.111c2.778-2.778,2.778-2.778,2.778-13.889L16.667,83.333z" fill="white" />
</svg>
<td style="width: 2.750rem;">#IF !DURATION!#<div class="infobox duration fm"></div>#ELSE#
<div class="infobox starttime fm"></div>#ENDIF#
</td>
<td colspan="4">
<p><b><span class="fm" style="font-size: 0.85rem;">!FM!</span></b></p>
<p><b><span class="fm">!FM!</span></b></p>
</td>
</tr>
<!--FM Talk 1-->
@ -358,13 +345,11 @@
<div id="cl">
<table>
<tr>
<td style="background-color: rgba(153, 19, 30, 1); width: 2.750rem; height: 2.000rem; text-align: center;">
<svg width="90%" height="90%" viewBox="0 0 100 100">
<path d="m 55.597646,70.013108 -5.940517,18.033439 -4.230019,0 2.745531,-18.056554 7.425005,0.02311 0,0 z m -37.547513,0.887353 6.517105,17.146086 -4.230019,0 -7.780717,-13.954952 5.493631,-3.191134 0,0 z M 64.304242,15.884538 c 0,-2.168944 1.758013,-3.928241 3.928241,-3.928241 0,0 14.891103,-0.0064 15.023372,0 1.738751,0.09117 3.46466,0.739675 4.901633,1.9455 L 100,23.837332 l 0,1.832494 c 0,2.709575 -2.197201,4.905486 -4.905491,4.905486 l -16.792938,0 0,1.421564 6.113879,2.676186 c 0,0 -4.626824,10.388844 -8.018286,18.843744 -4.087477,10.188514 -10.301521,12.493579 -11.416171,12.82746 l 2.199764,21.700997 -4.228734,0 -6.03683,-21.654767 -38.107407,-0.115574 -11.9439587,6.92932 -2.63381,14.841021 -4.23001806500003,0 0,-18.934919 L 6.2384423,62.873186 l 0,-11.045049 c -1.118503,0.895059 -2.367989,1.632166 -3.716355,2.177933 l 0,-12.860848 c 0,-3.77029 1.403585,-7.213119 3.716355,-9.834087 1.516591,-1.718204 3.4222815,-3.083265 5.5809527,-3.957777 1.722057,-0.696014 3.604633,-1.079977 5.575817,-1.079977 l 45.335936,0 9.602938,-8.058095 c -0.453308,0.0565 -0.914321,0.08604 -1.383039,0.08604 -2.49512,0 -4.797617,-0.829567 -6.646805,-2.226731 l 0,-0.190056 0,0 z" fill="white" />
</svg>
<td>#IF !DURATION!#<div class="infobox duration cl"></div>#ELSE#
<div class="infobox starttime cl"></div>#ENDIF#
</td>
<td colspan="2">
<p><b><span class="cl" style="font-size: 0.85rem;">!CL!</span></b></p>
<p><b><span class="cl">!CL!</span></b></p>
<p class="info">!SONG! !SONG2_NO!#IF !SONG2_NAME!#: !SONG2_NAME!#ENDIF#</p>
</td>
</tr>
@ -643,22 +628,14 @@
</div>
<script>
window.weekdate.push("!WEEKSTARTING!".replace("Woche vom ", ""))
// window.weekdate.push("20.10.2024".replace("Woche vom ", ""))
</script>
<p>!REPEAT_END!</p>
</main>
<script>
const ordner_elements = document.querySelectorAll('.CustomElem');
const weekdays_comp = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
const weekdays = ['Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.', 'So.']
const weekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
const service_type = ['Zoom', 'Saal', 'Gruppe']
weekdate_i = 0
window.weekdate.forEach((element) => {
window.weekdate[weekdate_i] = element.replace(".20", ".")
weekdate_i = weekdate_i + 1
})
function setData(myDATA){
let weeklistpos = 0;
let myIndex = 0;
@ -666,10 +643,15 @@
if (myIndex == 36){
myIndex = 0;
weeklistpos = weeklistpos + 1;
} else if ([5, 9, 13, 17, 21, 25].includes(myIndex+1) && myDATA[window.weekdate[weeklistpos]][myIndex] != "") {
} else if ([4, 8, 12, 16, 20, 24].includes(myIndex+1) && myDATA[window.weekdate[weeklistpos]][myIndex] != "") {
element.innerHTML = weekdays[myDATA[window.weekdate[weeklistpos]][myIndex]];
}
else if ([6, 10, 14, 18, 22, 26].includes(myIndex+1) && myDATA[window.weekdate[weeklistpos]][myIndex] != "") {
element.innerHTML = service_type[myDATA[window.weekdate[weeklistpos]][myIndex]-1];
}
else {
@ -681,14 +663,13 @@
}
const req = new XMLHttpRequest();
req.open("GET", "https://mo.samuelzielke.de/api/", false);
req.open("GET", "http://mo.samuelzielke.de/api/", false);
// req.open("GET", "http://localhost:8000/api/", false);
req.send()
myDATA = JSON.parse(req.response);
setData(myDATA)
</script>
</body>

Loading…
Cancel
Save

Powered by TurnKey Linux.