Commit Arbeitsstand 15:49

This commit is contained in:
holger.trampe 2019-12-04 15:50:10 +01:00
parent ed13bf155b
commit e209b9b8c8
13 changed files with 203 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

27
tasks/forms.py Normal file
View File

@ -0,0 +1,27 @@
from django import forms
from django.forms import ModelForm
from .models import Tasks
class TasksAddTaskForm(forms.ModelForm):
visible = forms.CheckboxInput()
class Meta:
model = Tasks
labels = {
"name" : "Aufgabenname",
"area" : "Übergeordneter Bereich",
"desc" : "Beschreibung",
"visible": "Im Organigramm sichtbar"
}
fields['visible'] = forms.HiddenInput()
fields = ['name', 'area', 'desc', 'visible']
#def __init__(self, user=None, *args, **kwargs):
# super().__init__(*args, **kwargs)
# if(user != None):
# users_of_agency = User.objects.filter(profile__agency__pk=user.profile.agency.pk)
# self.fields['usersfield'].queryset = users_of_agency

View File

@ -0,0 +1,33 @@
# Generated by Django 3.0 on 2019-12-04 07:57
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('areas', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('users', '0002_auto_20191204_0857'),
]
operations = [
migrations.CreateModel(
name='Tasks',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('desc', models.TextField(blank=True, max_length=3000)),
('created_area_date', models.DateField(blank=True, default=datetime.date.today)),
('visible', models.BooleanField(default=True)),
('agency', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='users.Agency')),
('area', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='areas.Areas')),
('created_area_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
('usersfield', models.ManyToManyField(blank=True, related_name='users_in_task', to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 3.0 on 2019-12-04 08:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('tasks', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='tasks',
name='name',
field=models.CharField(default='', max_length=200),
),
]

View File

@ -0,0 +1,21 @@
{% extends "users/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section col-6">
<h3>Neue Aufgabe anlegen</h3>
<hr>
<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;
<a class="btn" href="{% url 'tasks-management' %} ">Abbrechen</a>
</form>
</div>
{% endblock content %}

View File

@ -0,0 +1,71 @@
{% extends "users/base.html" %}
{% block content %}
<div class="content-section col-12">
<h3>Aufgabenverwaltung</h3>
<hr>
<p>
Aufgaben unterteilen die Agentur in verschiedene Aufgabenbereiche innerhalb der Bereiche.
</p>
<div class="row">
<div class="content-section col-4">
<a class="btn btn-primary" href="{% url 'tasks-addtask' %}">Neue Aufgabe anlegen</a>
</div>
</div>
<hr>
<div class="row">
{% for item in tasks_of_agency %}
<!-- Area Chart -->
<div class="col-xl-4 mb-4">
<div class="card shadow">
<!-- Card Header - Dropdown -->
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">{{item.name }}</h6>
<div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</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>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="#" >Löschen</a>
</div>
</div>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row">
<div class="col-md-6">
<h6><b>Name</b></h6>
<p>
{{ item.name }}
</p>
<h6><b>Erstellt von</b></h6>
<p>
{{ item.created_area_by.first_name }} {{ item.created_area_by.last_name }}
</p>
</div>
<div class="col-md-6">
<h6><b>Übergeordneter Bereich</b></h6>
<p>
{{ item.area.name }}
</p>
<h6><b>Erstellt am</b></h6>
<p>
{{ item.created_area_date }}
</p>
</div>
<div class="col-md-10">
<h6><b>Beschreibung</b></h6>
<p>
{{ item.desc }}
</p>
</div>
</div>
</div>
</div>
</div>
{% endfor%}
</div>
{% endblock content %}

16
tasks/urls.py Normal file
View File

@ -0,0 +1,16 @@
from django.urls import path
from django.contrib.auth import views as auth_views
from django.contrib.auth.decorators import login_required, permission_required
from .views import TasksManagement, TasksAddTask
from . import views
'''
Permissions definiert in models.py bei USERS und dann hier vor die View geschrieben!
'''
urlpatterns = [
path('', permission_required('users.tasks_management')(TasksManagement.as_view(template_name="tasks/tasks_management.html")), name='tasks-management'),
path('addtask/', permission_required('users.tasks_management')(TasksAddTask.as_view(template_name="tasks/tasks_add.html")), name='tasks-addtask'),
]

View File

@ -0,0 +1,17 @@
# Generated by Django 3.0 on 2019-12-04 07:57
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('users', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='profile',
options={'permissions': [('agency_change', 'Agenturinformationen verändern'), ('users_usermanagement', 'Benutzer bearbeiten'), ('areas_management', 'Bereiche bearbeiten'), ('tasks_management', 'Aufgabenbereiche bearbeiten'), ('standard_management', 'Standards bearbeiten und freischalten')]},
),
]