diff --git a/areas/__pycache__/__init__.cpython-38.pyc b/areas/__pycache__/__init__.cpython-38.pyc index 3ff9165..d64b760 100644 Binary files a/areas/__pycache__/__init__.cpython-38.pyc and b/areas/__pycache__/__init__.cpython-38.pyc differ diff --git a/cloud/migrations/__pycache__/__init__.cpython-38.pyc b/cloud/migrations/__pycache__/__init__.cpython-38.pyc index 1d337a9..53af3fc 100644 Binary files a/cloud/migrations/__pycache__/__init__.cpython-38.pyc and b/cloud/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/dasettings/__pycache__/__init__.cpython-38.pyc b/dasettings/__pycache__/__init__.cpython-38.pyc index 5b34a81..c707045 100644 Binary files a/dasettings/__pycache__/__init__.cpython-38.pyc and b/dasettings/__pycache__/__init__.cpython-38.pyc differ diff --git a/dasettings/migrations/__pycache__/__init__.cpython-38.pyc b/dasettings/migrations/__pycache__/__init__.cpython-38.pyc index 06057d3..2bdc2ec 100644 Binary files a/dasettings/migrations/__pycache__/__init__.cpython-38.pyc and b/dasettings/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/dasettings/templates/dasettings/modulesettings_organigramm.html b/dasettings/templates/dasettings/modulesettings_organigramm.html index f8c83dc..089f0f8 100644 --- a/dasettings/templates/dasettings/modulesettings_organigramm.html +++ b/dasettings/templates/dasettings/modulesettings_organigramm.html @@ -13,7 +13,9 @@ dynorga: $("#id_dynamicprofile").prop('checked') }, success: function( data ) - {} + { + console.log(data) + } }); } \ No newline at end of file diff --git a/dasettings/views.py b/dasettings/views.py index 349d6f6..6b07b8f 100644 --- a/dasettings/views.py +++ b/dasettings/views.py @@ -397,7 +397,7 @@ def SettingsAjaxRouter(request): 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')): + if(request.user.has_perm('users.standardmanager')): for s in tempstandards: s.area = None s.task = None @@ -445,7 +445,7 @@ def SettingsAjaxRouter(request): 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')): + if(request.user.has_perm('users.standardmanager')): for s in tempstandards: s.task = None s.public = False @@ -485,7 +485,7 @@ def SettingsAjaxRouter(request): # UPDATE USER MAIL elif request.method == 'GET' and request.GET['action'] == "update_usermail" : tempuser = User.objects.get(pk=request.GET['userid']) - if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('usermanager')): + if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('users.usermanager')): tempmail = tempuser.email regex = '^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$' if(re.search(regex,request.GET['newmail'])): @@ -506,7 +506,7 @@ def SettingsAjaxRouter(request): # UPDATE USERNAME elif request.method == 'GET' and request.GET['action'] == "update_usernames" : tempuser = User.objects.get(pk=request.GET['userid']) - if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('usermanager')): + if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('users.usermanager')): regex = '^[a-zA-Z0-9_.-üöäÜÖÄ ]+$' if(re.search(regex,request.GET['new_first_name']) and re.search(regex,request.GET['new_last_name'])): tempuser.first_name = request.GET['new_first_name'] @@ -906,8 +906,8 @@ def AgencyNetworkAjaxSettings(request): return JsonResponse(data) @login_required -def ModSettingsOrga(request): - if request.method == 'GET' and request.user.has_perm("modulesconfig"): +def ModSettingsOrga(request): + if request.method == 'GET' and request.user.has_perm("users.modulesconfig"): if(request.GET['dynorga'] == "true"): ag = request.user.profile.agency ag.dynamicprofile = True @@ -922,7 +922,7 @@ def ModSettingsOrga(request): @login_required def ModSettingsTm(request): - if request.method == 'GET' and request.user.has_perm("modulesconfig"): + if request.method == 'GET' and request.user.has_perm("users.modulesconfig"): if(request.GET['aze'] == "true"): ag = request.user.profile.agency ag.module_timemanagement_ze = True diff --git a/digitaleagentur/__pycache__/__init__.cpython-38.pyc b/digitaleagentur/__pycache__/__init__.cpython-38.pyc index f932871..180498d 100644 Binary files a/digitaleagentur/__pycache__/__init__.cpython-38.pyc and b/digitaleagentur/__pycache__/__init__.cpython-38.pyc differ diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index 4f165cf..f37e42a 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 1e90a1e..2a17a2e 100644 Binary files a/digitaleagentur/__pycache__/urls.cpython-38.pyc and b/digitaleagentur/__pycache__/urls.cpython-38.pyc differ diff --git a/digitaleagentur/__pycache__/views.cpython-38.pyc b/digitaleagentur/__pycache__/views.cpython-38.pyc index 612bb06..aaae98e 100644 Binary files a/digitaleagentur/__pycache__/views.cpython-38.pyc and b/digitaleagentur/__pycache__/views.cpython-38.pyc differ diff --git a/digitaleagentur/__pycache__/wsgi.cpython-38.pyc b/digitaleagentur/__pycache__/wsgi.cpython-38.pyc index d86f035..eb6019f 100644 Binary files a/digitaleagentur/__pycache__/wsgi.cpython-38.pyc and b/digitaleagentur/__pycache__/wsgi.cpython-38.pyc differ diff --git a/digitaleagentur/settings.py b/digitaleagentur/settings.py index 6403933..dd60c7f 100644 --- a/digitaleagentur/settings.py +++ b/digitaleagentur/settings.py @@ -14,32 +14,35 @@ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -############################################## PROD ##################################### -BASE_URL = "https://digitale-agentur.com/" +############################################## LOCAL ##################################### +BASE_URL = "http://localhost:8000/" CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D" MAILINFOKEY = "jka7sd8iukashdna78skduJAHDsu6dilaksdjba65a68iadbhjak" # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = False +DEBUG = True -# MAIL PROD -EMAIL_HOST = 'smtp.strato.de' -EMAIL_PORT = 587 -EMAIL_USE_TLS = True -EMAIL_HOST_USER = "noreply@digitale-agentur.com" -EMAIL_HOST_PASSWORD = "48c3n6YggZBuPyShtqOQ" -DEFAULT_FROM_EMAIL = "noreply@digitale-agentur.com" - -# PROD +# Database +# https://docs.djangoproject.com/en/2.2/ref/settings/#databases +# DEV DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME' : 'digitaleagentur', - 'USER' : 'digitaleagentur', - 'PASSWORD' : 'H9hzbzyBqtUCnZlIwL1qSrzh', + 'USER' : 'root', + 'PASSWORD' : '', 'PORT' : 3306 } } -############################################## PROD ##################################### + +# MAIL DEV +EMAIL_HOST = 'gymhum.de' +EMAIL_PORT = 587 +EMAIL_USE_TLS = True +EMAIL_HOST_USER = "holger.trampe" +EMAIL_HOST_PASSWORD = "Motte2016_!" +DEFAULT_FROM_EMAIL = "holger.trampe@gymhum.de" + +################################################### LOCAL ############################### diff --git a/message/__pycache__/__init__.cpython-38.pyc b/message/__pycache__/__init__.cpython-38.pyc index da01b36..36336ee 100644 Binary files a/message/__pycache__/__init__.cpython-38.pyc and b/message/__pycache__/__init__.cpython-38.pyc differ diff --git a/message/migrations/__pycache__/__init__.cpython-38.pyc b/message/migrations/__pycache__/__init__.cpython-38.pyc index d744a66..34398ee 100644 Binary files a/message/migrations/__pycache__/__init__.cpython-38.pyc and b/message/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/news/__pycache__/__init__.cpython-38.pyc b/news/__pycache__/__init__.cpython-38.pyc index fe38ad1..6f253af 100644 Binary files a/news/__pycache__/__init__.cpython-38.pyc and b/news/__pycache__/__init__.cpython-38.pyc differ diff --git a/notificsys/migrations/__pycache__/__init__.cpython-38.pyc b/notificsys/migrations/__pycache__/__init__.cpython-38.pyc index 5006479..1636376 100644 Binary files a/notificsys/migrations/__pycache__/__init__.cpython-38.pyc and b/notificsys/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/orga/__pycache__/__init__.cpython-38.pyc b/orga/__pycache__/__init__.cpython-38.pyc index 496d807..906abc9 100644 Binary files a/orga/__pycache__/__init__.cpython-38.pyc and b/orga/__pycache__/__init__.cpython-38.pyc differ diff --git a/orga/__pycache__/admin.cpython-38.pyc b/orga/__pycache__/admin.cpython-38.pyc index 6513846..e087457 100644 Binary files a/orga/__pycache__/admin.cpython-38.pyc and b/orga/__pycache__/admin.cpython-38.pyc differ diff --git a/orga/__pycache__/apps.cpython-38.pyc b/orga/__pycache__/apps.cpython-38.pyc index 52f5b45..750f310 100644 Binary files a/orga/__pycache__/apps.cpython-38.pyc and b/orga/__pycache__/apps.cpython-38.pyc differ diff --git a/orga/__pycache__/models.cpython-38.pyc b/orga/__pycache__/models.cpython-38.pyc index 96f69e5..8898bd6 100644 Binary files a/orga/__pycache__/models.cpython-38.pyc and b/orga/__pycache__/models.cpython-38.pyc differ diff --git a/orga/__pycache__/urls.cpython-38.pyc b/orga/__pycache__/urls.cpython-38.pyc index 255f48d..72ffb17 100644 Binary files a/orga/__pycache__/urls.cpython-38.pyc and b/orga/__pycache__/urls.cpython-38.pyc differ diff --git a/orga/__pycache__/views.cpython-38.pyc b/orga/__pycache__/views.cpython-38.pyc index 8ca7ff7..f05a270 100644 Binary files a/orga/__pycache__/views.cpython-38.pyc and b/orga/__pycache__/views.cpython-38.pyc differ diff --git a/orga/templates/orga/orga_main.html b/orga/templates/orga/orga_main.html index 3a272ca..0de5a3e 100644 --- a/orga/templates/orga/orga_main.html +++ b/orga/templates/orga/orga_main.html @@ -60,7 +60,7 @@ - + - + +

Bereiche und Tätigkeiten von {{user_first_name}} {{user_last_name}} @@ -196,7 +196,7 @@ 2 - rep */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", @@ -231,7 +231,7 @@ function changeView(newmode){ $( document ).ready(function() { {% if request.user.profile.agency.dynamicprofile %} - initialLoad() + initialLoad(0) {% endif %} }); diff --git a/orga/templates/orga/orga_single_aut.html b/orga/templates/orga/orga_single_aut.html index 554d2cc..c820b1b 100644 --- a/orga/templates/orga/orga_single_aut.html +++ b/orga/templates/orga/orga_single_aut.html @@ -62,7 +62,6 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; tempid = rows[i]['id'].split("_")[1]; datatoserver.push({"id" : tempid, "neworder" : i}); } - console.log(datatoserver) $.ajax( { type: "GET", @@ -113,7 +112,7 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", url: "{% url 'orga-ajax' %}", diff --git a/orga/templates/orga/orga_single_ex.html b/orga/templates/orga/orga_single_ex.html index 078a190..c0ce83b 100644 --- a/orga/templates/orga/orga_single_ex.html +++ b/orga/templates/orga/orga_single_ex.html @@ -112,7 +112,7 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", url: "{% url 'orga-ajax' %}", diff --git a/orga/templates/orga/orga_single_rep.html b/orga/templates/orga/orga_single_rep.html index 449579a..9dc41d2 100644 --- a/orga/templates/orga/orga_single_rep.html +++ b/orga/templates/orga/orga_single_rep.html @@ -112,7 +112,7 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", url: "{% url 'orga-ajax' %}", diff --git a/organizer/__pycache__/__init__.cpython-38.pyc b/organizer/__pycache__/__init__.cpython-38.pyc index b8201af..7cd8ba7 100644 Binary files a/organizer/__pycache__/__init__.cpython-38.pyc and b/organizer/__pycache__/__init__.cpython-38.pyc differ diff --git a/organizer/migrations/__pycache__/__init__.cpython-38.pyc b/organizer/migrations/__pycache__/__init__.cpython-38.pyc index c97986f..e687b78 100644 Binary files a/organizer/migrations/__pycache__/__init__.cpython-38.pyc and b/organizer/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/standards/__pycache__/__init__.cpython-38.pyc b/standards/__pycache__/__init__.cpython-38.pyc index 3efa48c..0c77154 100644 Binary files a/standards/__pycache__/__init__.cpython-38.pyc and b/standards/__pycache__/__init__.cpython-38.pyc differ diff --git a/standards/templatetags/__pycache__/__init__.cpython-38.pyc b/standards/templatetags/__pycache__/__init__.cpython-38.pyc index 9c0b998..9b279e2 100644 Binary files a/standards/templatetags/__pycache__/__init__.cpython-38.pyc and b/standards/templatetags/__pycache__/__init__.cpython-38.pyc differ diff --git a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc index 5ee75a9..89ba131 100644 Binary files a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc and b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc differ diff --git a/tasks/__pycache__/__init__.cpython-38.pyc b/tasks/__pycache__/__init__.cpython-38.pyc index 5761d3d..c4a0bd7 100644 Binary files a/tasks/__pycache__/__init__.cpython-38.pyc and b/tasks/__pycache__/__init__.cpython-38.pyc differ diff --git a/timemanagement/__pycache__/__init__.cpython-38.pyc b/timemanagement/__pycache__/__init__.cpython-38.pyc index f4d71db..64ff8c1 100644 Binary files a/timemanagement/__pycache__/__init__.cpython-38.pyc and b/timemanagement/__pycache__/__init__.cpython-38.pyc differ diff --git a/timemanagement/migrations/__pycache__/__init__.cpython-38.pyc b/timemanagement/migrations/__pycache__/__init__.cpython-38.pyc index 54f7856..e7f3b56 100644 Binary files a/timemanagement/migrations/__pycache__/__init__.cpython-38.pyc and b/timemanagement/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/timemanagement/views.py b/timemanagement/views.py index c087475..d80a36f 100644 --- a/timemanagement/views.py +++ b/timemanagement/views.py @@ -73,7 +73,7 @@ def AbsenceManagmenet(request, activemonth=False, activeyear=False): # ALL OK - START SAVING ABSENCE else: confirmstat = 0 - if(request.user.has_perm("absencemanager") == False): + if(request.user.has_perm("users.absencemanager") == False): confirmstat = 1 messages.success(request, f'Abwesenheit beantragt') # SEND NOTIFICATION diff --git a/users/__pycache__/__init__.cpython-38.pyc b/users/__pycache__/__init__.cpython-38.pyc index 1988400..9325e96 100644 Binary files a/users/__pycache__/__init__.cpython-38.pyc and b/users/__pycache__/__init__.cpython-38.pyc differ diff --git a/users/static/users/css/tree.css b/users/static/users/css/tree.css new file mode 100644 index 0000000..b044215 --- /dev/null +++ b/users/static/users/css/tree.css @@ -0,0 +1 @@ +.tf-tree{font-size:16px;overflow:auto}.tf-tree *{box-sizing:border-box;margin:0;padding:0}.tf-tree ul{display:inline-flex}.tf-tree li{align-items:center;display:flex;flex-direction:column;flex-wrap:wrap;padding:0 1em;position:relative}.tf-tree li ul{margin:2em 0}.tf-tree li li:before{border-top:.0625em solid #000;content:"";display:block;height:.0625em;left:-.03125em;position:absolute;top:-1.03125em;width:100%}.tf-tree li li:first-child:before{left:calc(50% - .03125em);max-width:calc(50% + .0625em)}.tf-tree li li:last-child:before{left:auto;max-width:calc(50% + .0625em);right:calc(50% - .03125em)}.tf-tree li li:only-child:before{display:none}.tf-tree li li:only-child>.tf-nc:before,.tf-tree li li:only-child>.tf-node-content:before{height:1.0625em;top:-1.0625em}.tf-tree .tf-nc,.tf-tree .tf-node-content{border:.0625em solid #000;display:inline-block;padding:.5em 1em;position:relative}.tf-tree .tf-nc:before,.tf-tree .tf-node-content:before{top:-1.03125em}.tf-tree .tf-nc:after,.tf-tree .tf-nc:before,.tf-tree .tf-node-content:after,.tf-tree .tf-node-content:before{border-left:.0625em solid #000;content:"";display:block;height:1em;left:calc(50% - .03125em);position:absolute;width:.0625em}.tf-tree .tf-nc:after,.tf-tree .tf-node-content:after{top:calc(100% + .03125em)}.tf-tree .tf-nc:only-child:after,.tf-tree .tf-node-content:only-child:after,.tf-tree>ul>li>.tf-nc:before,.tf-tree>ul>li>.tf-node-content:before{display:none}.tf-tree.tf-gap-sm li{padding:0 .6em}.tf-tree.tf-gap-sm li>.tf-nc:before,.tf-tree.tf-gap-sm li>.tf-node-content:before{height:.6em;top:-.6em}.tf-tree.tf-gap-sm li>.tf-nc:after,.tf-tree.tf-gap-sm li>.tf-node-content:after{height:.6em}.tf-tree.tf-gap-sm li ul{margin:1.2em 0}.tf-tree.tf-gap-sm li li:before{top:-.63125em}.tf-tree.tf-gap-sm li li:only-child>.tf-nc:before,.tf-tree.tf-gap-sm li li:only-child>.tf-node-content:before{height:.6625em;top:-.6625em}.tf-tree.tf-gap-lg li{padding:0 1.5em}.tf-tree.tf-gap-lg li>.tf-nc:before,.tf-tree.tf-gap-lg li>.tf-node-content:before{height:1.5em;top:-1.5em}.tf-tree.tf-gap-lg li>.tf-nc:after,.tf-tree.tf-gap-lg li>.tf-node-content:after{height:1.5em}.tf-tree.tf-gap-lg li ul{margin:3em 0}.tf-tree.tf-gap-lg li li:before{top:-1.53125em}.tf-tree.tf-gap-lg li li:only-child>.tf-nc:before,.tf-tree.tf-gap-lg li li:only-child>.tf-node-content:before{height:1.5625em;top:-1.5625em}.tf-tree li.tf-dotted-children .tf-nc:after,.tf-tree li.tf-dotted-children .tf-nc:before,.tf-tree li.tf-dotted-children .tf-node-content:after,.tf-tree li.tf-dotted-children .tf-node-content:before{border-left-style:dotted}.tf-tree li.tf-dotted-children li:before{border-top-style:dotted}.tf-tree li.tf-dotted-children>.tf-nc:before,.tf-tree li.tf-dotted-children>.tf-node-content:before{border-left-style:solid}.tf-tree li.tf-dashed-children .tf-nc:after,.tf-tree li.tf-dashed-children .tf-nc:before,.tf-tree li.tf-dashed-children .tf-node-content:after,.tf-tree li.tf-dashed-children .tf-node-content:before{border-left-style:dashed}.tf-tree li.tf-dashed-children li:before{border-top-style:dashed}.tf-tree li.tf-dashed-children>.tf-nc:before,.tf-tree li.tf-dashed-children>.tf-node-content:before{border-left-style:solid} \ No newline at end of file