diff --git a/dasettings/__pycache__/forms.cpython-38.pyc b/dasettings/__pycache__/forms.cpython-38.pyc
index b665614..4bdb3e3 100644
Binary files a/dasettings/__pycache__/forms.cpython-38.pyc and b/dasettings/__pycache__/forms.cpython-38.pyc differ
diff --git a/dasettings/forms.py b/dasettings/forms.py
index e661b96..eb9c025 100644
--- a/dasettings/forms.py
+++ b/dasettings/forms.py
@@ -19,13 +19,14 @@ class UsersNotificationForm(forms.ModelForm):
model = Profile
labels = {
"news_mail" : "Agentur-News",
- "user_standard_public_mail" : "Veröffentlichung meiner Standards",
+ #"user_standard_public_mail" : "Veröffentlichung meiner Standards",
"agency_new_standard_mail" : "Neue Agentur-Standards",
'add_new_group_mail' : "Gruppenmitgliedschaften",
'add_task_mail' : "Tätigkeitsbereich",
'user_messages_mail' : "Mitteilungen"
}
- fields = ['news_mail', 'news_push', 'user_standard_public_mail', 'user_standard_public_push', 'agency_new_standard_mail', 'agency_new_standard_push', 'add_new_group_mail', 'add_new_group_push', 'add_task_mail', 'add_task_push', 'user_messages_mail', 'user_messages_push']
+ #fields = ['news_mail', 'news_push', 'user_standard_public_mail', 'user_standard_public_push', 'agency_new_standard_mail', 'agency_new_standard_push', 'add_new_group_mail', 'add_new_group_push', 'add_task_mail', 'add_task_push', 'user_messages_mail', 'user_messages_push']
+ fields = ['news_mail', 'news_push', 'agency_new_standard_mail', 'agency_new_standard_push', 'add_new_group_mail', 'add_new_group_push', 'add_task_mail', 'add_task_push', 'user_messages_mail', 'user_messages_push']
# PERMISSION GROUPS FORM
class AgencyGroupPerms(forms.Form):
@@ -52,12 +53,12 @@ class AgencyModulsForm(forms.ModelForm):
model = Agency
labels = {
'module_news' : "Agentur-News",
- 'module_quicklinks' : "Quicklinks",
+ 'module_organizer' : "Organizer",
'module_files' : "Dateien",
'module_organigramm' : "Organigramm",
'module_messages' : "Mitteilungen",
}
- fields = ['module_news','module_quicklinks','module_files','module_organigramm', 'module_messages']
+ fields = ['module_news','module_organizer','module_files','module_organigramm', 'module_messages']
# NEW USER FORM
class UserNewUserForm(forms.ModelForm):
diff --git a/dasettings/templates/dasettings/groups_content.html b/dasettings/templates/dasettings/groups_content.html
index 66615c4..09ea0c1 100644
--- a/dasettings/templates/dasettings/groups_content.html
+++ b/dasettings/templates/dasettings/groups_content.html
@@ -117,12 +117,12 @@
/* CHECK FOR ACTIVATED MODULS */
module_news = '{{request.user.profile.agency.module_news}}'
-module_quicklinks = '{{request.user.profile.agency.module_quicklinks}}'
+module_organizer = '{{request.user.profile.agency.module_organizer}}'
//module_files = '{{request.user.profile.agency.module_files}}'
//module_organigramm = '{{request.user.profile.agency.module_organigramm}}'
-if(module_quicklinks == "False"){
- $(".modulequicklinks").remove();
+if(module_organizer == "False"){
+ $(".moduleorganizer").remove();
}
if(module_news == "False"){
diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc
index 3699180..f71f0cd 100644
Binary files a/digitaleagentur/__pycache__/settings.cpython-38.pyc and b/digitaleagentur/__pycache__/settings.cpython-38.pyc differ
diff --git a/digitaleagentur/__pycache__/urls.cpython-38.pyc b/digitaleagentur/__pycache__/urls.cpython-38.pyc
index c48eef7..915411f 100644
Binary files a/digitaleagentur/__pycache__/urls.cpython-38.pyc and b/digitaleagentur/__pycache__/urls.cpython-38.pyc differ
diff --git a/digitaleagentur/settings.py b/digitaleagentur/settings.py
index 2ca1528..dd02cdf 100644
--- a/digitaleagentur/settings.py
+++ b/digitaleagentur/settings.py
@@ -46,7 +46,7 @@ INSTALLED_APPS = [
'message.apps.MessageConfig',
'cloud.apps.CloudConfig',
'tasks.apps.TasksConfig',
- 'quicklinks.apps.QuicklinksConfig',
+ 'organizer.apps.OrganizerConfig',
'standards.apps.StandardsConfig',
'news.apps.NewsConfig',
'crispy_forms',
diff --git a/digitaleagentur/urls.py b/digitaleagentur/urls.py
index c299e42..9f0a7e2 100644
--- a/digitaleagentur/urls.py
+++ b/digitaleagentur/urls.py
@@ -30,7 +30,7 @@ urlpatterns = [
path('dashboard/', include('users.urls'), name="dashboard"),
path('areas/', include('areas.urls'), name="areas-management"),
path('tasks/', include('tasks.urls'), name="tasks-management"),
- path('ql/', include('quicklinks.urls'), name="ql-management"),
+ path('organizer/', include('organizer.urls'), name="ql-management"),
path('cloud/', include('cloud.urls'), name="cloud-main"),
path('standards/', include('standards.urls'), name="standards"),
path('news/', include('news.urls'), name="dashboard"),
diff --git a/notificsys/templates/notificsys/allnotifications.html b/notificsys/templates/notificsys/allnotifications.html
index ba031bd..113e2e2 100644
--- a/notificsys/templates/notificsys/allnotifications.html
+++ b/notificsys/templates/notificsys/allnotifications.html
@@ -14,6 +14,10 @@
{{notification.notificationtext}}
+ {% elif notification.notificationtype == "newstandard" %}
+
+ {{notification.notificationtext}}
+
{% elif notification.notificationtype == "messagereceived" %}
{{notification.notificationtext}}
diff --git a/notificsys/views.py b/notificsys/views.py
index 709a8b3..85b4a70 100644
--- a/notificsys/views.py
+++ b/notificsys/views.py
@@ -20,7 +20,9 @@ def CheckNotifications(request):
if notify.notificationtype == "agencynews":
elelink = "news/news/" + str(notify.elementid) + "/single"
elif notify.notificationtype == "messagereceived":
- elelink = "messages/sl/" + str(notify.elementid)
+ elelink = "messages/sl/" + str(notify.elementid)
+ elif notify.notificationtype == "newstandard":
+ elelink = "standards/standard/" + str(notify.elementid) + "/single"
else:
elelink = "notifications/showallnotificaions/"
@@ -55,7 +57,9 @@ def GetBasicNotifications(request):
if notify.notificationtype == "agencynews":
elelink = "news/news/" + str(notify.elementid) + "/single"
elif notify.notificationtype == "messagereceived":
- elelink = "messages/sl/" + str(notify.elementid)
+ elelink = "messages/sl/" + str(notify.elementid)
+ elif notify.notificationtype == "newstandard":
+ elelink = "standards/standard/" + str(notify.elementid) + "/single"
else:
elelink = "notifications/showallnotificaions/"
diff --git a/orga/templates/orga/orga_main.html b/orga/templates/orga/orga_main.html
index 360c144..6117ffd 100644
--- a/orga/templates/orga/orga_main.html
+++ b/orga/templates/orga/orga_main.html
@@ -11,11 +11,16 @@
Achtung! {{invisible_users}} Mitarbeiter sind anderen Mitarbeitern untergeordnet, die nicht im Organigramm sichtbar sein sollen. Bitte prüfen sie die Zuordnung der übergeordneten Mitarbeiter!
{% endif %}
-
+
+
{% endblock content %}
\ No newline at end of file
diff --git a/quicklinks/__init__.py b/organizer/__init__.py
similarity index 100%
rename from quicklinks/__init__.py
rename to organizer/__init__.py
diff --git a/quicklinks/__pycache__/__init__.cpython-38.pyc b/organizer/__pycache__/__init__.cpython-38.pyc
similarity index 100%
rename from quicklinks/__pycache__/__init__.cpython-38.pyc
rename to organizer/__pycache__/__init__.cpython-38.pyc
diff --git a/quicklinks/__pycache__/admin.cpython-38.pyc b/organizer/__pycache__/admin.cpython-38.pyc
similarity index 100%
rename from quicklinks/__pycache__/admin.cpython-38.pyc
rename to organizer/__pycache__/admin.cpython-38.pyc
diff --git a/organizer/__pycache__/apps.cpython-38.pyc b/organizer/__pycache__/apps.cpython-38.pyc
new file mode 100644
index 0000000..2ce1e1b
Binary files /dev/null and b/organizer/__pycache__/apps.cpython-38.pyc differ
diff --git a/organizer/__pycache__/forms.cpython-38.pyc b/organizer/__pycache__/forms.cpython-38.pyc
new file mode 100644
index 0000000..d65347d
Binary files /dev/null and b/organizer/__pycache__/forms.cpython-38.pyc differ
diff --git a/organizer/__pycache__/models.cpython-38.pyc b/organizer/__pycache__/models.cpython-38.pyc
new file mode 100644
index 0000000..4d86cb4
Binary files /dev/null and b/organizer/__pycache__/models.cpython-38.pyc differ
diff --git a/organizer/__pycache__/urls.cpython-38.pyc b/organizer/__pycache__/urls.cpython-38.pyc
new file mode 100644
index 0000000..89d18b4
Binary files /dev/null and b/organizer/__pycache__/urls.cpython-38.pyc differ
diff --git a/organizer/__pycache__/views.cpython-38.pyc b/organizer/__pycache__/views.cpython-38.pyc
new file mode 100644
index 0000000..8476342
Binary files /dev/null and b/organizer/__pycache__/views.cpython-38.pyc differ
diff --git a/quicklinks/admin.py b/organizer/admin.py
similarity index 100%
rename from quicklinks/admin.py
rename to organizer/admin.py
diff --git a/organizer/apps.py b/organizer/apps.py
new file mode 100644
index 0000000..73820dc
--- /dev/null
+++ b/organizer/apps.py
@@ -0,0 +1,4 @@
+from django.apps import AppConfig
+
+class OrganizerConfig(AppConfig):
+ name = 'organizer'
diff --git a/organizer/forms.py b/organizer/forms.py
new file mode 100644
index 0000000..e335dab
--- /dev/null
+++ b/organizer/forms.py
@@ -0,0 +1,93 @@
+from django import forms
+from django.forms import ModelForm
+from .models import QuickLinks, AGContacts, AGPassword
+
+
+class OrganizerAddQlForm(forms.ModelForm):
+
+ class Meta:
+ model =QuickLinks
+ labels = {
+ "name" : "Name",
+ "link" : "Weblink",
+ #"logo" : "Logo",
+ }
+ #fields = ['name', 'link', 'logo']
+ fields = ['name', 'link']
+
+
+# CONTACTS
+class OrganizerAddContact(forms.ModelForm):
+
+ class Meta:
+ model = AGContacts
+ labels = {
+ 'first_name' : "Vorname",
+ 'last_name' : "Nachname",
+ 'mail' : "E-Mailadresse",
+ 'phone1' : "Telefon 1",
+ 'phone2' : "Telefon 2",
+ 'street' : "Straße und Hausnummer",
+ 'city' : "Stadt",
+ 'plz' : "PLZ",
+ 'desc' : "Anmerkungen"
+ }
+
+ fields = ['first_name', 'last_name', 'mail', 'phone1', 'phone2', 'street', 'plz', 'city', 'desc']
+
+
+ def __init__(self, *args, **kwargs):
+ super(OrganizerAddContact, self).__init__(*args, **kwargs)
+
+ self.fields['phone1'].required = False
+ self.fields['phone2'].required = False
+ self.fields['desc'].widget.attrs['rows'] = 4
+
+
+
+class OrganizerUpdateContact(forms.ModelForm):
+
+ class Meta:
+ model = AGContacts
+ labels = {
+ 'first_name' : "Vorname",
+ 'last_name' : "Nachname",
+ 'mail' : "E-Mailadresse",
+ 'phone1' : "Telefon 1",
+ 'phone2' : "Telefon 2",
+ 'street' : "Straße und Hausnummer",
+ 'city' : "Stadt",
+ 'plz' : "PLZ",
+ 'desc' : "Anmerkungen"
+ }
+
+ fields = ['first_name', 'last_name', 'mail', 'phone1', 'phone2', 'street', 'plz', 'city', 'desc']
+
+ def __init__(self, *args, **kwargs):
+ super(OrganizerUpdateContact, self).__init__(*args, **kwargs)
+
+ self.fields['phone1'].required = False
+ self.fields['phone2'].required = False
+ self.fields['desc'].widget.attrs['rows'] = 4
+
+# PASSWORDS
+class AddAGPassword(forms.ModelForm):
+
+ class Meta:
+ model = AGPassword
+ labels = {
+ 'name' : "Name der Anwendung",
+ 'agpass_username' : "Benutzername in der Anwendung",
+ 'compass' : "Passwort in der Anwendung",
+ 'link' : "Weblink zur Anwendung"
+ }
+
+ fields = ['name', 'agpass_username', 'compass', 'link']
+ #widgets = {
+ # 'compass': forms.PasswordInput()
+ # }
+
+ def __init__(self, *args, **kwargs):
+ super(AddAGPassword, self).__init__(*args, **kwargs)
+
+ self.fields['link'].required = False
diff --git a/organizer/migrations/0001_initial.py b/organizer/migrations/0001_initial.py
new file mode 100644
index 0000000..7d151cc
--- /dev/null
+++ b/organizer/migrations/0001_initial.py
@@ -0,0 +1,26 @@
+# Generated by Django 3.0.4 on 2020-03-22 19:57
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('users', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='QuickLinks',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=200)),
+ ('link', models.CharField(max_length=200)),
+ ('logo', models.ImageField(blank=True, default='agencymain/linkdefault.png', upload_to='agencymain')),
+ ('agency', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='users.Agency')),
+ ],
+ ),
+ ]
diff --git a/organizer/migrations/0002_agcontacts.py b/organizer/migrations/0002_agcontacts.py
new file mode 100644
index 0000000..fe5f8d3
--- /dev/null
+++ b/organizer/migrations/0002_agcontacts.py
@@ -0,0 +1,31 @@
+# Generated by Django 3.0.4 on 2020-03-25 19:04
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('users', '0006_auto_20200325_1655'),
+ ('organizer', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='AGContacts',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('first_name', models.CharField(default='', max_length=200)),
+ ('last_name', models.CharField(default='', max_length=200)),
+ ('mail', models.CharField(default='', max_length=200)),
+ ('phone1', models.CharField(default='', max_length=200)),
+ ('phone2', models.CharField(default='', max_length=200)),
+ ('street', models.CharField(blank=True, default='', max_length=200)),
+ ('city', models.CharField(blank=True, default='', max_length=200)),
+ ('plz', models.CharField(blank=True, default='', max_length=5)),
+ ('desc', models.TextField(blank=True, max_length=3000)),
+ ('agency', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='users.Agency')),
+ ],
+ ),
+ ]
diff --git a/organizer/migrations/0003_agpassword.py b/organizer/migrations/0003_agpassword.py
new file mode 100644
index 0000000..46e40d4
--- /dev/null
+++ b/organizer/migrations/0003_agpassword.py
@@ -0,0 +1,26 @@
+# Generated by Django 3.0.4 on 2020-03-25 23:00
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('users', '0006_auto_20200325_1655'),
+ ('organizer', '0002_agcontacts'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='AGPassword',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(default='', max_length=200)),
+ ('compass', models.CharField(default='', max_length=200)),
+ ('link', models.CharField(default='', max_length=200)),
+ ('agency', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='users.Agency')),
+ ('visibleby', models.ManyToManyField(blank=True, to='users.AgencyGroup')),
+ ],
+ ),
+ ]
diff --git a/organizer/migrations/0004_agpassword_usernname.py b/organizer/migrations/0004_agpassword_usernname.py
new file mode 100644
index 0000000..042da81
--- /dev/null
+++ b/organizer/migrations/0004_agpassword_usernname.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.0.4 on 2020-03-25 23:02
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organizer', '0003_agpassword'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='agpassword',
+ name='usernname',
+ field=models.CharField(default='', max_length=200),
+ ),
+ ]
diff --git a/organizer/migrations/0005_auto_20200325_2305.py b/organizer/migrations/0005_auto_20200325_2305.py
new file mode 100644
index 0000000..5683f02
--- /dev/null
+++ b/organizer/migrations/0005_auto_20200325_2305.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.0.4 on 2020-03-25 23:05
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organizer', '0004_agpassword_usernname'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='agpassword',
+ old_name='usernname',
+ new_name='agpass_username',
+ ),
+ ]
diff --git a/quicklinks/migrations/__init__.py b/organizer/migrations/__init__.py
similarity index 100%
rename from quicklinks/migrations/__init__.py
rename to organizer/migrations/__init__.py
diff --git a/organizer/migrations/__pycache__/0001_initial.cpython-38.pyc b/organizer/migrations/__pycache__/0001_initial.cpython-38.pyc
new file mode 100644
index 0000000..4bc005e
Binary files /dev/null and b/organizer/migrations/__pycache__/0001_initial.cpython-38.pyc differ
diff --git a/organizer/migrations/__pycache__/0002_agcontacts.cpython-38.pyc b/organizer/migrations/__pycache__/0002_agcontacts.cpython-38.pyc
new file mode 100644
index 0000000..d7c0d4a
Binary files /dev/null and b/organizer/migrations/__pycache__/0002_agcontacts.cpython-38.pyc differ
diff --git a/organizer/migrations/__pycache__/0003_agpassword.cpython-38.pyc b/organizer/migrations/__pycache__/0003_agpassword.cpython-38.pyc
new file mode 100644
index 0000000..cb10d98
Binary files /dev/null and b/organizer/migrations/__pycache__/0003_agpassword.cpython-38.pyc differ
diff --git a/organizer/migrations/__pycache__/0004_agpassword_usernname.cpython-38.pyc b/organizer/migrations/__pycache__/0004_agpassword_usernname.cpython-38.pyc
new file mode 100644
index 0000000..387a291
Binary files /dev/null and b/organizer/migrations/__pycache__/0004_agpassword_usernname.cpython-38.pyc differ
diff --git a/organizer/migrations/__pycache__/0005_auto_20200325_2305.cpython-38.pyc b/organizer/migrations/__pycache__/0005_auto_20200325_2305.cpython-38.pyc
new file mode 100644
index 0000000..c372d91
Binary files /dev/null and b/organizer/migrations/__pycache__/0005_auto_20200325_2305.cpython-38.pyc differ
diff --git a/organizer/migrations/__pycache__/__init__.cpython-38.pyc b/organizer/migrations/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..c97986f
Binary files /dev/null and b/organizer/migrations/__pycache__/__init__.cpython-38.pyc differ
diff --git a/organizer/models.py b/organizer/models.py
new file mode 100644
index 0000000..1e5b067
--- /dev/null
+++ b/organizer/models.py
@@ -0,0 +1,72 @@
+from django.db import models
+from users.models import Agency, AgencyGroup
+from django.urls import reverse
+from colorful.fields import RGBColorField
+from django.contrib.auth.models import User
+import datetime
+
+'''
+
+Model Quicklinks
+
+Verwaltet alle gespeicherten Bereiche für die Agentur. Wird eine neue erstellt,
+wird dieser die Agency zugewiesen. Das Farb-Feld ist für später, damit im
+Ogranigramm eine Farbe für den jeweiligen Bereich festgelegt wird.
+
+users speichert alle primary-Keys der User, welche diesem Bereich zugeordnet sind!
+
+'''
+class QuickLinks(models.Model):
+
+ # Wenn die Area gelöscht wird, wird NICHT die Agency gelöscht
+ agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
+ name = models.CharField(max_length=200, blank=False)
+ link = models.CharField(max_length=200, blank=False)
+ logo = models.ImageField(default='agencymain/linkdefault.png', upload_to='agencymain', blank=True)
+
+ def __str__(self):
+ return f'{self.name}'
+
+ def get_absolute_url(self):
+ return reverse('ql-update', kwargs={'pk':self.pk})
+
+ @property
+ def get_photo_url(self):
+ if self.logo and hasattr(self.logo, 'url'):
+ return self.logo.url
+ else:
+ return "/media/agencymain/linkdefault.png"
+
+
+class AGContacts(models.Model):
+ agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
+ first_name = models.CharField(default="", max_length=200, blank=False)
+ last_name = models.CharField(default="", max_length=200, blank=False)
+ mail = models.CharField(default="", max_length=200, blank=False)
+ phone1 = models.CharField(default="", max_length=200, blank=False)
+ phone2 = models.CharField(default="", max_length=200, blank=False)
+ street = models.CharField(default="", max_length=200, blank=True)
+ city = models.CharField(default="", max_length=200, blank=True)
+ plz = models.CharField(default="", max_length=5, blank=True)
+ desc = models.TextField(max_length=3000, blank=True)
+
+ def __str__(self):
+ return f'{self.first_name + " " + self.last_name}'
+
+ def get_absolute_url(self):
+ return reverse('cont-update', kwargs={'pk':self.pk})
+
+class AGPassword(models.Model):
+ agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
+ name = models.CharField(default="", max_length=200, blank=False)
+ agpass_username = models.CharField(default="", max_length=200, blank=False)
+ compass = models.CharField(default="", max_length=200, blank=False)
+ link = models.CharField(default="", max_length=200, blank=False)
+ visibleby = models.ManyToManyField(AgencyGroup, blank=True)
+
+ def __str__(self):
+ return f'{self.name}'
+
+ def get_absolute_url(self):
+ return reverse('aggpass-update', kwargs={'pk':self.pk})
+
diff --git a/organizer/templates/organizer/agpass_add.html b/organizer/templates/organizer/agpass_add.html
new file mode 100644
index 0000000..e3991d2
--- /dev/null
+++ b/organizer/templates/organizer/agpass_add.html
@@ -0,0 +1,19 @@
+{% extends "users/base.html" %}
+{% load crispy_forms_tags %}
+{% block content %}
+{% if request.user.profile.agency.module_organizer %}
+
+{% else %}
+
Das Modul Organizer wurden in ihrer Agentur deaktiviert.
+{% endif %}
+{% endblock content %}
diff --git a/organizer/templates/organizer/agpass_delete.html b/organizer/templates/organizer/agpass_delete.html
new file mode 100644
index 0000000..8864c60
--- /dev/null
+++ b/organizer/templates/organizer/agpass_delete.html
@@ -0,0 +1,24 @@
+{% extends "users/base.html" %}
+{% load crispy_forms_tags %}
+{% block content %}
+{% if request.user.profile.agency.module_organizer %}
+
+{% else %}
+
Das Modul Organizer wurden in ihrer Agentur deaktiviert.
+{% endif %}
+{% endblock content %}
\ No newline at end of file
diff --git a/organizer/templates/organizer/agpass_update.html b/organizer/templates/organizer/agpass_update.html
new file mode 100644
index 0000000..25ce6c2
--- /dev/null
+++ b/organizer/templates/organizer/agpass_update.html
@@ -0,0 +1,21 @@
+{% extends "users/base.html" %}
+{% load crispy_forms_tags %}
+{% block content %}
+{% if request.user.profile.agency.module_organizer %}
+
+
Passwort aktualisieren
+
+