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 import forms
from django.contrib.admin.widgets import FilteredSelectMultiple from django.contrib.admin.widgets import FilteredSelectMultiple
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.validators import ValidationError
from django.forms.widgets import HiddenInput from django.forms.widgets import HiddenInput
from django.utils import timezone from django.utils import timezone
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@@ -78,6 +79,24 @@ class TaskCreateForm(forms.ModelForm):
"assigned_to" "assigned_to"
].queryset.order_by("username") ].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 TaskUpdateForm(forms.ModelForm):
class Meta: class Meta:
@@ -137,7 +156,4 @@ class DocumentForm(forms.ModelForm):
"date": _("Datum"), "date": _("Datum"),
} }
widgets = { widgets = {"date": DateInput(format=("%d-%m-%Y")), "task": HiddenInput}
"date": DateInput(format=("%d-%m-%Y")),
"task": HiddenInput
}