diff --git a/areas/views.py b/areas/views.py index 9fbe650..95ea9ce 100644 --- a/areas/views.py +++ b/areas/views.py @@ -75,11 +75,21 @@ def area_neworder(request): tempuser = User.objects.get(pk=request.GET['userid']) neworderdata = json.loads(request.GET['finalod']) for ele in neworderdata: - prio = list(Prio.objects.filter(user__pk=request.GET['userid'], task__pk=ele['id']))[0] - task = Tasks.objects.get(pk=ele['id']) - if(task.agency == request.user.profile.agency): - prio.prio = ele['neworder'] - prio.save() + print(request.GET['userid']) + print(ele) + prio = Prio.objects.filter(user__pk=request.GET['userid'], task__pk=ele['id']) + # PRIO FOUND + if(len(prio) > 0): + task = Tasks.objects.get(pk=ele['id']) + if(task.agency == request.user.profile.agency): + prio[0].prio = ele['neworder'] + prio[0].save() + # NO PRIO FOUND - CREATE, SET NEW ORDER AND SAVE + else: + task = Tasks.objects.get(pk=ele['id']) + if(task.agency == request.user.profile.agency): + newprio = Prio(user=tempuser, task=Tasks.objects.get(pk=ele['id']), prio=ele['neworder']).save() + return HttpResponse("UPDATED") else: return HttpResponse("Request method is not a GET") \ No newline at end of file diff --git a/dasettings/templates/dasettings/agencynetwork_agmanagement_content.html b/dasettings/templates/dasettings/agencynetwork_agmanagement_content.html index 2b6ba2e..b4e2207 100644 --- a/dasettings/templates/dasettings/agencynetwork_agmanagement_content.html +++ b/dasettings/templates/dasettings/agencynetwork_agmanagement_content.html @@ -11,7 +11,7 @@
Ausstehende Einladungen
-
+
@@ -38,7 +38,8 @@
Agenturen im Verbund{% if request.user.profile.showtooltips %} {% endif %}
-
+ {% if request.user.profile.agency in agn.adminagencys.all %} +
@@ -76,7 +77,33 @@
+ {% else %} +
+ + + + + + + + + {% for agn_s in allagofagn %} + + + + + {% endfor %} + +
AgenturnameRechte
{{agn_s.name}} + {% if agn_s in agn.adminagencys.all %}Administratives Mitglied + {% elif agn_s in agn.members.all %}Mitglied + {% elif agn_s in agn.sharemembers.all %}Inhalte teilen + {% endif %} +
+
+ + {% endif %}
@@ -131,7 +158,7 @@ {% endblock content %} \ No newline at end of file diff --git a/dasettings/templates/dasettings/agencynetwork_content.html b/dasettings/templates/dasettings/agencynetwork_content.html index 347ef4f..a2f464a 100644 --- a/dasettings/templates/dasettings/agencynetwork_content.html +++ b/dasettings/templates/dasettings/agencynetwork_content.html @@ -25,7 +25,7 @@ {% getoutstandinginvites agn.pk as outstanding %} {% ifaginadminagn agn.pk request.user.profile.agency.pk as is_adminag %} - {% if is_adminag %} {% endif %}{{agn.name}}{% if is_adminag %}{% endif %} + {{agn.name}} {% if is_adminag %} @@ -39,7 +39,7 @@ {{agn.creator.first_name }} {{agn.creator.last_name }} {{agn.created_on }} {{agn.lastactivity}} - {% if is_adminag %} {% endif %} {% if outstanding %} {% endif %}{{agsum}}{% if is_adminag %}{% endif %} + {% if outstanding %} {% endif %}{{agsum}} {{agn.standards.all|length}} {% if is_adminag %} diff --git a/dasettings/templates/dasettings/joinagn_first.html b/dasettings/templates/dasettings/joinagn_first.html index 90793eb..7ad9b45 100644 --- a/dasettings/templates/dasettings/joinagn_first.html +++ b/dasettings/templates/dasettings/joinagn_first.html @@ -12,9 +12,6 @@ {% getsumofallag agn.pk as agsum %} {% getsumofallstandards agn.pk as ag_standardsum %} - - -
Gründeragentur {{agn.creator_agency.name }}
Gegründet von {{agn.creator.first_name }} {{agn.creator.last_name }}
Grüdungsdatum {{agn.created_on }}
@@ -32,14 +29,58 @@ {% for a in agn.adminagencys.all %}  {{a.name}}{% if forloop.counter < agn.adminagencys.all|length %},{% endif %}{% endfor %}
- Mitgliedsagenturen betrachten + {% if agn.members.all|length > 0 or agn.sharemembers.all|length %} + Mitgliedsagenturen betrachten +
+
+ + + + + + + + + {% for agn_s in agn.adminagencys.all %} + + + + + {% endfor %} + {% for agn_s in agn.sharemembers.all %} + + + + + {% endfor %} + {% for agn_s in agn.members.all %} + + + + + {% endfor %} + +
AgenturnameRechte
{{agn_s.name}} + {% if agn_s in agn.adminagencys.all %}Administratives Mitglied + {% elif agn_s in agn.members.all %}Mitglied + {% elif agn_s in agn.sharemembers.all %}Inhalte teilen + {% endif %} +
{{agn_s.name}} + {% if agn_s in agn.adminagencys.all %}Administratives Mitglied + {% elif agn_s in agn.members.all %}Mitglied + {% elif agn_s in agn.sharemembers.all %}Inhalte teilen + {% endif %} +
{{agn_s.name}} + {% if agn_s in agn.adminagencys.all %}Administratives Mitglied + {% elif agn_s in agn.members.all %}Mitglied + {% elif agn_s in agn.sharemembers.all %}Inhalte teilen + {% endif %} +
+
+ + {% endif %} + diff --git a/dasettings/templates/dasettings/moduls_content.html b/dasettings/templates/dasettings/moduls_content.html index f4103b9..0685ac9 100644 --- a/dasettings/templates/dasettings/moduls_content.html +++ b/dasettings/templates/dasettings/moduls_content.html @@ -18,9 +18,9 @@ {{formfield.label_tag}} {{formfield}} - {% if formfield.name == 'module_organigramm' %} + {% if formfield.name == 'module_organigramm' and user.profile.agency.module_organigramm %} - {% elif formfield.name == 'module_timemanagement' %} + {% elif formfield.name == 'module_timemanagement' and user.profile.agency.module_timemanagement %} {% endif %} @@ -54,12 +54,12 @@ {% else %} Keine Einstellungen vorhanden. {% endif %} - {% if formfield.name == 'module_organigramm' %} + {% if formfield.name == 'module_organigramm' and user.profile.agency.module_organigramm %} - {% elif formfield.name == 'module_timemanagement' %} + {% elif formfield.name == 'module_timemanagement' and user.profile.agency.module_timemanagement %}
+ {% if request.user.profile.agency.dynamicprofile == False %}

{{ user_first_name }} {{ user_last_name }} {% if request.user.profile.agency.dynamicprofile %} @@ -129,6 +130,55 @@ +{% else %} +
+
+ + +{% endif %} + + - +{% if request.user.profile.agency.dynamicprofile %} +{% else %} + - +{% endif %} {% endblock content %} \ No newline at end of file diff --git a/orga/templates/orga/orga_single_aut.html b/orga/templates/orga/orga_single_aut.html new file mode 100644 index 0000000..554d2cc --- /dev/null +++ b/orga/templates/orga/orga_single_aut.html @@ -0,0 +1,164 @@ +{% load counter_tag %} +

{{ user_first_name }} {{ user_last_name }} + + verantwortet: +

+ + + + {% for area in areas %} + + {% endfor %} + + + + + {% for area in areas %} + + {% endif %} + {% endfor %} + + +
{{area.name}}
+
+ {% if request.user.profile.agency.dynamicprofile %} + + {% for task in tasks %} + {% isUserInAuth task area user_id as checkIsUserAuth %} + {% if task.area.pk == area.pk and task.visible and checkIsUserAuth %} + + {% endif %} + + {% endfor %} + {% else %} + + {% for prio in prios %} + {% if prio.task.area.pk == area.pk and prio.task.visible %} + + {% endif %} + {% endfor %} +
+
+ diff --git a/orga/templates/orga/orga_single_er.html b/orga/templates/orga/orga_single_er.html new file mode 100644 index 0000000..9bf87f0 --- /dev/null +++ b/orga/templates/orga/orga_single_er.html @@ -0,0 +1 @@ +

Fehler beim Laden der Tabelle!

\ No newline at end of file diff --git a/orga/templates/orga/orga_single_ex.html b/orga/templates/orga/orga_single_ex.html new file mode 100644 index 0000000..078a190 --- /dev/null +++ b/orga/templates/orga/orga_single_ex.html @@ -0,0 +1,163 @@ +{% load counter_tag %} +

{{ user_first_name }} {{ user_last_name }} + + führt aus: +

+ + + + {% for area in areas %} + + {% endfor %} + + + + + {% for area in areas %} + + {% endif %} + {% endfor %} + + +
{{area.name}}
+
+ {% if request.user.profile.agency.dynamicprofile %} + + {% for task in tasks %} + + {% isUserInEx task area user_id as checkIsUserEx %} + {% if task.area.pk == area.pk and task.visible and checkIsUserEx %} + + {% endif %} + {% endfor %} + {% else %} + + {% for prio in prios %} + {% if prio.task.area.pk == area.pk and prio.task.visible %} + + {% endif %} + {% endfor %} +
+
+ diff --git a/orga/templates/orga/orga_single_rep.html b/orga/templates/orga/orga_single_rep.html new file mode 100644 index 0000000..449579a --- /dev/null +++ b/orga/templates/orga/orga_single_rep.html @@ -0,0 +1,164 @@ +{% load counter_tag %} +

{{ user_first_name }} {{ user_last_name }} + + vertritt: +

+ + + + {% for area in areas %} + + {% endfor %} + + + + + {% for area in areas %} + + {% endif %} + {% endfor %} + + +
{{area.name}}
+
+ {% if request.user.profile.agency.dynamicprofile %} + + {% for task in tasks %} + {% isUserInRep task area user_id as checkIsUserRep %} + {% if task.area.pk == area.pk and task.visible and checkIsUserRep %} + + {% endif %} + + {% endfor %} + {% else %} + + {% for prio in prios %} + {% if prio.task.area.pk == area.pk and prio.task.visible %} + + {% endif %} + {% endfor %} +
+
+ diff --git a/orga/urls.py b/orga/urls.py index e529fb4..1c2807b 100644 --- a/orga/urls.py +++ b/orga/urls.py @@ -6,7 +6,8 @@ from . import views urlpatterns = [ path('', views.mainorga, name='orga-main'), - path('single/', views.singleorga, name='orga-single') + path('single/', views.singleorga, name='orga-single'), + path('orgaajax/', views.OrgaSingleAjax, name='orga-ajax'), ] diff --git a/orga/views.py b/orga/views.py index d560866..5586399 100644 --- a/orga/views.py +++ b/orga/views.py @@ -102,7 +102,71 @@ def singleorga(request, pk): return redirect('users-dashboard') +@login_required +def OrgaSingleAjax(request): + data = {} + if request.method == "GET": + if request.GET["action"] == "getrenderedview": + #try: + viewmode = int(request.GET["viewmode"]) + viewuser = User.objects.get(pk=request.GET["viewuser"]) - - - \ No newline at end of file + prios = Prio.objects.filter(user__pk=viewuser.pk).order_by('prio') + areas = list(Areas.objects.filter(agency__pk=request.user.profile.agency.pk).order_by('areaorder')) + alltasks = Tasks.objects.filter(agency__pk=request.user.profile.agency.pk).order_by('name') + + tasks = [] + for p in prios: + tasks.append(p.task) + + for at in alltasks: + if at not in tasks: + tasks.append(at) + + i = 0 + for area in areas: + areas[i].hex = areas[i].color + areas[i].color = list(webcolors.hex_to_rgb(areas[i].color)) + i += 1 + + user_first_name = viewuser.first_name + user_last_name = viewuser.last_name + user_id = viewuser.pk + try: + userfuncname = AgencyJob.objects.get(pk=viewuser.profile.func.pk).name + except: + userfuncname = "Nicht vergeben" + + if(viewuser.profile.agency == request.user.profile.agency): + context = { + "user_first_name" : viewuser.first_name, + "user_last_name" : viewuser.last_name, + 'areas' : areas, + 'user_first_name' : user_first_name, + 'user_last_name' : user_last_name, + 'user_id' : user_id, + 'prios' : prios, + 'tasks' : tasks + } + + # EX + if(viewmode == 0): + return render(request, "orga/orga_single_ex.html", context) + # AUT + elif(viewmode == 1): + return render(request, "orga/orga_single_aut.html", context) + # REP + elif(viewmode == 2): + return render(request, "orga/orga_single_rep.html", context) + #except: + # return render(request, "orga/orga_single_er.html") + else: + return render(request, "orga/orga_single_er.html") + + + else: + data = { + "success" : False + } + + return JsonResponse(data) \ No newline at end of file diff --git a/timemanagement/templates/timemanagement/timemanagement_management.html b/timemanagement/templates/timemanagement/timemanagement_management.html index 4587bb3..3616a24 100644 --- a/timemanagement/templates/timemanagement/timemanagement_management.html +++ b/timemanagement/templates/timemanagement/timemanagement_management.html @@ -1,7 +1,7 @@ {% extends "users/base.html" %} {% block content %} {% load counter_tag %} -{% if request.user.profile.agency.module_timemanagement %} +{% if request.user.profile.agency.module_timemanagement_ze %}

Zeiterfassung 


diff --git a/timemanagement/templates/timemanagement/tm_ab_management.html b/timemanagement/templates/timemanagement/tm_ab_management.html index ef75fc5..9d47f9a 100644 --- a/timemanagement/templates/timemanagement/tm_ab_management.html +++ b/timemanagement/templates/timemanagement/tm_ab_management.html @@ -2,7 +2,7 @@ {% block content %} {% load crispy_forms_tags %} {% load counter_tag %} -{% if request.user.profile.agency.module_timemanagement_ze %} +{% if request.user.profile.agency.module_timemanagement %}
diff --git a/timemanagement/views.py b/timemanagement/views.py index cf2bc1c..c087475 100644 --- a/timemanagement/views.py +++ b/timemanagement/views.py @@ -154,7 +154,7 @@ def AbsenceManagmenet(request, activemonth=False, activeyear=False): "activemonth" : activemonth, "activeyear" : activeyear, "abscenceform" : AddAbsence(instance=request.user), - "userown" : Absence.objects.filter(agency=request.user.profile.agency, user=request.user).order_by("start") + "userown" : Absence.objects.filter(agency=request.user.profile.agency, user=request.user).order_by("-start") } if(request.user.has_perm("users.absencemanager")): diff --git a/users/models.py b/users/models.py index c4ab975..1e86219 100644 --- a/users/models.py +++ b/users/models.py @@ -105,7 +105,7 @@ class Agency(models.Model): module_timemanagement = models.BooleanField(default=False) module_timemanagement_price = models.FloatField(default=10.0, max_length=9, blank=True) # Zeiterfassung Ja/Nein - module_timemanagement_ze = models.BooleanField(default=True) + module_timemanagement_ze = models.BooleanField(default=False) # Steckbrief dynamisch aus Standard diff --git a/users/signals.py b/users/signals.py index f05e914..71408ae 100644 --- a/users/signals.py +++ b/users/signals.py @@ -169,7 +169,7 @@ def adjust_group_notifications(instance, action, reverse, model, pk_set, using, 'support@digitale-agentur.com', [user_touched.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) # A USER WAS ADDED TO A GROUP @@ -185,7 +185,7 @@ def adjust_group_notifications(instance, action, reverse, model, pk_set, using, 'support@digitale-agentur.com', [user_touched.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) @@ -218,7 +218,7 @@ def save_standard(sender, instance, **kwargs): 'support@digitale-agentur.com', [user.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) if(user.profile.agency_new_standard_push): @@ -259,7 +259,7 @@ def save_news(sender, instance, **kwargs): 'support@digitale-agentur.com', [user.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) if(user.profile.news_push): @@ -306,7 +306,7 @@ def adjust_group_notifications_task(instance, action, reverse, model, pk_set, us 'support@digitale-agentur.com', [user_touched.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) # A USER WAS ADDED TO A GROUP @@ -322,7 +322,7 @@ def adjust_group_notifications_task(instance, action, reverse, model, pk_set, us 'support@digitale-agentur.com', [user_touched.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) @receiver(signal=post_save, sender=AgencyNetworkPreperation) diff --git a/users/views.py b/users/views.py index ce36cae..b68a666 100644 --- a/users/views.py +++ b/users/views.py @@ -205,7 +205,7 @@ def registerNewAgency(request): 'support@digitale-agentur.com', [email], html_message=msg_html, - fail_silently=False + fail_silently=True ) ''' return render (request, 'users/registercomplete.html') @@ -254,7 +254,7 @@ class AgencyCreateView(CreateView): 'support@digitale-agentur.com', [form.cleaned_data.get('email')], html_message=msg_html, - fail_silently=False + fail_silently=True ) return super().form_valid(form) @@ -332,7 +332,7 @@ class UsersCreateUser(LoginRequiredMixin, CreateView): 'support@digitale-agentur.com', [form.cleaned_data.get('email')], html_message=msg_html, - fail_silently=False, + fail_silently=True, ) ''' return super().form_valid(form) @@ -817,7 +817,7 @@ def cronactions(request, code): 'support@digitale-agentur.com', [user.email], html_message=msg_html, - fail_silently=False + fail_silently=True ) if(user.profile.news_push):