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 { @@ -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 - + 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 @@
-   +  
@@ -61,8 +61,9 @@ +   - + @@ -280,7 +281,7 @@ function updateFunc(id, funcname){ - + {% endfor %} @@ -292,7 +293,7 @@ function updateFunc(id, funcname){ 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.
{% csrf_token %} -
-   - Abbrechen +
+   + Abbrechen
diff --git a/dasettings/templates/dasettings/groups_content.html b/dasettings/templates/dasettings/groups_content.html index 4f6d88f..a7528f3 100644 --- a/dasettings/templates/dasettings/groups_content.html +++ b/dasettings/templates/dasettings/groups_content.html @@ -7,15 +7,15 @@
{% for aggroup in agencygroups %} -{% setvar 0 %} - {% for user in usersofagency %} - {% for group in user.groups.all %} - {% if group.name == aggroup.group.name %} - {% incvar %} - {% endif %} - {% endfor %} - {% endfor %} -{% getvar as varcounter %} + {% setvar 0 %} + {% for user in usersofagency %} + {% for group in user.groups.all %} + {% if group.name == aggroup.group.name %} + {% incvar %} + {% endif %} + {% endfor %} + {% endfor %} + {% getvar as varcounter %}
@@ -99,6 +99,11 @@
+ +{% if forloop.counter == 2 %} +
+{% endif %} + {% endfor %}
@@ -446,9 +451,10 @@ function validateGroupName(groupname){ - @@ -467,8 +473,8 @@ function validateGroupName(groupname){ diff --git a/dasettings/templates/dasettings/moduls_content.html b/dasettings/templates/dasettings/moduls_content.html index 0685ac9..f6fd6e9 100644 --- a/dasettings/templates/dasettings/moduls_content.html +++ b/dasettings/templates/dasettings/moduls_content.html @@ -28,7 +28,7 @@ {% endfor %} - + @@ -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.
-   +  
@@ -76,7 +76,7 @@
-   +  
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;}
@@ -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;} @@ -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 }} 

-    +   

@@ -143,12 +143,18 @@
- {% if newuser == 1 %} + {% if newuser == 1 %} + Profil später bearbeiten + {% else %} + Abbrechen + {% endif%} + + {% if newuser == 1 %} {% else %} - + {% 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!

-   - Abbrechen +   + Abbrechen
@@ -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}}
- -
+ +
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}}
-   +   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 @@
{% csrf_token %}
-   - Abbrechen +   + Abbrechen
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 %} -
-
-  News -
-
-
- {% 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}}
-   +   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


- + {% 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}}
-   +   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 @@
{% csrf_token %}
-   - Abbrechen +   + Abbrechen
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}}
-   +   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 @@
{% csrf_token %}
-   - Abbrechen +   + Abbrechen
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 }}
-   +   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 %}
-   +   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 @@
{% csrf_token %}
-   - Abbrechen +   + Abbrechen
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 @@
-   +   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 @@ @@ -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

-   +   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 @@
{% csrf_token %}
-   - Abbrechen +   + Abbrechen
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

-   +   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 @@ 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 @@ {% csrf_token %}
-   - Abbrechen +   + Abbrechen
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 user|usergperm:"moduleorganizer" %} - + + + + + + + + {% endif %}
{% if update == True %} {% for s in standard.linked_standards.all %} - + {% endfor %} {% endif %}
{{s.name}}
{{s.name}}
@@ -152,7 +152,7 @@ {% if update == True %} {% for f in standard.addedfiles.all %} - + {% endfor %} {% endif %}
{{f.name}}
{{f.name}}
@@ -240,7 +240,7 @@ {% endif %}
-   Abbrechen @@ -398,7 +398,7 @@ {% endif %}
@@ -478,13 +478,13 @@ {% if update == True %} {% for q in standard.addedquicklinks.all %} - + {% endfor %} {% endif %} @@ -522,13 +522,13 @@ {% if update == True %} {% for q in standard.addedcontacts.all %} - + {% endfor %} {% endif %}
{{q.company}}
{{q.company}}
@@ -566,14 +566,14 @@ {% if update == True %} {% for q in standard.addedpasswords.all %} - + {% endfor %} {% endif %}
{{q.name}}
{{q.name}}
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
- - +