mirror of
https://github.com/TurTaskProject/TurTaskWeb.git
synced 2025-12-20 06:24:07 +01:00
Add Listboard assign signal
This commit is contained in:
parent
be1c6fd466
commit
a40e1bc6f0
14
backend/boards/signals.py
Normal file
14
backend/boards/signals.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from django.db.models.signals import post_save
|
||||||
|
from django.dispatch import receiver
|
||||||
|
|
||||||
|
from boards.models import Board, ListBoard
|
||||||
|
from users.models import CustomUser
|
||||||
|
|
||||||
|
@receiver(post_save, sender=CustomUser)
|
||||||
|
def create_default_board(sender, instance, created, **kwargs):
|
||||||
|
if created:
|
||||||
|
board = Board.objects.create(user=instance, name="My Default Board")
|
||||||
|
|
||||||
|
ListBoard.objects.create(board=board, name="Todo", position=1)
|
||||||
|
ListBoard.objects.create(board=board, name="In Progress", position=2)
|
||||||
|
ListBoard.objects.create(board=board, name="Done", position=3)
|
||||||
@ -1,7 +1,8 @@
|
|||||||
from django.db.models.signals import pre_save
|
from django.db.models.signals import pre_save, post_save
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
|
from boards.models import ListBoard
|
||||||
from tasks.models import Todo
|
from tasks.models import Todo
|
||||||
|
|
||||||
|
|
||||||
@ -23,3 +24,16 @@ def update_priority(sender, instance, **kwargs):
|
|||||||
instance.priority = Todo.EisenhowerMatrix.NOT_IMPORTANT_URGENT
|
instance.priority = Todo.EisenhowerMatrix.NOT_IMPORTANT_URGENT
|
||||||
else:
|
else:
|
||||||
instance.priority = Todo.EisenhowerMatrix.NOT_IMPORTANT_NOT_URGENT
|
instance.priority = Todo.EisenhowerMatrix.NOT_IMPORTANT_NOT_URGENT
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(post_save, sender=Todo)
|
||||||
|
def assign_todo_to_listboard(sender, instance, created, **kwargs):
|
||||||
|
if created:
|
||||||
|
user_board = instance.user.board_set.first()
|
||||||
|
|
||||||
|
if user_board:
|
||||||
|
first_list_board = user_board.listboard_set.order_by('position').first()
|
||||||
|
|
||||||
|
if first_list_board:
|
||||||
|
instance.list_board = first_list_board
|
||||||
|
instance.save()
|
||||||
Loading…
Reference in New Issue
Block a user