digitaleagenturnc/users/templates/users/user_confirm_delete.html

350 lines
16 KiB
HTML

{% extends "users/base.html" %}
{% load crispy_forms_tags %}
{% load counter_tag %}
{% block content %}
<div class="content-section">
<h3>{{user.get_full_name}} wirklich löschen?</h3>
<!-- Für das Speichern der Bilder enctype -->
<form method="POST">
{% csrf_token %}
{% if orgaerror == False %}
<hr>
<h4>Untergeordnete Mitarbeiter</h4>
<p>Wählen Sie aus, welcher Mitarbeiter als übergeordneter Mitarbeiter durch {{user.get_full_name}} ersetzt werden soll. Vorher kann der Nutzer nicht gelöscht werden.</p>
<div class="input-group mb-3 col-6 mt-2" >
<input class="form-control" list="neworga" id="neworgafield" type="text" onkeyup="" >
<div class="input-group-append">
<button type="button" onclick="javascript:clearField('neworgafield')" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="neworga">
{% for us in usersofagency %}
<option id="neworga_{{us.pk}}" value="{{us.get_full_name}}">{{us.get_full_name}}</option>
{% endfor %}
</datalist>
<div class="input-group-append">
<button class="btn btn-primary" type="button" id="updateOrgaButton" onclick="javascript:updateOrga()">Speichern</button>
</div>
</div>
<hr>
{% endif %}
<h4>In folgenden Standards ist {{object.get_full_name}} involviert:</h4>
<p>Wählen Sie aus, wer anstelle von {{object.get_full_name}} eingesetzt werden soll. Bleibt das Feld frei, wird der Standard nicht verändert und der zu löschende Nutzer wird entfernt.</p>
<hr>
<div class="input-group mb-3 col-6" >
<input class="form-control" list="copyusertoall" id="copyusertoallfield" type="text" onkeyup="" >
<div class="input-group-append">
<button type="button" onclick="javascript:clearField('copyusertoallfield')" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="copyusertoall">
{% for us in usersofagency %}
<option id="copyall_{{us.pk}}" value="{{us.get_full_name}}">{{us.get_full_name}}</option>
{% endfor %}
</datalist>
<div class="input-group-append">
<button class="btn btn-primary" type="button" onclick="javascript:updateAllStandard()" id="">Auf alle übertragen</button>
<button class="btn btn-success" type="button" onclick="javascript:saveAll()">Alle Speichern</button>
</div>
</div>
<div id="accordion">
{% for s in standards_to_change %}
<div class="card">
<div class="card-header" id="head_s_{{s.pk}}">
<h5 class="mb-0">
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#s_{{s.pk}}" aria-expanded="true" aria-controls="collapseOne">
<i class="fas fa-chevron-down" style="padding-right: 20px;"></i>Standard: <b>{{s.name}}</b>
</button>
</h5>
</div>
<div id="s_{{s.pk}}" class="collapse" aria-labelledby="head_s_{{s.pk}}" data-parent="#accordion">
<div class="card-body">
<h5>
<span><button class="btn btn-sm btn-secondary" type="button" onclick="javascript:showStandard({{s.pk}})"><i class="fas fa-eye"></i></button></span>&nbsp;
Standard betrachten
</h5>
<table style="width: 60%;">
{% if s.created_standard_by == user_to_del %}
<tr>
<td style="padding-bottom: 15px;">
<span>Ersteller ändern auf:&nbsp;&nbsp;</span></td>
<td>
<div class="input-group mb-3" >
<input class="form-control inputfield" list="users_created_standard_{{s.pk}}" id="users_created_standard_{{s.pk}}_input" type="text" onkeyup="" >
<div class="input-group-append">
<button type="button" onclick="javascript:clearField('users_created_standard_{{s.pk}}_input')" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="users_created_standard_{{s.pk}}">
{% for us in usersofagency %}
<option id="users_created_standard_{{s.pk}}_{{us.pk}}" value="{{us.get_full_name}}">{{us.get_full_name}}</option>
{% endfor %}
</datalist>
<div class="input-group-append">
<button class="btn btn-primary savebutton" type="button" onclick="javascript:updateStandard('created', {{s.pk}})" id="btn_users_created_standard_{{s.pk}}_save">Speichern</button>
</div>
</div>
</td>
</tr>
{% endif %}
{% if user_to_del in s.representative.all %}
<tr>
<td style="padding-bottom: 15px;">
<span>Vertretung übertragen auf:&nbsp;&nbsp;</span></td>
<td>
<div class="input-group mb-3" >
<input class="form-control inputfield" list="users_repr_standard_{{s.pk}}" id="users_repr_standard_{{s.pk}}_input" type="text" onkeyup="" >
<div class="input-group-append">
<button type="button" onclick="javascript:clearField('users_repr_standard_{{s.pk}}_input')" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="users_repr_standard_{{s.pk}}">
{% for us in usersofagency %}
<option id="users_repr_standard_{{s.pk}}_{{us.pk}}" value="{{us.get_full_name}}">{{us.get_full_name}}</option>
{% endfor %}
</datalist>
<div class="input-group-append">
<button class="btn btn-primary savebutton" type="button" onclick="javascript:updateStandard('repr', {{s.pk}})" id="btn_users_repr_standard_{{s.pk}}_save">Speichern</button>
</div>
</div>
</td>
</tr>
{% endif %}
{% if user_to_del in s.executor.all %}
<tr>
<td style="padding-bottom: 15px;">
<span>Ausführung übertragen auf:&nbsp;&nbsp;</span></td>
<td>
<div class="input-group mb-3" >
<input class="form-control inputfield" list="users_ex_standard_{{s.pk}}" id="users_ex_standard_{{s.pk}}_input" type="text" onkeyup="" >
<div class="input-group-append">
<button type="button" onclick="javascript:clearField('users_ex_standard_{{s.pk}}_input')" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="users_ex_standard_{{s.pk}}">
{% for us in usersofagency %}
<option id="users_ex_standard_{{s.pk}}_{{us.pk}}" value="{{us.get_full_name}}">{{us.get_full_name}}</option>
{% endfor %}
</datalist>
<div class="input-group-append">
<button class="btn btn-primary savebutton" type="button" onclick="javascript:updateStandard('executor', {{s.pk}})" id="btn_users_ex_standard_{{s.pk}}_save">Speichern</button>
</div>
</div>
</td>
</tr>
{% endif %}
{% if user_to_del in s.authority.all %}
<tr>
<td style="padding-bottom: 15px;">
<span>Verantwortung übertragen auf:&nbsp;&nbsp;</span>
</td>
<td>
<div class="input-group mb-3" >
<input class="form-control inputfield" list="users_auth_standard_{{s.pk}}" id="users_auth_standard_{{s.pk}}_input" type="text" onkeyup="" >
<div class="input-group-append">
<button type="button" onclick="javascript:clearField('users_auth_standard_{{s.pk}}_input')" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="users_auth_standard_{{s.pk}}">
{% for us in usersofagency %}
<option id="users_auth_standard_{{s.pk}}_{{us.pk}}" value="{{us.get_full_name}}">{{us.get_full_name}}</option>
{% endfor %}
</datalist>
<div class="input-group-append">
<button class="btn btn-primary savebutton" type="button" onclick="javascript:updateStandard('auth', {{s.pk}})" id="btn_users_auth_standard_{{s.pk}}_save">Speichern</button>
</div>
</div>
</td>
</tr>
{% endif %}
</table>
</div>
</div>
</div>
{% endfor %}
</div><!-- ACCORDION CLOSE -->
<hr >
<p>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.<br /></p>
<a href="{% url 'users-delete-getdata' user.pk %}" id="downloadFileAction" download>Daten erneut herunterladen</a>
<hr>
<div class="form-group">
<button type="submit" class="btn btn-primary" id="finalDelButton" {% if orgaerror == False %} disabled {% endif %}>Benutzer löschen</button>&nbsp;
<a href="{% url 'dasettings' %}" class="btn">Abbrechen</a>
</div>
</form>
</div>
<script type="text/javascript">
//Auto-Download the file
$(document).ready(function(){
location.href = "{% url 'users-delete-getdata' user.pk %}"
})
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];
saveNewData(userid, finalkind, standard, buttonid);
}
}
//Copy to all
function updateAllStandard(){
var value = $("#copyusertoallfield").val();
inputfields = $(".inputfield");
for(i = 0; i < inputfields.length; i++){
inputfields[i].value = value;
}
}
function saveNewData(userid, finalkind, standard, buttonid){
$.ajax(
{
type: "GET",
url: "{% url 'standard-update-before-user-del' %}",
data:{
userid : userid,
finalkind : finalkind,
standard : standard,
useractorid : {{request.user.pk}}
},
beforeSend: function(){
$("#" + buttonid).html('<div class="spinner-border spinner-border-sm" role="status" style="margin-bottom: 2px;"><span class="sr-only">Speichern...</span></div>');
},
success: function( data )
{
if(data["success"]){
$("#" + buttonid).html('Gespeichert');
}
else{
$("#" + buttonid).html('Fehler');
}
}
});
}
//Save all Button
function saveAll(){
buttons = $(".savebutton")
for(i = 0; i < buttons.length; i++){
buttons[i].click();
}
}
function updateOrga(){
var value = $("#neworgafield").val();
if(value.length > 0){
id = $('#neworga').find('option[value="' + value + '"]').attr('id');
$.ajax(
{
type: "GET",
url: "{% url 'update-user-orga' %}",
data:{
userid : id.split("_")[1],
useridold : {{object.pk}}
},
beforeSend: function(){
$("#updateOrgaButton").html('<div class="spinner-border spinner-border-sm" role="status" style="margin-bottom: 2px;"><span class="sr-only">Speichern...</span></div>');
},
success: function( data )
{
console.log(data);
if(data["success"]){
$("#finalDelButton").attr("disabled", false);
$("#updateOrgaButton").html('Gespeichert');
}
else{
$("#updateOrgaButton").html('Fehler');
}
}
});
}
}
</script>
<!-- STANDARDSMODAL -->
{% for s in standards_to_change %}
<div class="modal fade " id="modal_{{s.pk}}" tabindex="-1" role="dialog" data-backdrop="static" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">{{s.name}}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Schließen">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h4>{{standard.name}}</h4>
{{s.media}}
{{s.content|safe}}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Schließen</button>
</div>
</div>
</div>
</div>
{% endfor %}
{% endblock content %}