From 06507975edbba4ea12b69b391c83ba19b20b5c26 Mon Sep 17 00:00:00 2001 From: AlexSserb Date: Tue, 25 Mar 2025 20:25:30 +0400 Subject: [PATCH] fix: card attributes update fix --- .../handlers/card_attributes_command_handler.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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():