Nutzer löschen Standards usw.
This commit is contained in:
parent
e41e96828d
commit
756937f7b0
|
|
@ -25,6 +25,6 @@ urlpatterns = [
|
|||
path('standardsagn/<int:pk>', views.StandardFromAgn, name="standard-agn"),
|
||||
path('standardcopy/<int:pk>', views.CopyStandard, name="standard-copyagn"),
|
||||
path('loadaggroupm/', views.LoadAGGroupMembers, name="standard-loadaggroupmembers"),
|
||||
|
||||
path('standard/update/', views.UpdateStandardBeforeUserDel, name="standard-update-before-user-del")
|
||||
|
||||
]
|
||||
|
|
@ -1019,4 +1019,34 @@ def updatesbyajax_agn(request, pk):
|
|||
return JsonResponse({"added" : added})
|
||||
|
||||
|
||||
@login_required
|
||||
def UpdateStandardBeforeUserDel(request):
|
||||
if(request.method == "GET"):
|
||||
success = False
|
||||
# Get Request-Data
|
||||
newuser = User.objects.get(pk=request.GET["userid"])
|
||||
finalkind = request.GET["finalkind"]
|
||||
standard = Standards.objects.get(pk=request.GET["standard"])
|
||||
useractor = User.objects.get(pk=request.GET["useractorid"])
|
||||
|
||||
if(newuser.profile.agency == useractor.profile.agency and standard.agency == useractor.profile.agency and useractor.has_perm('users.usermanager')):
|
||||
# User is new creator
|
||||
if(finalkind == "created"):
|
||||
standard.created_standard_by = newuser
|
||||
# User is new executor
|
||||
elif(finalkind == "ex"):
|
||||
standard.executor.add(newuser)
|
||||
# User is new representator
|
||||
elif(finalkind == "repr"):
|
||||
standard.representative.add(newuser)
|
||||
# User is new in auth
|
||||
elif(finalkind == "auth"):
|
||||
standard.authority.add(newuser)
|
||||
|
||||
standard.save()
|
||||
success = True
|
||||
else:
|
||||
success = False
|
||||
|
||||
return JsonResponse({"success" : success})
|
||||
|
||||
|
|
|
|||
|
|
@ -20,9 +20,28 @@
|
|||
{% csrf_token %}
|
||||
|
||||
<h4>In folgenden Standards ist {{object.get_full_name}} involviert:</h4>
|
||||
<small>Wählen Sie aus, wer anstelle von {{object.get_full_name}} eingesetzt werden soll.</small><br />
|
||||
<small>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.</small><br />
|
||||
<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>
|
||||
|
||||
|
||||
|
||||
<!-- TODO: Hier noch ein Feld machen, bei dem ein User auf alle Felder übertragen werden kann! -->
|
||||
|
||||
<button class="btn btn-primary" type="button" onclick="javascript:saveAll()">Alle Speichern</button>
|
||||
{% for s in standards_to_change %}
|
||||
<hr>
|
||||
<h5>
|
||||
|
|
@ -37,7 +56,7 @@
|
|||
<span>Ersteller ändern auf: </span></td>
|
||||
<td>
|
||||
<div class="input-group mb-3" >
|
||||
<input class="form-control" list="users_created_standard_{{s.pk}}" id="users_created_standard_{{s.pk}}_input" type="text" onkeyup="" >
|
||||
<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>
|
||||
|
|
@ -60,7 +79,7 @@
|
|||
<span>Vertretung übertragen auf: </span></td>
|
||||
<td>
|
||||
<div class="input-group mb-3" >
|
||||
<input class="form-control" list="users_repr_standard_{{s.pk}}" id="users_repr_standard_{{s.pk}}_input" type="text" onkeyup="" >
|
||||
<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>
|
||||
|
|
@ -83,7 +102,7 @@
|
|||
<span>Ausführung übertragen auf: </span></td>
|
||||
<td>
|
||||
<div class="input-group mb-3" >
|
||||
<input class="form-control" list="users_ex_standard_{{s.pk}}" id="users_ex_standard_{{s.pk}}_input" type="text" onkeyup="" >
|
||||
<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>
|
||||
|
|
@ -107,7 +126,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<div class="input-group mb-3" >
|
||||
<input class="form-control" list="users_auth_standard_{{s.pk}}" id="users_auth_standard_{{s.pk}}_input" type="text" onkeyup="" >
|
||||
<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>
|
||||
|
|
@ -192,26 +211,61 @@
|
|||
}
|
||||
}
|
||||
//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('<div class="spinner-border spinner-border-sm" role="status" style="margin-bottom: 2px;"><span class="sr-only">Loading...</span></div>');
|
||||
}
|
||||
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();
|
||||
console.log(buttons[i]);
|
||||
console.log("CLICK " + i);
|
||||
}
|
||||
|
||||
}
|
||||
</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">
|
||||
|
|
|
|||
Loading…
Reference in New Issue