+++
This commit is contained in:
@@ -15,56 +15,77 @@ async function loadUserProfile() {
|
||||
if (data.user) {
|
||||
const userInfo = document.getElementById('user-profile-info');
|
||||
userInfo.innerHTML = `
|
||||
<div class="profile-card">
|
||||
<div class="profile-field">
|
||||
<i class="fas fa-user"></i>
|
||||
<div>
|
||||
<strong>Имя:</strong>
|
||||
<p>${data.user.name}</p>
|
||||
<div class="profile-modern">
|
||||
<!-- Шапка профиля с аватаром -->
|
||||
<div class="profile-header">
|
||||
<div class="profile-avatar">
|
||||
<i class="fas fa-user-circle"></i>
|
||||
</div>
|
||||
<div class="profile-title">
|
||||
<h3>${data.user.name}</h3>
|
||||
<span class="profile-badge ${data.user.role}">
|
||||
${data.user.role === 'admin' ? 'Администратор' : 'Сотрудник'}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-field">
|
||||
<i class="fas fa-at"></i>
|
||||
<div>
|
||||
<strong>Логин:</strong>
|
||||
<p>${data.user.login}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-field">
|
||||
<i class="fas fa-envelope"></i>
|
||||
<div>
|
||||
<strong>Email:</strong>
|
||||
<p>${data.user.email || 'Не указан'}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-field">
|
||||
<i class="fas fa-user-tag"></i>
|
||||
<div>
|
||||
<strong>Роль:</strong>
|
||||
<p>${data.user.role === 'admin' ? 'Администратор' : 'Учитель'}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-field">
|
||||
<i class="fas fa-key"></i>
|
||||
<div>
|
||||
<strong>Тип авторизации:</strong>
|
||||
<p>${data.user.auth_type === 'ldap' ? 'LDAP' : 'Локальная'}</p>
|
||||
</div>
|
||||
</div>
|
||||
${data.user.groups && data.user.groups.length > 0 ? `
|
||||
<div class="profile-field">
|
||||
<i class="fas fa-users"></i>
|
||||
<div>
|
||||
<strong>Группы:</strong>
|
||||
<p>${Array.isArray(data.user.groups) ? data.user.groups.join(', ') : data.user.groups}</p>
|
||||
<!-- Сетка с информацией -->
|
||||
<div class="profile-grid">
|
||||
<div class="profile-info-card">
|
||||
<div class="info-icon">
|
||||
<i class="fas fa-at"></i>
|
||||
</div>
|
||||
<div class="info-content">
|
||||
<span class="info-label">Логин</span>
|
||||
<span class="info-value">${data.user.login}</span>
|
||||
</div>
|
||||
</div>
|
||||
` : ''}
|
||||
<div class="profile-info-card">
|
||||
<div class="info-icon">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</div>
|
||||
<div class="info-content">
|
||||
<span class="info-label">Тип авторизации</span>
|
||||
<span class="info-value">
|
||||
${data.user.auth_type === 'ldap' ?
|
||||
'<span class="badge-ldap"><i class="fas fa-building"></i> LDAP</span>' :
|
||||
'<span class="badge-local"><i class="fas fa-database"></i> Локальная</span>'}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
${data.user.groups && data.user.groups.length > 0 ? `
|
||||
<div class="profile-info-card groups-card">
|
||||
<div class="info-icon">
|
||||
<i class="fas fa-users"></i>
|
||||
</div>
|
||||
<div class="info-content">
|
||||
<span class="info-label">Группы доступа</span>
|
||||
<div class="groups-list">
|
||||
${Array.isArray(data.user.groups) ?
|
||||
data.user.groups.map(group =>
|
||||
`<span class="group-tag">${group}</span>`
|
||||
).join('') :
|
||||
`<span class="group-tag">${data.user.groups}</span>`
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
` : ''}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Ошибка загрузки профиля:', error);
|
||||
const userInfo = document.getElementById('user-profile-info');
|
||||
if (userInfo) {
|
||||
userInfo.innerHTML = `
|
||||
<div class="profile-error">
|
||||
<i class="fas fa-exclamation-circle"></i>
|
||||
<p>Ошибка загрузки профиля</p>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user