diff --git a/card_attributes/handlers/card_attributes_command_handler.py b/card_attributes/handlers/card_attributes_command_handler.py index 559c4f7..99ca333 100644 --- a/card_attributes/handlers/card_attributes_command_handler.py +++ b/card_attributes/handlers/card_attributes_command_handler.py @@ -5,7 +5,7 @@ from sqlalchemy import select, and_ from card_attributes.exceptions import CardAttributeException from card_attributes.handlers.base_handler import BaseHandler -from models import CardAttribute, Attribute, Card, Project +from models import CardAttribute, Attribute, Card, Project, Board from .card_attributes_query_handler import CardAttributesQueryHandler @@ -35,7 +35,10 @@ class CardAttributesCommandHandler(BaseHandler): async def set_attributes_after_creation(self, card: Card, attributes: Optional[dict] = None): query_handler = CardAttributesQueryHandler(self.session) - project_attrs = await query_handler.get_attributes_for_project(card.board_id) + board: Optional[Board] = await self.session.get(Board, card.board_id) + if not board: + return + project_attrs = await query_handler.get_attributes_for_project(board.project_id) try: for project_attr in project_attrs: @@ -74,7 +77,10 @@ class CardAttributesCommandHandler(BaseHandler): async def set_attributes(self, card: Card, attributes: Optional[dict] = None): query_handler = CardAttributesQueryHandler(self.session) - project_attrs: list[Attribute] = await query_handler.get_attributes_for_project(card.board_id) + board: Optional[Board] = await self.session.get(Board, card.board_id) + if not board: + return + project_attrs: list[Attribute] = await query_handler.get_attributes_for_project(board.project_id) try: for attr_name, attr_value in attributes.items():