change post action to get action

This commit is contained in:
2022-01-23 20:53:06 +00:00
parent 0e53d93f50
commit a966ebda5b
3 changed files with 37 additions and 32 deletions

View File

@@ -19,13 +19,10 @@ class TaskManager(models.Manager):
) )
qs = (qs | qs_tmp).distinct() qs = (qs | qs_tmp).distinct()
if not completed:
qs = qs.filter(completed=completed)
if task_list: if task_list:
qs = qs.filter(task_list=task_list) qs = qs.filter(task_list=task_list)
return qs return qs.filter(completed=completed)
def get_queryset(self): def get_queryset(self):
return TaskQuerySet(self.model, using=self._db) return TaskQuerySet(self.model, using=self._db)

View File

@@ -24,7 +24,7 @@ logger = logging.getLogger(__name__)
@authenticated_user @authenticated_user
def index(request): def index(request):
current_action = False completed = False
tasklist = None tasklist = None
show_tasklist = None show_tasklist = None
show_all_tasks = True show_all_tasks = True
@@ -39,34 +39,43 @@ def index(request):
task.completed_date = timezone.now().date() task.completed_date = timezone.now().date()
task.save() task.save()
if "btn_user" in request.POST: if request.method == "GET":
if request.POST["action"] == "show_incompleted": if "tasklist" in request.GET:
current_action = False if request.GET["tasklist"] != "all":
else: tasklist = TaskList.objects.filter(id=request.GET["tasklist"]).first()
current_action = True
if request.POST["tasklist"] != "all":
tasklist = TaskList.objects.filter(id=request.POST["tasklist"]).first()
show_tasklist = tasklist.id show_tasklist = tasklist.id
if request.POST["tasks"] == "all": if "tasks" in request.GET:
if request.GET["tasks"] == "all":
show_all_tasks = True show_all_tasks = True
else: else:
show_all_tasks = False 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( tasks = Task.taskmanager.get_tasks(
user=request.user.id, user=request.user.id,
completed=current_action, completed=completed,
task_list=tasklist, task_list=tasklist,
all_tasks=show_all_tasks, all_tasks=show_all_tasks,
) )
tasklists = TaskList.objects.all() tasklists = TaskList.objects.all()
# TODO: very bad solution... try to do it better!
if completed == False:
completed = "open"
else:
completed = "close"
context = { context = {
"tasks": tasks, "tasks": tasks,
"tasklists": tasklists, "tasklists": tasklists,
"current_user": request.user.id, "current_user": request.user.id,
"current_action": current_action, "completed": completed,
"show_tasklist": show_tasklist, "show_tasklist": show_tasklist,
"show_all_tasks": show_all_tasks, "show_all_tasks": show_all_tasks,
} }

View File

@@ -9,40 +9,39 @@
</div> </div>
<hr> <hr>
<form action="" method="post"> <form action="" method="get">
{% csrf_token %}
<div class="grid-x grid-margin-x"> <div class="grid-x grid-margin-x">
<div class="cell medium-4 large-3 small-10"> <div class="cell large-4 medium-4 small-12">
<label>Task-Gruppe</label> <label>Task-Gruppe</label>
<select id="id_tasklist" name="tasklist"> <select id="id_tasklist" name="tasklist">
<option value="all" {% if not show_tasklist %} selected {% endif %}>alle Task-Gruppen</option> <option value="all" {% if not show_tasklist %}selected{% endif %}>alle Task-Gruppen</option>
{% for elem in tasklists %} {% for elem in tasklists %}
<option value="{{ elem.id }}" {% if show_tasklist == elem.id %} selected {% endif %}>{{ elem.name }}</option> <option value="{{ elem.id }}" {% if show_tasklist == elem.id %}selected{% endif %}>{{ elem.name }}</option>
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
<div class="cell medium-4 large-3 small-10"> <div class="cell large-4 medium-4 small-12">
<label>Tasks</label> <label>Tasks</label>
<select id="id_task" name="tasks"> <select id="id_task" name="tasks">
<option value="own" {% if not show_all_tasks %} selected {% endif %}>nur die eigenen Tasks</option> <option value="own" {% if not show_all_tasks %}selected{% endif %}>eigenen Tasks</option>
<option value="all" {% if show_all_tasks %} selected {% endif %}>die an alle zugewiesenen Tasks</option> <option value="all" {% if show_all_tasks %}selected{% endif %}>alle Tasks</option>
</select> </select>
</div> </div>
<div class="cell medium-4 large-3 small-10"> <div class="cell large-4 medium-4 small-12 align-self-bottom">
<label>Aktion</label> <button type="submit" class="button" name="btn_state" value="{{ completed }}">Anzeigen</button>
<select id="id_action" name="action">
<option value="show_incompleted" {% if not current_action %} selected {% endif %}>offenen Tasks</option>
<option value="show_all" {% if current_action %} selected {% endif %}>alle Tasks</option>
</select>
</div> </div>
<div class="cell medium-3 large-3 small-10 align-self-bottom"> <div class="cell large-4 medium-4 small-12 align-self-bottom">
<input type="submit" class="button" name="btn_user" value="Anzeigen"> <button type="submit" class="alert button" name="btn_state" value="open">Offene Tasks</button>
</div>
<div class="cell large-4 medium-4 small-12 align-self-bottom">
<button type="submit" class="success button" name="btn_state" value="close">Abgeschlossene Tasks</button>
</div> </div>
</div> </div>
</form> </form>
<hr> <hr>
{% if tasks %} {% if tasks %}