Files
fet2020/fet2020/tasks/views.py

57 lines
1.6 KiB
Python

from django.contrib.auth.models import User
from django.shortcuts import render
from django.utils import timezone
from collections import deque
from .forms import TaskForm
from .models import Task
def index(request):
current_user = request.user.id
current_action = False
if request.method == 'POST':
if 'btn_input' in request.POST:
form = TaskForm(request.POST)
if form.is_valid():
task = form.save(commit=False)
task.created_by = request.user
task.save()
elif 'btn_checkbox' in request.POST:
for task_id in request.POST.getlist('checkbox'):
task = Task.objects.get(id=task_id)
if not task.completed:
task.completed = True
task.completed_date = timezone.now().date()
task.save()
elif 'btn_user' in request.POST:
if request.POST['action'] == 'show_incompleted':
current_action = False
else:
current_action = True
if request.POST['user'] == 'all':
current_user = None
else:
current_user = int(request.POST['user'])
form = TaskForm()
tasks = deque(Task.taskmanager.get_tasks(user=current_user, completed=current_action))
users = User.objects.all()
context = {
"form": form,
"tasks": tasks,
"users": users,
"current_user": current_user,
"current_action": current_action,
}
return render(request, 'tasks/index.html', context)