add assigning tasks to users who are not in the list
This commit is contained in:
@@ -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
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user