templates/admin/user_form.html.twig line 1

Open in your IDE?
  1. {% extends 'admin/base.html.twig' %}
  2. {% block title %}Пользователь {{ user.login }}{% endblock %}
  3. {% block heading %}{{ user.login }}{% endblock %}
  4. {% block page_actions %}
  5.   <div class="text-sm-end">
  6.     <a class="btn btn-light" href="{{ path('admin_users') }}">Назад</a>
  7.   </div>
  8. {% endblock %}
  9. {% block content %}
  10.   <form method="post">
  11.     <div class="row">
  12.       <div class="col-xl-8">
  13.         <div class="card">
  14.           <div class="card-body">
  15.             <div class="d-flex justify-content-between align-items-start flex-wrap gap-2 mb-3">
  16.               <div>
  17.                 <p class="text-muted mb-1">ID {{ user.id }}</p>
  18.                 <h5 class="mb-0">Аккаунт</h5>
  19.               </div>
  20.               <button class="btn btn-primary" type="submit"><i class="mdi mdi-content-save-outline me-1"></i>Сохранить</button>
  21.             </div>
  22.             <div class="row g-3">
  23.               <div class="col-md-6">
  24.                 <label class="form-label">Логин</label>
  25.                 <input class="form-control" name="login" value="{{ user.login }}" required />
  26.               </div>
  27.               <div class="col-md-6">
  28.                 <label class="form-label">E-mail</label>
  29.                 <input class="form-control" name="email" type="email" value="{{ user.email }}" required />
  30.               </div>
  31.               <div class="col-md-4">
  32.                 <label class="form-label">Баланс</label>
  33.                 <input class="form-control" name="balance" type="number" step="0.01" value="{{ user.balance }}" />
  34.               </div>
  35.               <div class="col-md-4">
  36.                 <label class="form-label">IP</label>
  37.                 <input class="form-control" name="ip" value="{{ user.ip }}" />
  38.               </div>
  39.               <div class="col-md-2">
  40.                 <label class="form-label">Ref ID</label>
  41.                 <input class="form-control" name="ref_id" type="number" min="0" value="{{ user.ref_id }}" />
  42.               </div>
  43.               <div class="col-md-2">
  44.                 <label class="form-label">Refs</label>
  45.                 <input class="form-control" name="refs" type="number" min="0" value="{{ user.refs }}" />
  46.               </div>
  47.               <div class="col-12">
  48.                 <label class="form-label">Аватар</label>
  49.                 <input class="form-control" name="img" value="{{ user.img }}" />
  50.               </div>
  51.               <div class="col-12">
  52.                 <label class="form-label">Новый пароль</label>
  53.                 <input class="form-control" name="password" type="password" autocomplete="new-password" placeholder="оставьте пустым, чтобы не менять" />
  54.               </div>
  55.               <div class="col-12">
  56.                 <div class="form-check form-switch">
  57.                   <input class="form-check-input" name="clear_session" type="checkbox" value="1" id="clearSession" />
  58.                   <label class="form-check-label" for="clearSession">Сбросить активную сессию</label>
  59.                 </div>
  60.               </div>
  61.             </div>
  62.           </div>
  63.         </div>
  64.       </div>
  65.       <div class="col-xl-4">
  66.         <div class="card">
  67.           <div class="card-body">
  68.             <p class="text-muted mb-1">Preview</p>
  69.             <h5 class="mb-3">Профиль</h5>
  70.             <div class="text-center">
  71.               <img src="{{ user.img_url }}" class="rounded-circle avatar-xl img-thumbnail admin-profile-avatar" alt="" />
  72.               <h5 class="mt-3 mb-1">{{ user.login }}</h5>
  73.               <p class="text-muted mb-2">{{ user.email }}</p>
  74.               <span class="badge {{ user.has_session ? 'bg-success-subtle text-success' : 'bg-secondary-subtle text-secondary' }}">{{ user.has_session ? 'Сессия активна' : 'Сессии нет' }}</span>
  75.             </div>
  76.             <div class="border rounded-2 mt-3">
  77.               <div class="d-flex justify-content-between p-2 border-bottom"><span class="text-muted">Баланс</span><strong>{{ user.balance_label }}</strong></div>
  78.               <div class="d-flex justify-content-between p-2 border-bottom"><span class="text-muted">Hash</span><strong class="text-truncate ms-2">{{ user.hash }}</strong></div>
  79.               <div class="d-flex justify-content-between p-2 border-bottom"><span class="text-muted">IP</span><strong>{{ user.ip ?: 'нет' }}</strong></div>
  80.               <div class="d-flex justify-content-between p-2 border-bottom"><span class="text-muted">Регистрация</span><strong>{{ user.created_at }}</strong></div>
  81.               <div class="d-flex justify-content-between p-2"><span class="text-muted">Рефералы</span><strong>{{ user.refs }}</strong></div>
  82.             </div>
  83.           </div>
  84.         </div>
  85.       </div>
  86.     </div>
  87.     <div class="card sticky-bottom admin-sticky-actions">
  88.       <div class="card-body py-2 d-flex justify-content-end gap-2">
  89.         <a class="btn btn-light" href="{{ path('admin_users') }}">Назад</a>
  90.         <button class="btn btn-primary" type="submit">Сохранить пользователя</button>
  91.       </div>
  92.     </div>
  93.   </form>
  94. {% endblock %}