- Aufgaben fertig

- Bug bei den Aufgaben behoben, dass auch Bereiche anderer Agenturen ausgewählt werden können
This commit is contained in:
Holger Trampe 2019-12-04 17:37:12 +01:00
parent e209b9b8c8
commit 166288c702
4 changed files with 163 additions and 15 deletions

View File

@ -7,11 +7,6 @@
<form method="POST">
{% csrf_token %}
{{ form|crispy }}
{% for field in form %}
{% if field.name == 'visible' %}
CHECKBOX!
{% endif %}
{% endfor %}
<p>Nachdem Erstellen der Aufgabe können Mitarbeiter zugewiesen werden.</p>
<hr>
<button type="submit" class="btn btn-success" href="{% url 'areas-addarea' %} ">Aufgabe anlegen</button>&nbsp;

View File

@ -0,0 +1,22 @@
{% extends "users/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section">
<div class="media">
<div class="media-body">
<h2 class="account-heading">Aufgabe {{ object.name }} löschen?</h2>
<hr>
</div>
</div>
<!-- Für das Speichern der Bilder enctype -->
<form method="POST">
{% csrf_token %}
<p>Alle unter dieser Aufgabe erstellten Standards werden gelöscht!</p>
<div class="form-group">
<button type="submit" class="btn btn-danger">Aufgabe löschen</button>&nbsp;
<a href="{% url 'tasks-management' %}" class="btn btn-success">Abbrechen</a>
</div>
</form>
</div>
{% endblock content %}

View File

@ -27,9 +27,9 @@
</a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Aufgabeninfo</div>
<a class="dropdown-item" href="#">Bearbeiten</a>
<a class="dropdown-item" href="{% url 'tasks-manage' item.pk %}">Bearbeiten</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="#" >Löschen</a>
<a class="dropdown-item text-danger" href="{% url 'tasks-delete' item.pk %}" >Löschen</a>
</div>
</div>
</div>
@ -56,7 +56,7 @@
{{ item.created_area_date }}
</p>
</div>
<div class="col-md-10">
<div class="col-md-6">
<h6><b>Beschreibung</b></h6>
<p>
{{ item.desc }}

View File

@ -0,0 +1,131 @@
{% extends "users/base.html" %}
{% load static %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section col-6">
<h3>Aufgabe aktualisieren</h3>
<hr>
<form method="POST">
{% csrf_token %}
{{ form|crispy }}
<h6>Mitarbeiter hinzufügen</h6>
<div class="input-group mb-3">
<input class="form-control" list="usersfree" name="searchusers" id="searchusers" type="text" onkeyup="javascript:checkValue()">
<div class="input-group-append">
<button type="button" id="addusertotaskbtn" onclick="javascript:addUserToTask()" class="btn btn-success" disabled>Mitarbeiter hinzufügen</button>
<button type="button" onclick="javascript:clearSearchfield()" class="btn btn-secondary" ><i class="fas fa-times"></i></button>
</div>
<datalist id="usersfree">
{% for us in possible_users %}
<option id="{{us.pk}}" value="{{us.first_name}} {{us.last_name}}"></option>
{% endfor %}
</datalist>
</datalist>
</div>
<hr>
<h6>Zugewiesene Mitarbeiter</h6>
<div id="added_users_button">
{% if added_users|length > 0 %}
<p id="no_user_in_task" style="display: none">Noch kein Mitarbeiter zugewiesen.</p>
{% for us in added_users %}
<span id="span_btn_{{us.pk}}" class="badge badge-pill badge-primary mr-2 mt-2"><a class="btn btn-primary" onclick="javascript:removeUserFromTask('{{ us.pk }}')">{{ us.first_name }} {{ us.last_name }}&nbsp;&nbsp;<i class="fas fa-times"></i></a >
</span>
{% endfor %}
{% else %}
<p id="no_user_in_task">Dieser Aufgabe sind noch keine Mitarbeiter zugewiesen.</p>
{% endif %}
</div>
<hr>
<button type="submit" class="btn btn-success">Aufgabe aktualisieren</button>&nbsp;
<a class="btn" href="{% url 'tasks-management' %} ">Abbrechen</a>
</form>
</div>
<script type="text/javascript">
var tempid = null;
var tempcounter = 0;
function addUserToTask(){
$.ajax(
{
type: "GET",
url: "/tasks/areaajax",
data:{
userid: tempid,
action : 'adduser',
objectid : {{objectid}}
},
success: function( data )
{
clearSearchfield();
//Add User-Button
$("#added_users_button").append('<span id="span_btn_'+data['userid']+'" class="badge badge-pill badge-primary mr-2 mt-2"><a class="btn btn-primary" onclick="javascript:removeUserFromTask('+data['userid']+')">'+data['username_clean']+'&nbsp;&nbsp;<i class="fas fa-times"></i></a ></span>');
$("#usersfree").empty();
for (var i in data['remaining_users']) {
id = data['remaining_users'][i]['id'];
name = data['remaining_users'][i]['first_name'] + " " + data['remaining_users'][i]['last_name'];
$("#usersfree").append('<option id="'+id+'" value="'+name+'"></option>');
}
if(data['remaining_users_counter'] == 0){
$("#no_user_in_task").show();
}
else {
$("#no_user_in_task").hide();
}
}
});
}
//Remove individual User from area, appened to the datalist!
function removeUserFromTask(user_id){
$.ajax(
{
type: "GET",
url: "/tasks/areaajax",
data:{
userid: user_id,
action : 'remuser',
objectid : {{objectid}}
},
success: function( data )
{
//Remove User-Button
$("#span_btn_"+data['userid']).remove();
//Rebuilding the Datalist
$("#usersfree").empty();
for (var i in data['remaining_users']) {
id = data['remaining_users'][i]['id'];
name = data['remaining_users'][i]['first_name'] + " " + data['remaining_users'][i]['last_name'];
$("#usersfree").append('<option id="'+id+'" value="'+name+'"></option>');
}
if(data['remaining_users_counter'] == 0){
$("#no_user_in_task").show();
}
else {
$("#no_user_in_task").hide();
}
}
});
}
//Clearing searchfield and set AddUser to false
function clearSearchfield(){
$("#searchusers").val("");
$("#addusertotaskbtn").prop('disabled', true);
}
//Check for valid input on inputfield
function checkValue(){
var g = $('#searchusers').val();
var id = $('#usersfree').find('option[value="' + g + '"]').attr('id');
if(id != undefined && id.length > 0){
tempid = id;
$("#addusertotaskbtn").prop('disabled', false);
}
else{
tempid = null;
$("#addusertotaskbtn").prop('disabled', true);
}
}
</script>
{% endblock content %}