diff --git a/tasks/__pycache__/forms.cpython-38.pyc b/tasks/__pycache__/forms.cpython-38.pyc new file mode 100644 index 0000000..a8b6ffc Binary files /dev/null and b/tasks/__pycache__/forms.cpython-38.pyc differ diff --git a/tasks/__pycache__/urls.cpython-38.pyc b/tasks/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000..5229c03 Binary files /dev/null and b/tasks/__pycache__/urls.cpython-38.pyc differ diff --git a/tasks/__pycache__/views.cpython-38.pyc b/tasks/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000..78dd4fe Binary files /dev/null and b/tasks/__pycache__/views.cpython-38.pyc differ diff --git a/tasks/forms.py b/tasks/forms.py new file mode 100644 index 0000000..44cf0a1 --- /dev/null +++ b/tasks/forms.py @@ -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 \ No newline at end of file diff --git a/tasks/migrations/0001_initial.py b/tasks/migrations/0001_initial.py new file mode 100644 index 0000000..54035c3 --- /dev/null +++ b/tasks/migrations/0001_initial.py @@ -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)), + ], + ), + ] diff --git a/tasks/migrations/0002_tasks_name.py b/tasks/migrations/0002_tasks_name.py new file mode 100644 index 0000000..3e105e9 --- /dev/null +++ b/tasks/migrations/0002_tasks_name.py @@ -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), + ), + ] diff --git a/tasks/migrations/__pycache__/0001_initial.cpython-38.pyc b/tasks/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100644 index 0000000..ff34734 Binary files /dev/null and b/tasks/migrations/__pycache__/0001_initial.cpython-38.pyc differ diff --git a/tasks/migrations/__pycache__/0002_tasks_name.cpython-38.pyc b/tasks/migrations/__pycache__/0002_tasks_name.cpython-38.pyc new file mode 100644 index 0000000..d481111 Binary files /dev/null and b/tasks/migrations/__pycache__/0002_tasks_name.cpython-38.pyc differ diff --git a/tasks/templates/tasks/tasks_add.html b/tasks/templates/tasks/tasks_add.html new file mode 100644 index 0000000..17a46b5 --- /dev/null +++ b/tasks/templates/tasks/tasks_add.html @@ -0,0 +1,21 @@ +{% extends "users/base.html" %} +{% load crispy_forms_tags %} +{% block content %} +
+

Neue Aufgabe anlegen

+
+
+ {% csrf_token %} + {{ form|crispy }} + {% for field in form %} + {% if field.name == 'visible' %} + CHECKBOX! + {% endif %} + {% endfor %} +

Nachdem Erstellen der Aufgabe können Mitarbeiter zugewiesen werden.

+
+   + Abbrechen +
+
+{% endblock content %} \ No newline at end of file diff --git a/tasks/templates/tasks/tasks_management.html b/tasks/templates/tasks/tasks_management.html new file mode 100644 index 0000000..f38449b --- /dev/null +++ b/tasks/templates/tasks/tasks_management.html @@ -0,0 +1,71 @@ +{% extends "users/base.html" %} +{% block content %} +
+

Aufgabenverwaltung

+
+

+ Aufgaben unterteilen die Agentur in verschiedene Aufgabenbereiche innerhalb der Bereiche. +

+
+ +
+
+
+ {% for item in tasks_of_agency %} + +
+
+ +
+
{{item.name }}
+ + +
+ +
+
+
+
Name
+

+ {{ item.name }} +

+
Erstellt von
+

+ {{ item.created_area_by.first_name }} {{ item.created_area_by.last_name }} +

+
+
+
Übergeordneter Bereich
+

+ {{ item.area.name }} +

+
Erstellt am
+

+ {{ item.created_area_date }} +

+
+
+
Beschreibung
+

+ {{ item.desc }} +

+
+
+
+
+
+ {% endfor%} +
+{% endblock content %} diff --git a/tasks/urls.py b/tasks/urls.py new file mode 100644 index 0000000..7919907 --- /dev/null +++ b/tasks/urls.py @@ -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'), + +] + + diff --git a/users/migrations/0002_auto_20191204_0857.py b/users/migrations/0002_auto_20191204_0857.py new file mode 100644 index 0000000..a4f5c8b --- /dev/null +++ b/users/migrations/0002_auto_20191204_0857.py @@ -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')]}, + ), + ] diff --git a/users/migrations/__pycache__/0002_auto_20191204_0857.cpython-38.pyc b/users/migrations/__pycache__/0002_auto_20191204_0857.cpython-38.pyc new file mode 100644 index 0000000..ffe61ff Binary files /dev/null and b/users/migrations/__pycache__/0002_auto_20191204_0857.cpython-38.pyc differ