diff --git a/fet2020/tasks/admin.py b/fet2020/tasks/admin.py index d45663e6..3e8760f6 100644 --- a/fet2020/tasks/admin.py +++ b/fet2020/tasks/admin.py @@ -4,15 +4,28 @@ from .models import Task, TaskList class TaskAdmin(admin.ModelAdmin): - list_display = ("title", "task_list", "completed", "priority", "due_date") - list_filter = ("task_list",) - ordering = ("priority",) - search_fields = ("title",) + model = Task + fieldsets = ( + (None, { + 'fields': ( + 'title', + 'task_list', + 'due_date', + 'completed', + 'completed_date', + 'assigned_to', + 'note', + 'priority', + ) + }), + ) + list_display = ('title', 'task_list', 'completed', 'priority', 'due_date') + list_filter = ('task_list', ) + ordering = ('priority', ) + search_fields = ('title', ) def save_model(self, request, obj, form, change): obj.created_by = request.user - if not obj.assigned_to: - obj.assigned_to = request.user super().save_model(request, obj, form, change) diff --git a/fet2020/tasks/forms.py b/fet2020/tasks/forms.py index 40dd047c..2ef71ee2 100644 --- a/fet2020/tasks/forms.py +++ b/fet2020/tasks/forms.py @@ -11,4 +11,5 @@ class TaskForm(forms.ModelForm): 'title', 'task_list', 'due_date', + 'assigned_to', ] diff --git a/fet2020/tasks/models.py b/fet2020/tasks/models.py index e6ec0e64..58e9d18a 100644 --- a/fet2020/tasks/models.py +++ b/fet2020/tasks/models.py @@ -1,6 +1,7 @@ from django.conf import settings from django.db import models from django.db.models import Q +from django.utils import timezone class TaskQuerySet(models.QuerySet): @@ -44,8 +45,6 @@ class Task(models.Model): created_by = models.ForeignKey( settings.AUTH_USER_MODEL, - null=True, - blank=True, related_name="todo_created_by", on_delete=models.CASCADE, ) @@ -65,3 +64,12 @@ class Task(models.Model): def __str__(self): return self.title + + def save(self, *args, **kwargs): + if self.completed and not self.completed_date: + self.completed_date = timezone.now().date() + + if not self.completed and self.completed_date: + self.completed_date = None + + super().save(*args, **kwargs) diff --git a/fet2020/tasks/views.py b/fet2020/tasks/views.py index ea1898dc..b5870267 100644 --- a/fet2020/tasks/views.py +++ b/fet2020/tasks/views.py @@ -18,10 +18,7 @@ def index(request): if form.is_valid(): task = form.save(commit=False) - task.created_by = request.user - task.assigned_to = request.user - task.save() elif 'btn_checkbox' in request.POST: @@ -39,7 +36,10 @@ def index(request): else: current_action = True - current_user = int(request.POST['user']) + 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)) diff --git a/fet2020/templates/tasks/index.html b/fet2020/templates/tasks/index.html index a05d571b..32ee6fe1 100644 --- a/fet2020/templates/tasks/index.html +++ b/fet2020/templates/tasks/index.html @@ -9,6 +9,9 @@ {% csrf_token %}