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