feat: setting manager for a deal
This commit is contained in:
@@ -8,6 +8,7 @@ from models.base import BaseModel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from models.payroll import PayRate, PaymentRecord
|
||||
from models import Deal
|
||||
|
||||
role_permissions = Table(
|
||||
'role_permissions',
|
||||
@@ -92,6 +93,11 @@ class User(BaseModel):
|
||||
foreign_keys="PaymentRecord.user_id"
|
||||
)
|
||||
|
||||
managed_deals: Mapped[list["Deal"]] = relationship(
|
||||
back_populates="manager",
|
||||
uselist=True,
|
||||
)
|
||||
|
||||
|
||||
class Position(BaseModel):
|
||||
__tablename__ = 'positions'
|
||||
|
||||
@@ -10,9 +10,12 @@ from .marketplace import BaseMarketplace
|
||||
from .shipping_warehouse import ShippingWarehouse
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from . import (DealBillRequest, ServicePriceCategory,
|
||||
DealGroup
|
||||
)
|
||||
from . import (
|
||||
DealBillRequest,
|
||||
ServicePriceCategory,
|
||||
DealGroup,
|
||||
User,
|
||||
)
|
||||
|
||||
|
||||
# @unique
|
||||
@@ -98,6 +101,9 @@ class Deal(BaseModel):
|
||||
back_populates='deals'
|
||||
)
|
||||
|
||||
manager_id: Mapped[int] = mapped_column(ForeignKey('users.id'), nullable=True)
|
||||
manager: Mapped[Optional["User"]] = relationship(back_populates='managed_deals', lazy='joined')
|
||||
|
||||
|
||||
class DealStatusHistory(BaseModel):
|
||||
__tablename__ = 'deals_status_history'
|
||||
|
||||
Reference in New Issue
Block a user