- Add birth_date, created_at/updated_at to Employee; remove username field - Introduce EmployeeAction for tracking HR events and is_actually_active/status properties - Create BotSubscriber model (OneToOne relation) for TG/WA binding - Implement Aiogram-based Telegram bot: • request contact to bind by phone or @username • department selection keyboard from DEPARTMENTS dict • async ORM via sync_to_async, custom filters for bound & active employees - Update profile view & template: • show “Bind Telegram/WhatsApp” button only when not already bound • preview avatar on upload - Remove registration tokens in favor of contact-based auth - Clean up templates, forms and add avatar validation mixin
16 lines
308 B
Plaintext
16 lines
308 B
Plaintext
Django==5.2.4
|
|
djangorestframework==3.16.0
|
|
django-extensions==4.1
|
|
django-phonenumber-field==8.1.0
|
|
django-bootstrap5==25.1
|
|
dj-database-url==3.0.1
|
|
djoser==2.3.3
|
|
dotenv==0.9.9
|
|
phonenumbers==9.0.10
|
|
pillow==11.3.0
|
|
psycopg2-binary==2.9.10
|
|
python-telegram-bot==22.3
|
|
aiogram==3.21.0
|
|
APScheduler==3.11.0
|
|
celery==5.5.3
|