add assigning tasks to users who are not in the list

This commit is contained in:
2022-01-20 10:08:49 +00:00
parent 3ebeee80f9
commit ef45ff9480

View File

@@ -1,6 +1,7 @@
from django import forms
from django.contrib.admin.widgets import FilteredSelectMultiple
from django.contrib.auth.models import User
from django.core.validators import ValidationError
from django.forms.widgets import HiddenInput
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
@@ -78,6 +79,24 @@ class TaskCreateForm(forms.ModelForm):
"assigned_to"
].queryset.order_by("username")
def clean(self):
cleaned_data = super().clean()
assigned_to = cleaned_data["assigned_to"]
if assigned_to:
task_list = TaskList.objects.get(id=cleaned_data["task_list"].id)
for elem in task_list.users.all():
if assigned_to == elem:
break
else:
raise ValidationError(
_(
f"User '{assigned_to}' gibt es nicht in der User-Liste der Task-Gruppe '{task_list}'."
)
)
return cleaned_data
class TaskUpdateForm(forms.ModelForm):
class Meta:
@@ -137,7 +156,4 @@ class DocumentForm(forms.ModelForm):
"date": _("Datum"),
}
widgets = {
"date": DateInput(format=("%d-%m-%Y")),
"task": HiddenInput
}
widgets = {"date": DateInput(format=("%d-%m-%Y")), "task": HiddenInput}