add 'job_title' column to workers table
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing

This commit is contained in:
2025-08-26 22:04:13 +03:00
parent 173e8959ea
commit 20aefeb110
4 changed files with 16 additions and 10 deletions

View File

@@ -1,5 +1,4 @@
from .database_engine import async_session_
from .models import Worker,Component, Order
from .models import Worker, Component, Order, job_title
__all__ = ["Worker", "Component", "Order", "async_session_"]
__all__ = ["Worker", "Component", "Order", "async_session_", "job_title"]

View File

@@ -1,8 +1,9 @@
from sqlalchemy import Column, Integer, String, Date, ForeignKey, func, Null,BIGINT
from sqlalchemy import Column, Integer, String, Date, ForeignKey, func, Null, BIGINT
from sqlalchemy.dialects.postgresql import ENUM
from sqlalchemy.orm import relationship, DeclarativeBase
status_enum = ENUM('Выполнено', 'В процессе', 'Создано', 'Ожидание комплектующих', name='status')
job_title = ENUM('Начальник цеха', 'Мастер', 'Сборщик', name='job_title')
class Base(DeclarativeBase):
@@ -25,7 +26,8 @@ class Worker(Base):
telegram_id = Column(BIGINT, unique=True, nullable=False)
name = Column(String, nullable=False)
email = Column(String, nullable=True)
phone_number = Column(String, nullable=False)
phone_number = Column(String, default=None)
job_title = Column(job_title, default='Сборщик'),
created_at = Column(Date, server_default=func.now())
updated_at = Column(Date, onupdate=func.now())

View File

@@ -62,9 +62,8 @@ async def orders_menu(message: Message):
async def get_order_worker_id(callback: CallbackQuery, state: FSMContext):
await state.set_state(OrderForm.worker_id)
async with async_session_() as session:
async with session.begin():
result = await session.execute(select(Worker.name, Worker.telegram_id))
workers = result.all()
result = await session.execute(select(Worker.name, Worker.telegram_id).where(Worker.job_title == "Сборщик"))
workers = result.all()
await callback.message.answer("Введите сборщика ответственного за заказ:",
reply_markup=create_inline_kb(
**{f"set_worker_in_order_{tg_id}": name for name, tg_id in workers}))