Files
minicrm/public/admin.html
2026-03-06 11:11:56 +05:00

219 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>School CRM - Административная панель</title>
<link rel="stylesheet" href="/style.css">
</head>
<body>
<div id="login-modal" class="modal">
<div class="modal-content">
<h2>Вход в School CRM</h2>
<form id="login-form">
<div class="form-group">
<label for="login">Логин:</label>
<input type="text" id="login" name="login" required>
</div>
<div class="form-group">
<label for="password">Пароль:</label>
<input type="password" id="password" name="password" required>
</div>
<button type="submit">Войти</button>
</form>
<div class="test-users">
<h3>Тестовые пользователи:</h3>
<ul>
<li><strong>admin</strong> / admin123 (Администратор)</li>
<li><strong>teacher</strong> / teacher123</li>
</ul>
</div>
</div>
</div>
<div class="admin-container">
<div class="admin-header">
<h1>Административная панель</h1>
<div class="user-info">
<span id="current-user"></span>
<button onclick="window.location.href = '/'">Главная</button>
<button onclick="window.location.href = '/doc'">doc</button>
<button onclick="window.location.href = '/admin-doc'">Управление doc</button>
<button onclick="window.location.href = '/admin/profiles'">profiles</button>
<button onclick="logout()">Выйти</button>
</div>
</div>
<div class="admin-tabs">
<button class="admin-tab active" onclick="showAdminSection('dashboard')">Дашборд</button>
<button class="admin-tab" onclick="showAdminSection('users')">Пользователи</button>
<button class="admin-tab" onclick="showAdminSection('stats')">Статистика</button>
</div>
<!-- Контейнер для дашборда - будет заполняться JavaScript -->
<div id="admin-dashboard" class="admin-section active">
<!-- Дашборд будет загружен через JavaScript -->
</div>
<div id="admin-users-section" class="admin-section">
<h2>Управление пользователями</h2>
<div class="search-container">
<input type="text" id="user-search" placeholder="Поиск пользователей по логину, имени или email..." oninput="searchUsers()">
<button onclick="loadUsers()">Сбросить</button>
<button class="create-user-btn" onclick="openCreateUserModal()"> Создать пользователя</button>
</div>
<table class="users-table">
<thead>
<tr>
<th>ID</th>
<th>Логин</th>
<th>Имя</th>
<th>Email</th>
<th>Роль</th>
<th>Тип</th>
<th>Дата создания</th>
<th>Последний вход</th>
<th>Действия</th>
</tr>
</thead>
<tbody id="users-table-body">
<tr>
<td colspan="9" class="loading">Загрузка пользователей...</td>
</tr>
</tbody>
</table>
</div>
<!-- Контейнер для детальной статистики -->
<div id="admin-stats-section" class="admin-section">
<!-- Детальная статистика будет загружена через JavaScript -->
</div>
</div>
<!-- Модальное окно редактирования пользователя -->
<div id="edit-user-modal" class="modal">
<div class="modal-content modal-lg">
<span class="close" onclick="closeEditUserModal()">&times;</span>
<h3>Редактировать пользователя</h3>
<form id="edit-user-form">
<input type="hidden" id="edit-user-id">
<div class="form-row">
<div class="form-group">
<label for="edit-login">Логин *</label>
<input type="text" id="edit-login" name="login" required>
</div>
<div class="form-group">
<label for="edit-name">Имя *</label>
<input type="text" id="edit-name" name="name" required>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="edit-email">Email *</label>
<input type="email" id="edit-email" name="email" required>
</div>
<div class="form-group">
<label for="edit-role">Роль</label>
<select id="edit-role" name="role">
<option value="teacher">Учитель</option>
<option value="tasks">Администрация</option>
<option value="admin">Администратор</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="edit-auth-type">Тип авторизации</label>
<select id="edit-auth-type" name="auth_type">
<option value="local">Локальная</option>
<option value="ldap">LDAP</option>
</select>
</div>
<div class="form-group">
<label for="edit-groups">Группы (JSON)</label>
<input type="text" id="edit-groups" name="groups" placeholder='["group1", "group2"]'>
</div>
</div>
<div class="form-group">
<label for="edit-description">Описание</label>
<textarea id="edit-description" name="description" rows="3"></textarea>
</div>
<button type="submit">Сохранить изменения</button>
</form>
</div>
</div>
<!-- Модальное окно создания пользователя -->
<div id="create-user-modal" class="modal">
<div class="modal-content modal-lg">
<span class="close" onclick="closeCreateUserModal()">&times;</span>
<h3>Создать нового пользователя</h3>
<form id="create-user-form">
<div class="form-row">
<div class="form-group">
<label for="create-login">Логин *</label>
<input type="text" id="create-login" name="login" required>
</div>
<div class="form-group">
<label for="create-password">Пароль *</label>
<input type="password" id="create-password" name="password" required minlength="6">
<small class="form-hint">Минимум 6 символов</small>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="create-name">Имя *</label>
<input type="text" id="create-name" name="name" required>
</div>
<div class="form-group">
<label for="create-email">Email *</label>
<input type="email" id="create-email" name="email" required>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="create-role">Роль</label>
<select id="create-role" name="role">
<option value="teacher">Учитель</option>
<option value="tasks">Администрация</option>
<option value="admin">Администратор</option>
</select>
</div>
<div class="form-group">
<label for="create-auth-type">Тип авторизации</label>
<select id="create-auth-type" name="auth_type">
<option value="local">Локальная</option>
<option value="ldap">LDAP</option>
</select>
</div>
</div>
<div class="form-group">
<label for="create-groups">Группы (JSON)</label>
<input type="text" id="create-groups" name="groups" placeholder='["group1", "group2"]'>
</div>
<div class="form-group">
<label for="create-description">Описание</label>
<textarea id="create-description" name="description" rows="3"></textarea>
</div>
<button type="submit">Создать пользователя</button>
</form>
</div>
</div>
<script src="admin-script.js"></script>
<script src="admin-dashboard.js"></script>
<script src="admin-stats.js"></script>
</body>
</html>