bp/app/Views/superadmin/organizations/view.twig

246 lines
12 KiB
Twig
Raw Permalink 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.

{% extends 'superadmin/layout.twig' %}
{% block content %}
<div class="d-flex justify-content-between align-items-center mb-4">
<h1>Организация: {{ organization.name }}</h1>
<a href="{{ base_url('/superadmin/organizations') }}" class="btn btn-outline-secondary">
<i class="fa-solid fa-arrow-left"></i> Назад к списку
</a>
</div>
{% for alert in get_alerts() %}
<div class="alert alert-{{ alert.type }}">{{ alert.message }}</div>
{% endfor %}
<div class="row">
<div class="col-md-8">
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">Подписки на модули</h5>
</div>
<div class="card-body">
{% if subscriptions is empty %}
<p class="text-muted text-center py-4">У организации нет активных подписок</p>
{% else %}
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Модуль</th>
<th>Статус</th>
<th>Истекает</th>
<th>Создана</th>
<th>Действия</th>
</tr>
</thead>
<tbody>
{% for sub in subscriptions %}
{% set module = allModules[sub.module_code] %}
<tr>
<td>
<strong>{{ module.name|default(sub.module_code) }}</strong>
<div class="text-muted small">{{ module.description|default('') }}</div>
</td>
<td>
{% if sub.status == 'active' %}
<span class="badge bg-success">Активна</span>
{% elseif sub.status == 'trial' %}
<span class="badge bg-info">Триал</span>
{% elseif sub.status == 'expired' %}
<span class="badge bg-danger">Истекла</span>
{% else %}
<span class="badge bg-warning">{{ sub.status }}</span>
{% endif %}
</td>
<td>
{% if sub.expires_at %}
{{ sub.expires_at|date('d.m.Y H:i') }}
{% else %}
<span class="text-muted">Бессрочно</span>
{% endif %}
</td>
<td>{{ sub.created_at|date('d.m.Y H:i') }}</td>
<td>
<a href="{{ base_url('/superadmin/organizations/' ~ organization.id ~ '/removeSubscription/' ~ sub.id) }}"
class="btn btn-sm btn-outline-danger"
onclick="return confirm('Удалить подписку на модуль {{ module.name|default(sub.module_code) }}?')"
title="Удалить подписку">
<i class="fa-solid fa-trash"></i>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
</div>
</div>
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">Участники организации</h5>
</div>
<div class="card-body">
{% if users is empty %}
<p class="text-muted text-center py-4">Участников пока нет</p>
{% else %}
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Пользователь</th>
<th>Email</th>
<th>Роль</th>
<th>Статус</th>
<th>Дата добавления</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.name|default('—') }}</td>
<td>{{ user.email }}</td>
<td>
<span class="badge {{ user.role == 'owner' ? 'bg-danger' : (user.role == 'admin' ? 'bg-warning' : 'bg-info') }}">
{{ user.role }}
</span>
</td>
<td>
{% if user.status == 'active' %}
<span class="badge bg-success">Активен</span>
{% elseif user.status == 'blocked' %}
<span class="badge bg-danger">Заблокирован</span>
{% else %}
<span class="badge bg-warning">{{ user.status }}</span>
{% endif %}
</td>
<td>{{ user.created_at|date('d.m.Y') }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">Добавить подписку</h5>
</div>
<div class="card-body">
<form action="{{ base_url('/superadmin/organizations/' ~ organization.id ~ '/add-subscription') }}" method="post">
{{ csrf_field()|raw }}
<div class="mb-3">
<label class="form-label">Модуль</label>
<select name="module_code" class="form-select" required>
<option value="">Выберите модуль...</option>
{% for code, module in allModules %}
{% set hasSub = false %}
{% for sub in subscriptions %}
{% if sub.module_code == code %}
{% set hasSub = true %}
{% endif %}
{% endfor %}
<option value="{{ code }}" {{ hasSub ? 'disabled style="background-color: #f8f9fa;"' : '' }}>
{{ module.name }} - {{ module.price_monthly }} руб/мес {{ hasSub ? '(уже есть)' : '' }}
</option>
{% endfor %}
</select>
</div>
<div class="mb-3">
<label class="form-label">Срок действия (дней)</label>
<input type="number" name="duration_days" class="form-control" value="30" min="0">
<div class="form-text">0 - бессрочно</div>
</div>
<div class="mb-3">
<label class="form-label">Статус</label>
<select name="status" class="form-select">
<option value="active">Активна</option>
<option value="trial">Триал</option>
<option value="expired">Истекла</option>
<option value="cancelled">Отменена</option>
</select>
</div>
<button type="submit" class="btn btn-primary w-100">
<i class="fa-solid fa-plus"></i> Добавить подписку
</button>
</form>
</div>
</div>
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">Информация</h5>
</div>
<div class="card-body">
<table class="table table-sm">
<tr>
<td>ID</td>
<td class="text-end">{{ organization.id }}</td>
</tr>
<tr>
<td>Тип</td>
<td class="text-end">
{% if organization.type == 'business' %}
<span class="badge bg-info">Бизнес</span>
{% else %}
<span class="badge bg-warning">Личное</span>
{% endif %}
</td>
</tr>
<tr>
<td>Статус</td>
<td class="text-end">
{% if organization.status == 'active' %}
<span class="badge bg-success">Активна</span>
{% elseif organization.status == 'blocked' %}
<span class="badge bg-danger">Заблокирована</span>
{% else %}
<span class="badge bg-warning">{{ organization.status }}</span>
{% endif %}
</td>
</tr>
<tr>
<td>Создана</td>
<td class="text-end">{{ organization.created_at|date('d.m.Y H:i') }}</td>
</tr>
<tr>
<td>Участников</td>
<td class="text-end">{{ users|length }}</td>
</tr>
</table>
</div>
</div>
<div class="d-flex flex-column gap-2">
{% if organization.status == 'active' %}
<a href="{{ base_url('/superadmin/organizations/block/' ~ organization.id) }}"
class="btn btn-warning"
onclick="return confirm('Заблокировать организацию?')">
<i class="fa-solid fa-ban"></i> Заблокировать
</a>
{% else %}
<a href="{{ base_url('/superadmin/organizations/unblock/' ~ organization.id) }}"
class="btn btn-success"
onclick="return confirm('Разблокировать организацию?')">
<i class="fa-solid fa-check"></i> Разблокировать
</a>
{% endif %}
<a href="{{ base_url('/superadmin/organizations/delete/' ~ organization.id) }}"
class="btn btn-danger"
onclick="return confirm('Удалить организацию? Это действие нельзя отменить!')">
<i class="fa-solid fa-trash"></i> Удалить организацию
</a>
</div>
</div>
</div>
{% endblock %}