feat: added tags for cards, aligned status headers
This commit is contained in:
@@ -14,6 +14,7 @@ from schemas.client import ClientDetailsSchema
|
||||
from services import card_group
|
||||
from services.auth import AuthService
|
||||
from services.base import BaseService
|
||||
from services.card_tag import CardTagService
|
||||
from services.client import ClientService
|
||||
from services.service import ServiceService
|
||||
from services.shipping_warehouse import ShippingWarehouseService
|
||||
@@ -240,6 +241,7 @@ class CardsService(BaseService):
|
||||
shipment_warehouse_name=shipment_warehouse_name,
|
||||
total_products=products_count,
|
||||
bill_request=card.bill_request,
|
||||
tags=card.tags,
|
||||
)
|
||||
)
|
||||
return CardSummaryResponse(summaries=summaries)
|
||||
@@ -347,7 +349,8 @@ class CardsService(BaseService):
|
||||
select(Card)
|
||||
.options(
|
||||
selectinload(Card.group)
|
||||
.selectinload(CardGroup.cards)
|
||||
.selectinload(CardGroup.cards),
|
||||
joinedload(Card.board),
|
||||
)
|
||||
.where(Card.id == request.card_id)
|
||||
)
|
||||
@@ -374,6 +377,9 @@ class CardsService(BaseService):
|
||||
else:
|
||||
card.manager = None
|
||||
|
||||
tag_service = CardTagService(self.session)
|
||||
await tag_service.apply_tags(card, request.data.tags)
|
||||
|
||||
card_attrs_handler = CardAttributesCommandHandler(self.session)
|
||||
await card_attrs_handler.set_attributes(card, request.data.attributes)
|
||||
|
||||
@@ -388,7 +394,7 @@ class CardsService(BaseService):
|
||||
):
|
||||
card: Optional[Card] = await self.session.get(Card, request.card_id)
|
||||
if not card:
|
||||
raise HTTPException(status_code=404, detail='Карточка не найдена')
|
||||
return ProductsAndServicesGeneralInfoRequest(ok=False, message='Карточка не найдена')
|
||||
|
||||
# Updating shipping warehouse
|
||||
shipping_warehouse_service = ShippingWarehouseService(self.session)
|
||||
@@ -409,7 +415,7 @@ class CardsService(BaseService):
|
||||
async def update_card_manager(self, request: UpdateCardManagerRequest) -> UpdateCardManagerResponse:
|
||||
card: Optional[Card] = await self.session.get(Card, request.card_id)
|
||||
if not card:
|
||||
raise HTTPException(status_code=404, detail='Карточка не найдена')
|
||||
return UpdateCardManagerResponse(ok=False, message='Карточка не найдена')
|
||||
|
||||
card.manager_id = request.manager_id
|
||||
await self.session.commit()
|
||||
@@ -418,7 +424,7 @@ class CardsService(BaseService):
|
||||
async def update_card_client(self, request: UpdateCardClientRequest) -> UpdateCardClientResponse:
|
||||
card: Optional[Card] = await self.session.get(Card, request.card_id)
|
||||
if not card:
|
||||
raise HTTPException(status_code=404, detail='Карточка не найдена')
|
||||
return UpdateCardClientResponse(ok=False, message='Карточка не найдена')
|
||||
|
||||
card.client_id = request.client_id
|
||||
await self.session.commit()
|
||||
@@ -513,8 +519,6 @@ class CardsService(BaseService):
|
||||
return CardAddKitResponse(ok=False, message=str(e))
|
||||
|
||||
def create_guest_url(self, user: User, request: CardCreateGuestUrlRequest) -> CardCreateGuestUrlResponse:
|
||||
# if not user.is_admin:
|
||||
# return CardCreateGuestUrlResponse(ok=False, message='Создать ссылку может только администратор', url="")
|
||||
access_token = AuthService(self.session).create_deal_guest_token(request.card_id)
|
||||
url = f"deals/{request.card_id}?accessToken={access_token}"
|
||||
return CardCreateGuestUrlResponse(ok=True, message='Ссылка успешно создана!', url=url)
|
||||
|
||||
Reference in New Issue
Block a user