fix duplicated tasks were displayed, but they were not.
This commit is contained in:
@@ -13,18 +13,19 @@ class TaskQuerySet(models.QuerySet):
|
|||||||
class TaskManager(models.Manager):
|
class TaskManager(models.Manager):
|
||||||
def get_tasks(self, user, completed, task_list, all_tasks):
|
def get_tasks(self, user, completed, task_list, all_tasks):
|
||||||
# None ... assigned to all users
|
# None ... assigned to all users
|
||||||
qs_comp = self.get_queryset().get_ordered().filter(assigned_to=user)
|
qs = self.get_queryset().get_ordered().filter(assigned_to__id=user)
|
||||||
|
|
||||||
if all_tasks:
|
if all_tasks:
|
||||||
qs_comp |= self.get_queryset().get_ordered().filter(Q(assigned_to=None) & Q(task_list__users=user))
|
qs_tmp = self.get_queryset().get_ordered().filter(Q(assigned_to=None) & Q(task_list__users__id__exact=user))
|
||||||
|
qs = (qs | qs_tmp).distinct()
|
||||||
|
|
||||||
if not completed:
|
if not completed:
|
||||||
qs_comp = qs_comp.filter(completed=completed)
|
qs = qs.filter(completed=completed)
|
||||||
|
|
||||||
if task_list:
|
if task_list:
|
||||||
qs_comp = qs_comp.filter(task_list=task_list)
|
qs = qs.filter(task_list=task_list)
|
||||||
|
|
||||||
return qs_comp
|
return qs
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return TaskQuerySet(self.model, using=self._db)
|
return TaskQuerySet(self.model, using=self._db)
|
||||||
@@ -57,15 +58,15 @@ class Task(models.Model):
|
|||||||
completed_date = models.DateField(blank=True, null=True)
|
completed_date = models.DateField(blank=True, null=True)
|
||||||
|
|
||||||
created_by = models.ForeignKey(
|
created_by = models.ForeignKey(
|
||||||
settings.AUTH_USER_MODEL,
|
User,
|
||||||
related_name="todo_created_by",
|
related_name="created_by",
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
)
|
)
|
||||||
assigned_to = models.ForeignKey(
|
assigned_to = models.ForeignKey(
|
||||||
settings.AUTH_USER_MODEL,
|
User,
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
null=True,
|
||||||
related_name="todo_assigned_to",
|
related_name="assigned_to",
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
verbose_name="Zugewiesen an",
|
verbose_name="Zugewiesen an",
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user