Add Ticket and add Role Support
This commit is contained in:
143
TICKETS_SYSTEM.md
Normal file
143
TICKETS_SYSTEM.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# 🎫 Система тикетов
|
||||
|
||||
## Что добавлено
|
||||
|
||||
### ✅ Новые возможности
|
||||
|
||||
1. **Система тикетов** - полноценная система поддержки с чатом
|
||||
2. **Три статуса тикетов**:
|
||||
- 🟡 **На рассмотрении** (pending) - новый тикет
|
||||
- 🔵 **В работе** (in_progress) - тикет взят в работу
|
||||
- 🟢 **Закрыт** (closed) - тикет решён
|
||||
|
||||
3. **Новая роль "Тех. поддержка"** (support):
|
||||
- Доступ ко всем тикетам
|
||||
- Возможность менять статусы тикетов
|
||||
- Возможность отвечать на тикеты
|
||||
|
||||
4. **Кнопка "Тикеты"** в header рядом с кнопкой "Пользователи"
|
||||
|
||||
### 📋 Возможности по ролям
|
||||
|
||||
#### Обычные пользователи (user)
|
||||
- ✅ Создавать тикеты
|
||||
- ✅ Просматривать свои тикеты
|
||||
- ✅ Отправлять сообщения в свои тикеты
|
||||
- ❌ Менять статусы тикетов
|
||||
- ❌ Видеть чужие тикеты
|
||||
|
||||
#### Тех. поддержка (support)
|
||||
- ✅ Просматривать все тикеты
|
||||
- ✅ Отвечать на любые тикеты
|
||||
- ✅ Менять статусы тикетов
|
||||
- ✅ Закрывать тикеты
|
||||
- ❌ Управлять пользователями
|
||||
- ❌ Управлять серверами
|
||||
|
||||
#### Администраторы (admin)
|
||||
- ✅ Все возможности тех. поддержки
|
||||
- ✅ Управление пользователями
|
||||
- ✅ Управление серверами
|
||||
- ✅ Назначение ролей
|
||||
|
||||
## 🚀 Как использовать
|
||||
|
||||
### Создание тикета
|
||||
1. Нажмите кнопку "Тикеты" в header
|
||||
2. Нажмите "Создать тикет"
|
||||
3. Заполните тему и описание проблемы
|
||||
4. Нажмите "Создать"
|
||||
|
||||
### Работа с тикетом
|
||||
1. Откройте список тикетов
|
||||
2. Нажмите на нужный тикет
|
||||
3. Пишите сообщения в чат
|
||||
4. Тех. поддержка и админы могут менять статус тикета
|
||||
|
||||
### Назначение роли "Тех. поддержка"
|
||||
1. Войдите как администратор (none / none)
|
||||
2. Нажмите кнопку "Пользователи"
|
||||
3. Найдите нужного пользователя
|
||||
4. В выпадающем списке выберите "Тех. поддержка"
|
||||
5. Роль изменится автоматически
|
||||
|
||||
## 📁 Новые файлы
|
||||
|
||||
### Backend
|
||||
- `backend/tickets.json` - хранилище тикетов (создаётся автоматически)
|
||||
- Добавлены endpoints в `backend/main.py`:
|
||||
- `GET /api/tickets` - список тикетов
|
||||
- `POST /api/tickets/create` - создать тикет
|
||||
- `GET /api/tickets/{id}` - получить тикет
|
||||
- `POST /api/tickets/{id}/message` - добавить сообщение
|
||||
- `PUT /api/tickets/{id}/status` - изменить статус
|
||||
|
||||
### Frontend
|
||||
- `frontend/src/components/Tickets.jsx` - список тикетов
|
||||
- `frontend/src/components/TicketChat.jsx` - чат тикета
|
||||
- `frontend/src/components/CreateTicketModal.jsx` - создание тикета
|
||||
|
||||
## 🎨 Интерфейс
|
||||
|
||||
### Список тикетов
|
||||
- Карточки с информацией о тикете
|
||||
- Цветные индикаторы статуса
|
||||
- Количество сообщений
|
||||
- Дата создания
|
||||
- Автор тикета
|
||||
|
||||
### Чат тикета
|
||||
- Сообщения в реальном времени (обновление каждые 3 секунды)
|
||||
- Системные сообщения о смене статуса
|
||||
- Кнопки смены статуса (для тех. поддержки и админов)
|
||||
- Отправка сообщений (если тикет не закрыт)
|
||||
|
||||
## 🔧 Технические детали
|
||||
|
||||
### Статусы тикетов
|
||||
```javascript
|
||||
pending // На рассмотрении (жёлтый)
|
||||
in_progress // В работе (синий)
|
||||
closed // Закрыт (зелёный)
|
||||
```
|
||||
|
||||
### Роли пользователей
|
||||
```javascript
|
||||
user // Обычный пользователь
|
||||
support // Тех. поддержка
|
||||
admin // Администратор
|
||||
```
|
||||
|
||||
### Структура тикета
|
||||
```json
|
||||
{
|
||||
"id": "1",
|
||||
"title": "Проблема с сервером",
|
||||
"description": "Описание проблемы",
|
||||
"author": "username",
|
||||
"status": "pending",
|
||||
"created_at": "2024-01-14T12:00:00",
|
||||
"updated_at": "2024-01-14T12:00:00",
|
||||
"messages": [
|
||||
{
|
||||
"author": "username",
|
||||
"text": "Текст сообщения",
|
||||
"timestamp": "2024-01-14T12:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## ✅ Готово!
|
||||
|
||||
Система тикетов полностью интегрирована в MC Panel. Пользователи могут создавать тикеты, а тех. поддержка и администраторы могут на них отвечать и управлять статусами.
|
||||
|
||||
### Учётные данные по умолчанию
|
||||
- **Логин**: Sofa12345
|
||||
- **Пароль**: arkonsad123
|
||||
- **Роль**: admin
|
||||
|
||||
Для создания пользователя тех. поддержки:
|
||||
1. Зарегистрируйте нового пользователя
|
||||
2. Войдите как админ
|
||||
3. Назначьте ему роль "Тех. поддержка"
|
||||
Reference in New Issue
Block a user