From c7bcd601fd38781283d5e028a217963faad06898 Mon Sep 17 00:00:00 2001
From: "holger.trampe"
Date: Sun, 10 May 2020 12:23:46 +0200
Subject: [PATCH] =?UTF-8?q?DEV=20F=C3=9CR=200.9.0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cloud/templates/cloud/cloud_main.html | 19 ++---
cloud/views.py | 3 +-
dasettings/forms.py | 10 ++-
.../dasettings/addagencynetwork_content.html | 2 +-
.../templates/dasettings/agency_content.html | 9 ++-
.../dasettings/agencynetwork_content.html | 6 +-
.../dasettings/delagencynetwork_content.html | 6 +-
.../templates/dasettings/groups_content.html | 34 +++++----
.../templates/dasettings/moduls_content.html | 16 ++--
.../templates/dasettings/profil_content.html | 4 +-
dasettings/templates/dasettings/settings.html | 5 +-
.../dasettings/structure_content.html | 30 ++++----
.../templates/dasettings/user_content.html | 2 +-
.../templates/dasettings/user_usprof.html | 14 +++-
dasettings/views.py | 46 ++++++++++--
.../__pycache__/settings.cpython-38.pyc | Bin 3967 -> 3992 bytes
digitaleagentur/settings.py | 33 ++++-----
message/templates/message/message.html | 10 +--
message/templates/message/message_single.html | 12 +--
news/templates/news/news_addnews.html | 2 +-
news/templates/news/news_confirm_delete.html | 4 +-
news/templates/news/news_management.html | 69 +++++++-----------
news/templates/news/news_update.html | 2 +-
news/views.py | 2 +-
.../notificsys/allnotifications.html | 8 +-
orga/templates/orga/orga_single.html | 4 +-
organizer/templates/organizer/agpass_add.html | 2 +-
.../templates/organizer/agpass_delete.html | 4 +-
.../templates/organizer/agpass_update.html | 2 +-
.../organizer/cat_confirm_delete.html | 4 +-
organizer/templates/organizer/cat_update.html | 2 +-
.../templates/organizer/contact_add.html | 2 +-
.../templates/organizer/contact_delete.html | 4 +-
.../templates/organizer/contact_update.html | 2 +-
.../templates/organizer/contacts_content.html | 26 +++----
.../organizer/passwords_content.html | 2 +-
organizer/templates/organizer/ql_add.html | 2 +-
.../organizer/ql_confirm_delete.html | 4 +-
organizer/templates/organizer/ql_update.html | 2 +-
.../organizer/quicklinks_content.html | 20 +++--
standards/models.py | 4 +-
.../standards/standard_confirm_delete.html | 4 +-
.../templates/standards/standards_add.html | 20 ++---
.../standards/standards_management.html | 4 +-
standards/views.py | 4 +-
users/models.py | 8 +-
users/static/users/img/favicon_OLD.png | Bin 513 -> 0 bytes
users/static/users/img/logo.png | Bin 0 -> 9238 bytes
users/templates/users/base.html | 26 +++++--
users/templates/users/dashboard.html | 8 +-
users/templates/users/publicbase.html | 6 +-
users/templates/users/support.html | 4 +-
.../templates/users/user_confirm_delete.html | 4 +-
users/usersforms.py | 9 ++-
users/views.py | 2 +-
55 files changed, 302 insertions(+), 231 deletions(-)
delete mode 100644 users/static/users/img/favicon_OLD.png
create mode 100644 users/static/users/img/logo.png
diff --git a/cloud/templates/cloud/cloud_main.html b/cloud/templates/cloud/cloud_main.html
index a192630..044cfab 100644
--- a/cloud/templates/cloud/cloud_main.html
+++ b/cloud/templates/cloud/cloud_main.html
@@ -131,7 +131,7 @@ a.disabled {
-
+
Verschieben
Ersetzen
@@ -264,7 +264,7 @@ a.disabled {
Sie können die Datei nicht mit sich selbst ersetzen.
@@ -285,8 +285,8 @@ a.disabled {
@@ -324,8 +324,8 @@ a.disabled {
@@ -348,7 +348,7 @@ a.disabled {
@@ -377,8 +377,9 @@ a.disabled {
diff --git a/cloud/views.py b/cloud/views.py
index dbd3982..ee8860d 100644
--- a/cloud/views.py
+++ b/cloud/views.py
@@ -249,7 +249,8 @@ def adddirbyajax(request, parent):
request.decoding = 'utf-8'
# VALIDATE FILE-TYPE
- file_ext = request.FILES['uploadedfile'].name.split(".")[1]
+ file_ext_arr = request.FILES['uploadedfile'].name.split(".")
+ file_ext = file_ext_arr[len(file_ext_arr)-1]
allowed_types = ["txt", "TXT", "png", "PNG", "jpeg", "JPEG", "jpg", "JPG", "PDF", "pdf", "csv", "CSV", "DOC", "doc", "DOCX", "docx", "ODT", "odt", "PPT", "ppt", "PPTX", "pptx", "XLS", "xls", "XLSX", "xlsx", "mov", "MOV", "SVG", "svg", "ZIP", "zip", "RAR", "rar", "EPS", "eps", "MP3", "mp3", "WAV", "wav", "avi", "AVI", "FLV", "flv", "MP4", "mp4"]
file_ok = False
diff --git a/dasettings/forms.py b/dasettings/forms.py
index 31acecf..11bbe89 100644
--- a/dasettings/forms.py
+++ b/dasettings/forms.py
@@ -4,6 +4,7 @@ from django.contrib.auth.models import User
from users.models import AgencyGroup, Agency, Profile, AgencyJob, AgencyNetwork, UserTime
from PIL import Image
from bootstrap_datepicker_plus import DatePickerInput
+from django.utils.translation import gettext as _
class AgencyTimeManagement(forms.ModelForm):
class Meta:
@@ -76,7 +77,7 @@ class UserTimeForm(forms.ModelForm):
}
fields = ["holiday", "loose_holidedate", "startdate", "holiday_start", "wd_mo", "wd_tu", "wd_we", "wd_th", "wd_fr"]
widgets = {
- 'loose_holidedate': DatePickerInput(options={"format":'DD.MM.YYYY', "locale":'de'}),
+ 'loose_holidedate': DatePickerInput(options={"format":'DD.MM', "locale":'de'}),
"startdate" : DatePickerInput(options={"format":'DD.MM.YYYY', "locale":'de'})
}
@@ -121,6 +122,13 @@ class UserNewUserForm(forms.ModelForm):
model = User
fields = ["first_name", "last_name", "email"]
+
+ error_messages = {
+ 'email': {
+ 'unique': _("Diese E-Mailadresse ist bereits vergeben."),
+ },
+ }
+
# NEW USER PROFILE FORM
class UserProfileForm(forms.ModelForm):
diff --git a/dasettings/templates/dasettings/addagencynetwork_content.html b/dasettings/templates/dasettings/addagencynetwork_content.html
index 30b032b..f926d53 100644
--- a/dasettings/templates/dasettings/addagencynetwork_content.html
+++ b/dasettings/templates/dasettings/addagencynetwork_content.html
@@ -17,7 +17,7 @@
{{ form|crispy }}
Abbrechen
- Agenturverbund speichern
+ Speichern
diff --git a/dasettings/templates/dasettings/agency_content.html b/dasettings/templates/dasettings/agency_content.html
index 9784143..04a9c09 100644
--- a/dasettings/templates/dasettings/agency_content.html
+++ b/dasettings/templates/dasettings/agency_content.html
@@ -29,7 +29,7 @@
- Agenturdaten Aktualisieren
+ Agenturdaten aktualisieren
@@ -61,8 +61,9 @@
+ Ausschneiden
Abbrechen
- Ausschneiden
+
@@ -280,7 +281,7 @@ function updateFunc(id, funcname){
-
+
{% endfor %}
@@ -292,7 +293,7 @@ function updateFunc(id, funcname){
Funktion
diff --git a/dasettings/templates/dasettings/agencynetwork_content.html b/dasettings/templates/dasettings/agencynetwork_content.html
index a2f464a..33e5122 100644
--- a/dasettings/templates/dasettings/agencynetwork_content.html
+++ b/dasettings/templates/dasettings/agencynetwork_content.html
@@ -1,7 +1,7 @@
{% load crispy_forms_tags %}
{% load counter_tag %}
{% load static %}
- Agenturverbund erstellen
+ Agenturverbund
Ihre Agenturverbünde
@@ -117,8 +117,8 @@
Möchten Sie den Agenturverbund NAME verlassen?
diff --git a/dasettings/templates/dasettings/delagencynetwork_content.html b/dasettings/templates/dasettings/delagencynetwork_content.html
index fc48e7d..a906101 100644
--- a/dasettings/templates/dasettings/delagencynetwork_content.html
+++ b/dasettings/templates/dasettings/delagencynetwork_content.html
@@ -7,9 +7,9 @@
Achtung! Wenn Sie den Agenturverbund löschen, können die Agenturen innerhalb des Verbunds keine Informationen mehr austauschen.
@@ -56,18 +56,22 @@
{% endif %}
{% if formfield.name == 'module_organigramm' and user.profile.agency.module_organigramm %}
{% elif formfield.name == 'module_timemanagement' and user.profile.agency.module_timemanagement %}
{% else %}
{% endif %}
diff --git a/dasettings/templates/dasettings/profil_content.html b/dasettings/templates/dasettings/profil_content.html
index 61c2110..db7ec54 100644
--- a/dasettings/templates/dasettings/profil_content.html
+++ b/dasettings/templates/dasettings/profil_content.html
@@ -63,7 +63,7 @@
Agenturrelevante Daten (Bild, Telefonnummer etc.) werden in der Benutzerverwaltung verändert.
- E-Mailadresse aktualisieren
+ E-Mailadresse aktualisieren
diff --git a/dasettings/templates/dasettings/settings.html b/dasettings/templates/dasettings/settings.html
index a4ab6b8..bcebdab 100644
--- a/dasettings/templates/dasettings/settings.html
+++ b/dasettings/templates/dasettings/settings.html
@@ -133,7 +133,7 @@
{% endif %}
{% if user|usergperm:"usermanager" %}
-
Mtarbeiter{% if request.user.profile.showtooltips %} {% endif %}
+ Mitarbeiter{% if request.user.profile.showtooltips %} {% endif %}
{% block user_content %}
{% include "dasettings/user_content.html" %}
@@ -200,7 +200,8 @@ var defaultsettingsview = "profil";
e.preventDefault();
$(this).tab('show');
lastview_name = $(this)[0]['hash'].substring(1);
- localStorage.setItem('activeTabSettings', lastview_name);
+ localStorage.setItem('activeTabSettings', lastview_name);
+ console.log(lastview_name)
});
diff --git a/dasettings/templates/dasettings/structure_content.html b/dasettings/templates/dasettings/structure_content.html
index 6a769ae..213c2b6 100644
--- a/dasettings/templates/dasettings/structure_content.html
+++ b/dasettings/templates/dasettings/structure_content.html
@@ -40,7 +40,7 @@ noclickeffect:active { border-style: outset !important;}
Bereich {{area.name}}
-
+
@@ -65,8 +65,8 @@ noclickeffect:active { border-style: outset !important;}
{{ task.created_area_by.first_name }} {{ task.created_area_by.last_name }}
{{ task.created_area_date }}
-
-
+
+
{% endif %}
@@ -103,8 +103,10 @@ noclickeffect:active { border-style: outset !important;}
Falsche Eingabe! Keine Sonderzeichen!
@@ -125,8 +127,8 @@ noclickeffect:active { border-style: outset !important;}
Möchten Sie den Bereich wirklich löschen? Alle darin enthaltenen Tätigkeiten werden gelöscht und die Standards müssen neu einer Tätigkeit und einem Bereich zugeordnet werde!
@@ -153,8 +155,10 @@ noclickeffect:active { border-style: outset !important;}
Falsche Eingabe! Keine Sonderzeichen!
@@ -204,8 +208,8 @@ noclickeffect:active { border-style: outset !important;}
@@ -245,8 +249,8 @@ noclickeffect:active { border-style: outset !important;}
Möchten Sie den Bereich wirklich löschen? Alle darin enthaltenen Standards müssen eine Tätigkeit erhalten!
diff --git a/dasettings/templates/dasettings/user_content.html b/dasettings/templates/dasettings/user_content.html
index 6aad58f..8c36b41 100644
--- a/dasettings/templates/dasettings/user_content.html
+++ b/dasettings/templates/dasettings/user_content.html
@@ -28,7 +28,7 @@
{{ item.profile.phonemobile }}
{% if item != request.user %}
-
+
{% endif %}
diff --git a/dasettings/templates/dasettings/user_usprof.html b/dasettings/templates/dasettings/user_usprof.html
index c956c94..9195f25 100644
--- a/dasettings/templates/dasettings/user_usprof.html
+++ b/dasettings/templates/dasettings/user_usprof.html
@@ -61,7 +61,7 @@
{{ mail }}
- Passwort wiederherstellen
+ Passwort wiederherstellen
E-Mail gesendet!
@@ -143,12 +143,18 @@
- {% if newuser == 1 %}
+ {% if newuser == 1 %}
+ Profil später bearbeiten
+ {% else %}
+ Abbrechen
+ {% endif%}
+
+ {% if newuser == 1 %}
Profilerstellung abschließen
{% else %}
- Profil Aktualisieren
+ Speichern
{% endif %}
- Profilbearbeitung abbrechen
+
diff --git a/dasettings/views.py b/dasettings/views.py
index 9818f76..23b418a 100644
--- a/dasettings/views.py
+++ b/dasettings/views.py
@@ -99,7 +99,7 @@ def DASettings(request):
context.update({"agencyjobs" : AgencyJob.objects.filter(agency__pk=request.user.profile.agency.pk).order_by("name")})
# LOAD GROUPS
- agencygroups = AgencyGroup.objects.filter(agency__pk=request.user.profile.agency.pk).order_by("agencygroupname")
+ agencygroups = AgencyGroup.objects.filter(agency__pk=request.user.profile.agency.pk).order_by("agencygroupname").order_by("-savefordel")
context.update({"agencygroups" : agencygroups})
# LOAD AREAS
@@ -393,9 +393,22 @@ def SettingsAjaxRouter(request):
area.save()
success = True
# REMOVE AREA
- elif request.method == 'GET' and request.GET['action'] == "remove_area" :
- Areas(pk=request.GET['id']).delete()
- success = True
+ elif request.method == 'GET' and request.GET['action'] == "remove_area" :
+ todelarea = Areas.objects.get(pk=request.GET['id'], agency=request.user.profile.agency)
+ # REMOVE STANDARDS AREA
+ tempstandards = Standards.objects.filter(agency=request.user.profile.agency, area=todelarea)
+ if(request.user.has_perm('standardmanager')):
+ for s in tempstandards:
+ s.area = None
+ s.task = None
+ s.public = False
+ s.save()
+
+
+ todelarea.delete()
+ success = True
+ else:
+ success = False
# ADD TASK
elif request.method == 'GET' and request.GET['action'] == "add_task" :
task = Tasks(created_area_by=request.user, area=Areas.objects.get(pk=request.GET['areaid']), agency=request.user.profile.agency, name=request.GET["newvalue"])
@@ -427,7 +440,22 @@ def SettingsAjaxRouter(request):
success = True
# REMOVE Task
elif request.method == 'GET' and request.GET['action'] == "remove_task" :
- Tasks.objects.get(pk=request.GET['id'], agency=request.user.profile.agency).delete()
+
+ todeltask = Tasks.objects.get(pk=request.GET['id'], agency=request.user.profile.agency)
+ # REMOVE STANDARDS AREA
+ tempstandards = Standards.objects.filter(agency=request.user.profile.agency, task=todeltask)
+ if(request.user.has_perm('standardmanager')):
+ for s in tempstandards:
+ s.task = None
+ s.public = False
+ s.save()
+
+ todeltask.delete()
+ success = True
+ else:
+ success = False
+
+
success = True
# UPDATE TASK VISIBLE
elif request.method == 'GET' and request.GET['action'] == "update_visible_taskname" :
@@ -574,6 +602,14 @@ def UserProfileUpdate(request, pk, newuser=0):
return render(request, 'dasettings/user_usprof.html', context)
else:
+ usertime = ""
+ try:
+ usertime = UserTimeForm(instance=UserTime.objects.get(user=usertochange))
+ except:
+ usertime = UserTime(user=usertochange)
+ usertime.save()
+ usertime = UserTimeForm(instance=UserTime.objects.get(user=usertochange))
+
context = {
'active_link' : 'dasettings',
diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc
index 11e175b3bcd965c25ffddf51735d13789e1ab71b..f348433aa6407a824c543bb4f2cf4e2a1ee3a015 100644
GIT binary patch
delta 536
zcmX|8+fEZv6rD43rlpq|ZY`}
TxjczW4*a
zka;nY2m7M&&7_I?3;uvFeu^e|oTz7It$nhxvoF~v!*9}BP1C}Xc$x2Cp1eKMw#yVo
zkRnhiiXPGgb-`YQ5Jp5G3Jv{r<4%@Qb`o3AW%$IJ<
z*@bzSpQWT*s2;kj#@60S`Oyy6_iLMLt+`gA=Itrd-5*LY5a8ls?XveN80-EDO~~F%
zv>pyE8C7G!s4Q2yucIHB77;lgC8sEYQ}jyu(~Qa)m$@SJAGpl^<0n7in)glr{2OrA
Bjh6rb
delta 562
zcmY+BOHUI~6vyYz+z#|HQ=V-F0jr2&r5#WyRE4&-z7Sspkz=B%{>SN<)*<6`VO{tc
z$ZTA&up1H+U3KFpF!3w!DO|YIq+S{&@tmChx%r)(b8hbaFx8#ZHZ?6I3HydGPn)~i
zRuO&ZM-U-|5!nmaj6%>T44onfkcKGf7@#NyX#hhsh+!JS2n}NtF~pIuIF0OnPQQnN
zc`R6CG>Qwjh)Y;R7E4%0&g!QaE>j#=EC~Tz#R^uDN5SGYLvfE=j1ss;$5299kP@!<
z^hQr_+DvR1!z~)eZ90xMnh>{|6fuQ6bOP&?#9cZG^B$eTeVR7eEBT|+)6-_4&DsnP
z;u6jD$Qg4658E=GMTKVn5)~VQoWmxi#K7}-M041};WMQ17~3G5iE{>WMVfum`O5Mv
z7OQ#QPA-$FJ1?sBn)AlXEg6R4k1I*PsZ1xLur1rG*3GJAzV@2#0e2n8JCOYEN~+un
zT5lV*W+M&LUXvxMrPZ9eWx8q4tu}VdR(Rdu>8XQ=Buda8+hU{)=~cSkQm29@e=W
Q;rIhrer Mitteilung wird Automatisch eine Anrede und eine Verabscheidung hinzugefügt!
@@ -55,7 +55,7 @@
{{ item.created_by.first_name }} {{ item.created_by.last_name }}
{{ item.created_date }}
{{ item.content|truncatechars:30 }}
-
+
{% endfor %}
@@ -86,8 +86,8 @@
Wollen Sie die Mitteilung wirklich löschen?
diff --git a/message/templates/message/message_single.html b/message/templates/message/message_single.html
index f34f645..b076898 100644
--- a/message/templates/message/message_single.html
+++ b/message/templates/message/message_single.html
@@ -3,18 +3,20 @@
{% block content %}
{% if request.user.profile.agency.module_messages %}
+
Mitteilung von {{mess.created_by.first_name}} {{mess.created_by.last_name}}
Versendet am {{mess.created_date}}
-
+
+
Hallo {{request.user.first_name}} {{request.user.last_name}},
{{mess.content}}
Mit freundlichen Grüßen
{{mess.created_by.first_name}} {{mess.created_by.last_name}}
-
-
+
+
@@ -30,8 +32,8 @@
Wollen Sie die Mitteilung wirklich löschen?
diff --git a/news/templates/news/news_addnews.html b/news/templates/news/news_addnews.html
index f2c7377..6a85a8b 100644
--- a/news/templates/news/news_addnews.html
+++ b/news/templates/news/news_addnews.html
@@ -12,7 +12,7 @@
{{normalForm.media}}
{{normalForm|crispy}}
- News speichern
+ News anlegen
Abbrechen
diff --git a/news/templates/news/news_confirm_delete.html b/news/templates/news/news_confirm_delete.html
index 2b3c308..3925540 100644
--- a/news/templates/news/news_confirm_delete.html
+++ b/news/templates/news/news_confirm_delete.html
@@ -12,8 +12,8 @@
diff --git a/news/templates/news/news_management.html b/news/templates/news/news_management.html
index 85d58ef..05e2be6 100644
--- a/news/templates/news/news_management.html
+++ b/news/templates/news/news_management.html
@@ -2,16 +2,14 @@
{% block content %}
{% if request.user.profile.agency.module_news %}
-
News
+
News
+
+ {% if perms.users.modulenews %}
+ News
+ {% endif %}
+
- {% if perms.users.modulenews %}
-
-
- {% endif %}
+
@@ -57,16 +55,13 @@
{{ news_single.go_online_on|date:"d.m.Y, H:i"}} bis {{ news_single.go_offline_on|date:"d.m.Y, H:i"}}
{% if news_single.created_by == request.user or perms.users.news_management %}
-
+
+
+
+
+
+
+
{% endif %}
@@ -103,18 +98,14 @@
{{ news_single.go_online_on|date:"d.m.Y, H:i"}} bis {{ news_single.go_offline_on|date:"d.m.Y, H:i"}}
{% if news_single.created_by == request.user or perms.users.news_management %}
-
+
+
+
+
+
+
+
{% endif %}
-
{% endfor %}
@@ -154,18 +145,14 @@
{{ news_single.go_online_on|date:"d.m.Y, H:i"}} bis {{ news_single.go_offline_on|date:"d.m.Y, H:i"}}
{% if news_single.created_by == request.user or perms.users.news_management %}
-
+
+
+
+
+
+
+
{% endif %}
-
{% endfor %}
diff --git a/news/templates/news/news_update.html b/news/templates/news/news_update.html
index 4b15d3e..68afd70 100644
--- a/news/templates/news/news_update.html
+++ b/news/templates/news/news_update.html
@@ -10,7 +10,7 @@
{{normalForm.media}}
{{normalForm|crispy}}
- Aktualisieren
+ News aktualisieren
Abbrechen
diff --git a/news/views.py b/news/views.py
index 1bbb7f6..78365d1 100644
--- a/news/views.py
+++ b/news/views.py
@@ -112,7 +112,7 @@ class NewsDeleteView(LoginRequiredMixin, DeleteView):
template_name = 'news/news_confirm_delete.html'
def get_context_data(self, **kwargs):
- context = super(NewsDeleteView, self).get_context_data(**kwargs)
+ context = super(NewsDeleteView, self).get_context_data(**kwargs)
context['active_link'] = 'newsmanagement'
return context
diff --git a/notificsys/templates/notificsys/allnotifications.html b/notificsys/templates/notificsys/allnotifications.html
index 113e2e2..1160d2b 100644
--- a/notificsys/templates/notificsys/allnotifications.html
+++ b/notificsys/templates/notificsys/allnotifications.html
@@ -3,12 +3,12 @@
Alle Benachrichtigungen
-
Alle Benachrichtigungen löschen
+
Alle Benachrichtigungen löschen
{% for notification in usernotifications %}
diff --git a/orga/templates/orga/orga_single.html b/orga/templates/orga/orga_single.html
index 462f0e1..fc7335c 100644
--- a/orga/templates/orga/orga_single.html
+++ b/orga/templates/orga/orga_single.html
@@ -56,11 +56,11 @@
Festnetz
- {{ phoneland }}
+ {{ phoneland }}
Mobil
- {{ phonemobile }}{% if phone_public %} (nur Intern) {% endif %}
+ {{ phonemobile }} {% if phone_public %} (nur Intern) {% endif %}
diff --git a/organizer/templates/organizer/agpass_add.html b/organizer/templates/organizer/agpass_add.html
index e3991d2..593aa0f 100644
--- a/organizer/templates/organizer/agpass_add.html
+++ b/organizer/templates/organizer/agpass_add.html
@@ -9,7 +9,7 @@
{% csrf_token %}
{{form|crispy}}
- Passwort speichern
+ Passwort anlegen
Abbrechen
diff --git a/organizer/templates/organizer/agpass_delete.html b/organizer/templates/organizer/agpass_delete.html
index 8864c60..e53297b 100644
--- a/organizer/templates/organizer/agpass_delete.html
+++ b/organizer/templates/organizer/agpass_delete.html
@@ -13,8 +13,8 @@
diff --git a/organizer/templates/organizer/agpass_update.html b/organizer/templates/organizer/agpass_update.html
index 25ce6c2..a20030c 100644
--- a/organizer/templates/organizer/agpass_update.html
+++ b/organizer/templates/organizer/agpass_update.html
@@ -11,7 +11,7 @@
{{form|crispy}}
- Passwort aktualisieren
+ Passwort aktualisieren
Abbrechen
diff --git a/organizer/templates/organizer/cat_confirm_delete.html b/organizer/templates/organizer/cat_confirm_delete.html
index 8984030..82211d4 100644
--- a/organizer/templates/organizer/cat_confirm_delete.html
+++ b/organizer/templates/organizer/cat_confirm_delete.html
@@ -14,8 +14,8 @@
diff --git a/organizer/templates/organizer/cat_update.html b/organizer/templates/organizer/cat_update.html
index 77e9a9d..7519f58 100644
--- a/organizer/templates/organizer/cat_update.html
+++ b/organizer/templates/organizer/cat_update.html
@@ -9,7 +9,7 @@
{% csrf_token %}
{{ form|crispy }}
- Kategorie aktualisieren
+ Kategorie aktualisieren
Abbrechen
diff --git a/organizer/templates/organizer/contact_add.html b/organizer/templates/organizer/contact_add.html
index 06609d9..3d11e34 100644
--- a/organizer/templates/organizer/contact_add.html
+++ b/organizer/templates/organizer/contact_add.html
@@ -19,7 +19,7 @@
{% endfor %}
- Kontakt speichern
+ Kontakt anlegen
Abbrechen
diff --git a/organizer/templates/organizer/contact_delete.html b/organizer/templates/organizer/contact_delete.html
index e802da4..e0b4b50 100644
--- a/organizer/templates/organizer/contact_delete.html
+++ b/organizer/templates/organizer/contact_delete.html
@@ -13,8 +13,8 @@
diff --git a/organizer/templates/organizer/contact_update.html b/organizer/templates/organizer/contact_update.html
index 313364b..f755087 100644
--- a/organizer/templates/organizer/contact_update.html
+++ b/organizer/templates/organizer/contact_update.html
@@ -19,7 +19,7 @@
- Kontakt aktualisieren
+ Kontakt aktualisieren
Abbrechen
diff --git a/organizer/templates/organizer/contacts_content.html b/organizer/templates/organizer/contacts_content.html
index 5575254..70c4d79 100644
--- a/organizer/templates/organizer/contacts_content.html
+++ b/organizer/templates/organizer/contacts_content.html
@@ -43,16 +43,14 @@
{% if user|usergperm:"moduleorganizer" %}
-
+
+
+
+
+
+
+
+
{% endif %}
@@ -94,7 +92,7 @@
{% endif %}
@@ -122,7 +120,7 @@
-
+
{% endfor %}
@@ -134,7 +132,7 @@
Kategorie
@@ -282,7 +280,7 @@ function addCategory(){
success: function( data )
{
new_id = data["new_id"];
- $('#allCategory > tbody:last-child').append(' ');
+ $('#allCategory > tbody:last-child').append(' ');
}
});
}
diff --git a/organizer/templates/organizer/passwords_content.html b/organizer/templates/organizer/passwords_content.html
index d04a163..ca3e954 100644
--- a/organizer/templates/organizer/passwords_content.html
+++ b/organizer/templates/organizer/passwords_content.html
@@ -121,7 +121,7 @@
diff --git a/organizer/templates/organizer/ql_add.html b/organizer/templates/organizer/ql_add.html
index ad5740e..5cf5995 100644
--- a/organizer/templates/organizer/ql_add.html
+++ b/organizer/templates/organizer/ql_add.html
@@ -10,7 +10,7 @@
{{ form|crispy }}
Hinweis zum Weblink: Bitte setzen Sie den vollständigen Link in das Formular! Z.B. https://digitale-agentur.com
- Quicklink speichern
+ Quicklink anlegen
Abbrechen
diff --git a/organizer/templates/organizer/ql_confirm_delete.html b/organizer/templates/organizer/ql_confirm_delete.html
index 7d6ba54..2dd2165 100644
--- a/organizer/templates/organizer/ql_confirm_delete.html
+++ b/organizer/templates/organizer/ql_confirm_delete.html
@@ -13,8 +13,8 @@
diff --git a/organizer/templates/organizer/ql_update.html b/organizer/templates/organizer/ql_update.html
index e687c49..705c1dc 100644
--- a/organizer/templates/organizer/ql_update.html
+++ b/organizer/templates/organizer/ql_update.html
@@ -12,7 +12,7 @@
Hinweis zum Weblink: Bitte setzen Sie den vollständigen Link in das Formular! Z.B. https://digitale-agentur.com
- Quicklink aktualisieren
+ Quicklink aktualisieren
Abbrechen
diff --git a/organizer/templates/organizer/quicklinks_content.html b/organizer/templates/organizer/quicklinks_content.html
index 5e26424..062a322 100644
--- a/organizer/templates/organizer/quicklinks_content.html
+++ b/organizer/templates/organizer/quicklinks_content.html
@@ -7,7 +7,7 @@
{% endif %}
-
+
@@ -28,16 +28,14 @@
{% if user|usergperm:"moduleorganizer" %}
-
+
+
+
+
+
+
+
+
{% endif %}
diff --git a/standards/models.py b/standards/models.py
index bded89a..62ab592 100644
--- a/standards/models.py
+++ b/standards/models.py
@@ -41,8 +41,8 @@ class Standards(models.Model):
public = models.BooleanField(default=False)
- freefield_title = models.CharField(max_length=200, blank=False, default="")
- freefield_content = models.TextField(max_length=500, blank=False, default="")
+ freefield_title = models.CharField(max_length=200, blank=False, null=True, default="")
+ freefield_content = models.TextField(max_length=500, blank=False, null=True, default="")
delflag = models.BooleanField(default=False)
deldate = models.DateTimeField(default=timezone.now, blank=True)
diff --git a/standards/templates/standards/standard_confirm_delete.html b/standards/templates/standards/standard_confirm_delete.html
index 469268b..14604fe 100644
--- a/standards/templates/standards/standard_confirm_delete.html
+++ b/standards/templates/standards/standard_confirm_delete.html
@@ -12,8 +12,8 @@
diff --git a/standards/templates/standards/standards_add.html b/standards/templates/standards/standards_add.html
index 4278a1d..ed36bfd 100644
--- a/standards/templates/standards/standards_add.html
+++ b/standards/templates/standards/standards_add.html
@@ -99,7 +99,7 @@
{% if update == True %}
{% for s in standard.linked_standards.all %}
- {{s.name}}
+ {{s.name}}
{% endfor %}
{% endif %}
@@ -152,7 +152,7 @@
{% if update == True %}
{% for f in standard.addedfiles.all %}
- {{f.name}}
+ {{f.name}}
{% endfor %}
{% endif %}
@@ -240,7 +240,7 @@
{% endif %}
-
+
Standard{% if update == True %} aktualisieren{% else %} anlegen{% endif %}
Abbrechen
@@ -398,7 +398,7 @@
{% endif %}
@@ -478,13 +478,13 @@
{% if update == True %}
{% for q in standard.addedquicklinks.all %}
- {{q.name}}
+ {{q.name}}
{% endfor %}
{% endif %}
@@ -522,13 +522,13 @@
@@ -566,14 +566,14 @@
{% if update == True %}
{% for q in standard.addedpasswords.all %}
- {{q.name}}
+ {{q.name}}
{% endfor %}
{% endif %}
diff --git a/standards/templates/standards/standards_management.html b/standards/templates/standards/standards_management.html
index b038731..4579fb0 100644
--- a/standards/templates/standards/standards_management.html
+++ b/standards/templates/standards/standards_management.html
@@ -5,7 +5,7 @@
Standards{% if request.user.profile.showtooltips %} {% endif %}
- Standard
+ Standard
Sichtbar sind alle veröffentlichten und von {{ user.first_name }} {{ user.last_name}} erstellten Standards.
@@ -185,7 +185,7 @@
{{standard.name}}
{% else %}
{% if standard.created_standard_by == request.user or perms.users.standardmanager %}
-
{{standard.name}}
+
{{standard.name}}
{% else %}
{{standard.name}}
{% endif %}
diff --git a/standards/views.py b/standards/views.py
index 384ca1c..515b303 100644
--- a/standards/views.py
+++ b/standards/views.py
@@ -30,10 +30,8 @@ class StandardsManagement(LoginRequiredMixin, ListView):
standards_of_user = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, created_standard_by=self.request.user.pk)
#standards_of_agency = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=True)
unpubstandards_of_user = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=False)
- #tasks = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk)
-
+ #tasks = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk)
standardcontent = []
-
for a in areas:
standardcontent.append({"area" : a, "tasks" : []})
tasks_in_area = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk, area__pk=a.pk).order_by("name")
diff --git a/users/models.py b/users/models.py
index 1e86219..415d28e 100644
--- a/users/models.py
+++ b/users/models.py
@@ -17,11 +17,11 @@ User._meta.get_field('last_name').blank = False
# PATH FOR AGENCYPIC
def picturepath_agency(instance, filename):
# file will be uploaded to MEDIA_URL/agency_
//
- return settings.MEDIA_URL + 'agencydata/agency_{0}/agencystats/{1}'.format(instance.pk, filename)
+ return 'agencydata/agency_{0}/agencystats/{1}'.format(instance.pk, filename)
# PATH FOR PROFILEPICS
def picturepath_user(instance, filename):
- return settings.MEDIA_URL + 'agencydata/agency_{0}/agencystats/profilepics/{1}'.format(instance.agency.pk, filename)
+ return 'agencydata/agency_{0}/agencystats/profilepics/{1}'.format(instance.agency.pk, filename)
@@ -81,7 +81,7 @@ class Agency(models.Model):
plz = models.CharField(default="", max_length=5, blank=True)
agency_email = models.EmailField(default="", blank=True)
phone = models.CharField(default="", max_length=50, blank=True)
- agencypic = models.ImageField(default=settings.MEDIA_URL + 'ag_default.jpg', upload_to=picturepath_agency, blank=True)
+ agencypic = models.ImageField(default='ag_default.jpg', upload_to=picturepath_agency, blank=True)
@@ -170,7 +170,7 @@ class Profile(models.Model):
func = models.ForeignKey("AgencyJob", blank=True, null=True, default=None, on_delete=models.SET_NULL)
# Wenn dieses Profil gelöscht wird, wird NICHT die Agency geslöscht
agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
- image = models.ImageField(default=settings.MEDIA_URL + 'default.jpg', upload_to=picturepath_user, blank=True)
+ image = models.ImageField(default='default.jpg', upload_to=picturepath_user, blank=True)
compfunc = models.CharField(max_length=60, blank=True)
visible = models.BooleanField(default=True)
persnumber = models.CharField(default="", max_length=50, blank=True)
diff --git a/users/static/users/img/favicon_OLD.png b/users/static/users/img/favicon_OLD.png
deleted file mode 100644
index 52fe31338f4163d088e645fff6bf653ab339c218..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 513
zcmeAS@N?(olHy`uVBq!ia0y~yVEh8YjLblhj}pEoffQSSPl)UP|NpJ5UEQo+$^%6h
zOM?7@862M7NCR>>3p^r=85sDEfH31!Z9ZwBf+?OZjv*Cu-rhCLJ7gfy5V(p@wwk4H
z(qdKj(}5OD%FIf#TxuR>eg7R;U;V!JMDtK#%gF>YY0pV2o>jZ;mbJe9^sjoQ{j=Kb
zSNtpY&+vb|sy|+$Vg1v88?t_IG4F_d=l{CRzMlEouYCvkCGQ{DES#`3e}>&n&MnvK
zxBdA0`e)m5_1_F1ZO(tTk^g#g>dQU;^PX1{M0LIK5k
z{ydT_T=4C;jR|Ag`w!0M1^e2oEL^-}a#
Y=GU{#+3VbcKvB!!>FVdQ&MBb@0KX;lt^fc4
diff --git a/users/static/users/img/logo.png b/users/static/users/img/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..95a064fe633dfac462f5a3c8d2b95d313b6cf14f
GIT binary patch
literal 9238
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 Benachrichtigungen ansehen
-
-
+
{{request.user.first_name}} {{request.user.last_name}}
-
+