feat: locking group with bill request
This commit is contained in:
		@@ -7,7 +7,7 @@ from starlette import status
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import models.deal
 | 
					import models.deal
 | 
				
			||||||
import models.secondary
 | 
					import models.secondary
 | 
				
			||||||
from models import User, Service, Client, DealProductService, deal_relations
 | 
					from models import User, Service, Client, DealProductService, deal_relations, GroupBillRequest
 | 
				
			||||||
from models.deal import *
 | 
					from models.deal import *
 | 
				
			||||||
from models.deal_group import DealGroup
 | 
					from models.deal_group import DealGroup
 | 
				
			||||||
from schemas.client import ClientDetailsSchema
 | 
					from schemas.client import ClientDetailsSchema
 | 
				
			||||||
@@ -1150,6 +1150,10 @@ class DealService(BaseService):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    async def add_to_group(self, user: User, request: DealAddToGroupRequest) -> DealAddToGroupResponse:
 | 
					    async def add_to_group(self, user: User, request: DealAddToGroupRequest) -> DealAddToGroupResponse:
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
 | 
					            group_bill_request = await self.session.get(GroupBillRequest, request.group_id)
 | 
				
			||||||
 | 
					            if group_bill_request:
 | 
				
			||||||
 | 
					                raise Exception("Нельзя добавить сделку, так как на группу выставлен счёт.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # changing status if needed
 | 
					            # changing status if needed
 | 
				
			||||||
            deal_id = await self.session.scalar(
 | 
					            deal_id = await self.session.scalar(
 | 
				
			||||||
                select(deal_relations.c.deal_id)
 | 
					                select(deal_relations.c.deal_id)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user