feat: assignment of employees to deals
This commit is contained in:
@@ -9,7 +9,7 @@ from models.work_shifts import WorkShift
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from models.payroll import PayRate, PaymentRecord
|
||||
from models import Deal
|
||||
from models import Deal, Assignment
|
||||
|
||||
role_permissions = Table(
|
||||
'role_permissions',
|
||||
@@ -121,6 +121,11 @@ class User(BaseModel):
|
||||
cascade="all, delete-orphan"
|
||||
)
|
||||
|
||||
assignments: Mapped[list['Assignment']] = relationship(
|
||||
back_populates='user',
|
||||
lazy='selectin'
|
||||
)
|
||||
|
||||
|
||||
class Position(BaseModel):
|
||||
__tablename__ = 'positions'
|
||||
|
||||
@@ -108,6 +108,8 @@ class Deal(BaseModel):
|
||||
pallets: Mapped[list[Pallet]] = relationship(back_populates='deal', lazy='selectin')
|
||||
boxes: Mapped[list[Box]] = relationship(back_populates='deal', lazy='selectin')
|
||||
|
||||
assignments: Mapped[list['Assignment']] = relationship(back_populates='deal', lazy='selectin')
|
||||
|
||||
|
||||
class DealStatusHistory(BaseModel):
|
||||
__tablename__ = 'deals_status_history'
|
||||
@@ -126,3 +128,14 @@ class DealStatusHistory(BaseModel):
|
||||
next_status_deadline = Column(DateTime,
|
||||
comment='Дедлайн до которого сделку нужно перевести на следующий этап')
|
||||
comment = Column(String, nullable=False, comment='Коментарий', server_default='')
|
||||
|
||||
|
||||
class Assignment(BaseModel):
|
||||
__tablename__ = 'assignments'
|
||||
user_id: Mapped[int] = mapped_column(ForeignKey('users.id'), primary_key=True)
|
||||
user: Mapped['User'] = relationship('User', back_populates='assignments', lazy='selectin')
|
||||
|
||||
deal_id: Mapped[int] = mapped_column(ForeignKey('deals.id'), primary_key=True)
|
||||
deal: Mapped[Deal] = relationship('Deal', back_populates='assignments', lazy='selectin')
|
||||
|
||||
created_at: Mapped[datetime] = mapped_column()
|
||||
|
||||
Reference in New Issue
Block a user