bp/app/Views/organizations/edit_role_modal.twig

56 lines
2.5 KiB
Twig

{#
organizations/edit_role_modal.twig - Модальное окно изменения роли пользователя
#}
<div class="modal fade" id="editRoleModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">
<i class="fa-solid fa-user-tag me-2"></i>Изменить роль
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<p>Пользователь: <strong id="editRoleUserEmail"></strong></p>
<div class="mb-3">
<label for="editRoleSelect" class="form-label">Роль</label>
<select class="form-select" id="editRoleSelect">
{% for role_value, role_info in get_all_roles() %}
{% if role_value != 'owner' %}
<option value="{{ role_value }}">{{ role_info.label }}</option>
{% endif %}
{% endfor %}
</select>
<div class="form-text" id="roleDescription"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
<button type="button" class="btn btn-primary" onclick="saveRole()">
<i class="fa-solid fa-save me-2"></i>Сохранить
</button>
</div>
</div>
</div>
</div>
<script>
const roleDescriptions = {
'admin': 'Администратор может управлять пользователями и модулями организации',
'manager': 'Менеджер имеет полный доступ к функционалу модулей',
'guest': 'Гость может только просматривать данные'
};
document.getElementById('editRoleSelect').addEventListener('change', function() {
const desc = roleDescriptions[this.value] || '';
document.getElementById('roleDescription').textContent = desc;
});
// Инициализация при открытии
document.getElementById('editRoleModal').addEventListener('shown.bs.modal', function() {
const role = document.getElementById('editRoleSelect').value;
document.getElementById('roleDescription').textContent = roleDescriptions[role] || '';
});
</script>