edit.blade.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="row mb-2">
  4. <div class="col-md-7">
  5. <h3>{{ $role->exists ? 'Роль: ' . $role->name : 'Новая роль' }}</h3>
  6. </div>
  7. <div class="col-md-5 text-end">
  8. <a href="{{ route('admin.roles.index') }}" class="btn btn-sm btn-outline-secondary">Назад</a>
  9. </div>
  10. </div>
  11. <form action="{{ $role->exists ? route('admin.roles.update', $role) : route('admin.roles.store') }}" method="post">
  12. @csrf
  13. @if($role->exists)
  14. @method('PUT')
  15. @endif
  16. <div class="row">
  17. <div class="col-lg-5 col-xl-4">
  18. @include('partials.input', [
  19. 'name' => 'name',
  20. 'title' => 'Название',
  21. 'required' => true,
  22. 'value' => old('name', $role->name),
  23. ])
  24. @include('partials.input', [
  25. 'name' => 'slug',
  26. 'title' => 'Код',
  27. 'required' => !$role->exists,
  28. 'value' => old('slug', $role->slug),
  29. 'disabled' => $role->exists,
  30. ])
  31. @if($role->exists)
  32. <input type="hidden" name="slug" value="{{ $role->slug }}">
  33. @endif
  34. @include('partials.input', [
  35. 'name' => 'description',
  36. 'title' => 'Описание',
  37. 'value' => old('description', $role->description),
  38. ])
  39. @include('partials.input', [
  40. 'name' => 'sort',
  41. 'type' => 'number',
  42. 'title' => 'Сортировка',
  43. 'value' => old('sort', $role->sort ?? 100),
  44. ])
  45. <div class="row mb-2">
  46. <label class="col-form-label small col-md-4 text-md-end" for="is_active">Активна</label>
  47. <div class="col-md-8">
  48. <input type="hidden" name="is_active" value="0">
  49. <div class="form-check mt-2">
  50. <input class="form-check-input" type="checkbox" name="is_active" value="1" id="is_active"
  51. @checked(old('is_active', $role->exists ? $role->is_active : true))
  52. @disabled($role->slug === \App\Models\Role::ADMIN)>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="text-end mb-3">
  57. <button type="submit" class="btn btn-sm btn-primary">Сохранить</button>
  58. </div>
  59. </div>
  60. <div class="col-lg-7 col-xl-8">
  61. @if($role->slug === \App\Models\Role::ADMIN)
  62. <div class="alert alert-warning py-2">
  63. Администратору всегда доступны все права. Убирать права или ставить deny нельзя.
  64. </div>
  65. @endif
  66. @include('admin.roles.partials.permissions-table', [
  67. 'permissionGroups' => $permissionGroups,
  68. 'permissionEffects' => $permissionEffects,
  69. 'inputName' => 'permission_effects',
  70. 'adminLocked' => $role->slug === \App\Models\Role::ADMIN,
  71. 'inheritLabel' => 'Нет',
  72. ])
  73. </div>
  74. </div>
  75. </form>
  76. @if($role->exists && $role->slug !== \App\Models\Role::ADMIN)
  77. <form action="{{ route('admin.roles.destroy', $role) }}" method="post" class="d-none" id="delete-role">
  78. @csrf
  79. @method('DELETE')
  80. </form>
  81. <div class="text-end mt-3">
  82. <a href="#" class="btn btn-sm btn-outline-danger delete-role">Удалить роль</a>
  83. </div>
  84. @endif
  85. @endsection
  86. @push('scripts')
  87. <script type="module">
  88. $('.delete-role').on('click', function () {
  89. customConfirm('Удалить роль? Это возможно только если на неё не ссылается ни один пользователь.', function () {
  90. $('#delete-role').submit();
  91. });
  92. });
  93. </script>
  94. @endpush