diff --git a/standards/templates/standards/standards_add.html b/standards/templates/standards/standards_add.html index 96991a3..264876e 100644 --- a/standards/templates/standards/standards_add.html +++ b/standards/templates/standards/standards_add.html @@ -80,22 +80,22 @@
- -
- -
- - {% if update == True %} - {% for s in standard_possible %} - - {% endfor %} - {% else %} - {% for s in standards %} - - {% endfor %} - {% endif %} - -
+ +
+ +
+ + {% if update == True %} + {% for s in standard_possible %} + + {% endfor %} + {% else %} + {% for s in standards %} + + {% endfor %} + {% endif %} + +
Verlinkte Standards: {% if update == True %} diff --git a/timemanagement/templates/timemanagement/tm_ab_management.html b/timemanagement/templates/timemanagement/tm_ab_management.html index d01c134..dedfd07 100644 --- a/timemanagement/templates/timemanagement/tm_ab_management.html +++ b/timemanagement/templates/timemanagement/tm_ab_management.html @@ -574,10 +574,6 @@ $('#absencetabs a').on('click', function (e) { }); - - - - function prevMonth(){ $.ajax( { diff --git a/users/templates/users/user_confirm_delete.html b/users/templates/users/user_confirm_delete.html index 9dcd168..4dab7bf 100644 --- a/users/templates/users/user_confirm_delete.html +++ b/users/templates/users/user_confirm_delete.html @@ -18,8 +18,116 @@ {% csrf_token %} + +

In folgenden Standards ist {{object.get_full_name}} involviert:

+ Wählen Sie aus, wer anstelle von {{object.get_full_name}} eingesetzt werden soll.
+ + + {% for s in standards_to_change %} +
+
+   + Standard: {{s.name}} + +
+
+ {% if s.created_standard_by == user_to_del %} + + + + + {% endif %} + + {% if user_to_del in s.representative.all %} + + + + + {% endif %} + + {% if user_to_del in s.executor.all %} + + + + + {% endif %} + + {% if user_to_del in s.authority.all %} + + + + + {% endif %} +
+ Ersteller ändern auf:   +
+ +
+ +
+ + {% for us in usersofagency %} + + {% endfor %} + +
+ +
+
+
+ Vertretung übertragen auf:   +
+ +
+ +
+ + {% for us in usersofagency %} + + {% endfor %} + +
+ +
+
+
+ Ausführung übertragen auf:   +
+ +
+ +
+ + {% for us in usersofagency %} + + {% endfor %} + +
+ +
+
+
+ Verantwortung übertragen auf:   + +
+ +
+ +
+ + {% for us in usersofagency %} + + {% endfor %} + +
+ +
+
+
+ {% endfor %} +
{% if orgaerror == True %} -

Alle vom Benutzer erstellen Informationen (Standards, Dateien usw.) bleiben bestehen, jedoch werden die Verweise auf einen Nutzer entfernt. Alle Chat-Nachrichten werden unwiederruflich gelöscht! Soeben wurden alle Vertragsdaten (Abwesenheit und Zeiterfassung), wenn vorhanden, als CSV heruntergeladen. Diese können Sie archivieren und entsprechend Ihrer agenturinternen Gegebenheiten bzgl. Datenspeicherung aufbewahren.

+

Alle Chat-Nachrichten werden unwiederruflich gelöscht! Soeben wurden alle Vertragsdaten (Abwesenheit und Zeiterfassung), wenn vorhanden, als CSV heruntergeladen. Diese können Sie archivieren und entsprechend Ihrer agenturinternen Gegebenheiten bzgl. Datenspeicherung aufbewahren.

Daten erneut herunterladen
@@ -38,8 +146,93 @@ //Auto-Download the file {% if orgaerror == True %} $(document).ready(function(){ - location.href = "{% url 'users-delete-getdata' user.pk %}" + //location.href = "{% url 'users-delete-getdata' user.pk %}" }) {% endif %} + + + function clearField(id){ + $("#" + id).val(""); + } + + function showStandard(spk){ + $("#modal_" + spk).modal("toggle"); + } + + //Update the Standard. Validation serverside + function updateStandard(kind, pk){ + var id = ""; + + if(kind == "created"){ + var value = $("#users_created_standard_" + pk + "_input").val(); + if(value.length > 0){ + id = $('#users_created_standard_'+ pk).find('option[value="' + value + '"]').attr('id'); + buttonid = "btn_users_created_standard_" + pk + "_save"; + } + } + else if(kind == "executor"){ + var value = $("#users_ex_standard_" + pk + "_input").val(); + if(value.length > 0){ + id = $('#users_ex_standard_'+ pk).find('option[value="' + value + '"]').attr('id'); + buttonid = "btn_users_ex_standard_" + pk + "_save"; + } + } + else if(kind == "repr"){ + var value = $("#users_repr_standard_" + pk + "_input").val(); + if(value.length > 0){ + id = $('#users_repr_standard_'+ pk).find('option[value="' + value + '"]').attr('id'); + buttonid = "btn_users_repr_standard_" + pk + "_save"; + } + } + else if(kind == "auth"){ + var value = $("#users_auth_standard_" + pk + "_input").val(); + if(value.length > 0){ + id = $('#users_auth_standard_'+ pk).find('option[value="' + value + '"]').attr('id'); + buttonid = "btn_users_auth_standard_" + pk + "_save"; + } + } + //All data collected, to Ajaxrequest (buttonid for ending spinner!) + if(id.length > 0){ + userid = id.split("_")[4]; + finalkind = id.split("_")[1]; + standard = id.split("_")[3]; + $("#" + buttonid).html('
Loading...
'); + } + } + + function saveAll(){ + buttons = $(".savebutton") + + for(i = 0; i < buttons.length; i++){ + buttons[i].click(); + console.log(buttons[i]); + console.log("CLICK " + i); + } + + } + + + {% for s in standards_to_change %} + +{% endfor %} {% endblock content %} \ No newline at end of file diff --git a/users/views.py b/users/views.py index 99ff3d3..5fb1916 100644 --- a/users/views.py +++ b/users/views.py @@ -1065,8 +1065,23 @@ class ProfileDeleteView(LoginRequiredMixin, DeleteView): context.update({"response" : response}) #print(response) ''' - # Prüft, ob der Nutzer ein Parent im Organigramm ist. Gibt True oder False zurück. Das Template verhindert dann das löschen und informiert den Nutzer. + # Standards des Users laden, um diese dann neu zuzuordnen - finaler Löschbutton wird erst angezeigt, wenn alle Standards durchgeklickt wurden (passiert mit AJAX in der HTML) + usersstandards = [] + agencystandards = Standards.objects.filter(agency=self.request.user.profile.agency) + user_to_del = User.objects.get(pk=self.get_object().pk) + + for s in agencystandards: + if s.created_standard_by == user_to_del or user_to_del in s.representative.all() or user_to_del in s.executor.all() or user_to_del in s.authority.all() : + usersstandards.append(s) + context.update({"standards_to_change" : usersstandards}) + + # Hier werden alle Nutzer der Agentur geladen und in ein Array gepackt, damit diese dann bei den Standards ausgewählt werden können. + usersofagency = User.objects.filter(profile__agency=user_to_del.profile.agency).exclude(pk=user_to_del.pk) + context.update({"usersofagency" : usersofagency}) + + context.update({"user_to_del" : user_to_del}) + # Prüft, ob der Nutzer ein Parent im Organigramm ist. Gibt True oder False zurück. Das Template verhindert dann das löschen und informiert den Nutzer. context.update({"orgaerror" : checkOrgaParent(kwargs["object"])}) return context