Commit Arbeitsstand 15:49
This commit is contained in:
parent
ed13bf155b
commit
e209b9b8c8
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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
|
||||||
|
|
@ -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)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -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),
|
||||||
|
),
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -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>
|
||||||
|
<a class="btn" href="{% url 'tasks-management' %} ">Abbrechen</a>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
||||||
|
|
@ -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 %}
|
||||||
|
|
@ -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'),
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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')]},
|
||||||
|
),
|
||||||
|
]
|
||||||
Binary file not shown.
Loading…
Reference in New Issue