38c8e35a51
- FIELD_ENCRYPTION_KEY: production требует явный ключ (ImproperlyConfigured при пустом), local — fallback на SECRET_KEY с предупреждением (crypto.py) - MATTERMOST_INTERACTIVE_TOKEN: fail-closed токен для интерактивных кнопок Mattermost (bot_service task-done URL + проверка в mattermost views) - Ужесточение прав API (employees/visit_manager) + тесты (employees, mattermost_connector, visit_manager) - .env.example с описанием переменных; правки шаблонов (index/dislocation/pharmacies) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
18 lines
651 B
Python
18 lines
651 B
Python
from rest_framework import viewsets
|
|
from rest_framework.permissions import IsAdminUser
|
|
|
|
from .models import Employee
|
|
from .serializers import EmployeeSerializer
|
|
|
|
|
|
class EmployeeViewSet(viewsets.ReadOnlyModelViewSet):
|
|
"""
|
|
Read-only API сотрудников.
|
|
|
|
Полный CRUD через DRF закрыт: создание/изменение/удаление — только через
|
|
админку / HR-портал с проверками прав. Список и детали доступны staff.
|
|
"""
|
|
queryset = Employee.objects.all()
|
|
serializer_class = EmployeeSerializer
|
|
permission_classes = [IsAdminUser]
|