diff --git a/fet2020/tasks/managers.py b/fet2020/tasks/managers.py index 65df48f0..ea4019ab 100644 --- a/fet2020/tasks/managers.py +++ b/fet2020/tasks/managers.py @@ -19,13 +19,10 @@ class TaskManager(models.Manager): ) qs = (qs | qs_tmp).distinct() - if not completed: - qs = qs.filter(completed=completed) - if task_list: qs = qs.filter(task_list=task_list) - return qs + return qs.filter(completed=completed) def get_queryset(self): return TaskQuerySet(self.model, using=self._db) diff --git a/fet2020/tasks/views.py b/fet2020/tasks/views.py index 870b8fdd..b4ce7acf 100644 --- a/fet2020/tasks/views.py +++ b/fet2020/tasks/views.py @@ -24,7 +24,7 @@ logger = logging.getLogger(__name__) @authenticated_user def index(request): - current_action = False + completed = False tasklist = None show_tasklist = None show_all_tasks = True @@ -39,34 +39,43 @@ def index(request): task.completed_date = timezone.now().date() task.save() - if "btn_user" in request.POST: - if request.POST["action"] == "show_incompleted": - current_action = False - else: - current_action = True - - if request.POST["tasklist"] != "all": - tasklist = TaskList.objects.filter(id=request.POST["tasklist"]).first() + if request.method == "GET": + if "tasklist" in request.GET: + if request.GET["tasklist"] != "all": + tasklist = TaskList.objects.filter(id=request.GET["tasklist"]).first() show_tasklist = tasklist.id - if request.POST["tasks"] == "all": + if "tasks" in request.GET: + if request.GET["tasks"] == "all": show_all_tasks = True else: show_all_tasks = False + if "btn_state" in request.GET: + if request.GET["btn_state"] == "open": + completed = False + elif request.GET["btn_state"] == "close": + completed = True + tasks = Task.taskmanager.get_tasks( user=request.user.id, - completed=current_action, + completed=completed, task_list=tasklist, all_tasks=show_all_tasks, ) tasklists = TaskList.objects.all() + # TODO: very bad solution... try to do it better! + if completed == False: + completed = "open" + else: + completed = "close" + context = { "tasks": tasks, "tasklists": tasklists, "current_user": request.user.id, - "current_action": current_action, + "completed": completed, "show_tasklist": show_tasklist, "show_all_tasks": show_all_tasks, } diff --git a/fet2020/templates/tasks/index.html b/fet2020/templates/tasks/index.html index d30f9a8c..4a8c23c5 100644 --- a/fet2020/templates/tasks/index.html +++ b/fet2020/templates/tasks/index.html @@ -9,40 +9,39 @@