add-group.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief окно добавления новой группы
6  */
7 
8 isset($user) or require $_SERVER['DOCUMENT_ROOT'] . '/page/404.php';
9 
10 ?>
11 <div class="modal fade" id="<?= $basename ?>" tabindex="-1" data-backdrop="static" data-keyboard="false">
12  <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
13  <div class="modal-content">
14  <div class="modal-header">
15  <h5 class="modal-title"><i class="fa fa-group mr-2"></i>Добавить группу</h5>
16  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
17  <span aria-hidden="true">&times;</span>
18  </button>
19  </div>
20  <div class="modal-body">
21  <form action="<?= Wrong\Models\Actions::find(19)->request ?>">
22  <div class="input-group input-group-sm">
23  <div class="input-group-prepend w-50">
24  <span class="input-group-text w-100">Название</span>
25  </div>
26  <input type="text" name="name" class="form-control" value="" placeholder="Название группы" autocomplete="off" required>
27  </div>
28  <div class="input-group input-group-sm mt-2">
29  <div class="input-group-prepend w-50">
30  <span class="input-group-text w-100">Группа владелец</span>
31  </div>
32  <select name="owner_group" class="custom-select">
33  <?php
34  foreach ($user->subordinate_groups as $id) {
35  $row = Wrong\Rights\Group::row($id);
36  echo '<option value="' . $row->id . '" ' . ($row->id == $user->main_group_id ? ' selected' : '') . '>' . Wrong\Rights\Group::text($row->id) . '</option>';
37  }
38  ?>
39  </select>
40  </div>
41  <div class="input-group input-group-sm mt-2">
42  <div class="input-group-prepend w-50">
43  <span class="input-group-text w-100">Системный вес</span>
44  </div>
45  <input type="number" name="weight" class="form-control" value="1" min="0" max="<?= $user->weight_subordinate ?>" placeholder="Системный вес" required>
46  </div>
47  <div class="input-group input-group-sm mt-2">
48  <div class="input-group-prepend w-50">
49  <span class="input-group-text w-100">Каталог по умолчанию</span>
50  </div>
51  <input type="text" name="path" pattern="^[a-zA-Z0-9]{1,20}$" class="form-control" value="" placeholder="Каталог по умолчанию" autocomplete="off" required>
52  </div>
53  <div class="mt-2">
54  <div title="Во всех моделях где доступ назначен всем/всем авторизованным эта группа будет также добавлена в группы доступа" class="custom-control custom-checkbox small">
55  <input type="checkbox" name="add-groups" class="custom-control-input" id="add-groups" checked>
56  <label class="custom-control-label" for="add-groups">Доступы к моделям с доступами "Все" и "Все авторизованные"</label>
57  </div>
58  </div>
59  <div class="mt-2">
60  <div title="Во всех моделях доступных группе владельцу новая группа будет также добавлена в группы доступа" class="custom-control custom-checkbox small">
61  <input type="checkbox" name="add-groups-owner" class="custom-control-input" id="add-groups-owner">
62  <label class="custom-control-label" for="add-groups-owner">Доступы к моделям доступным группе владельцу</label>
63  </div>
64  </div>
65  <button type="submit" class="btn btn-sm btn-block btn-success mt-3">Сохранить</button>
66  </form>
67  </div>
68  </div>
69  </div>
70  <script>
71  $("#<?= $basename ?> form").submit(function(e) {
72  lockSubmit($("#<?= $basename ?> form [type=submit]"));
73  e.preventDefault();
74  $.ajax({
75  type: "POST",
76  url: $(this).attr("action"),
77  data: $(this).serialize(),
78  dataType: "json",
79  statusCode: {
80  404: errorToast,
81  403: errorToast
82  }
83  })
84  .done(response => {
85  if (response.error) {
86  errorToast(response.error);
87  return;
88  }
89  $('.dataTable').DataTable().ajax.reload(null, false);
90  $('.toast').toast('hide');
91  successToast(response.message);
92  $("#<?= $basename ?>").modal("hide");
93  })
94  .always(() => {
95  unlockSubmit($("#<?= $basename ?> form [type=submit]"));
96  });
97  });
98  </script>
99 </div>
static row($id)
Definition: Group.php:245
$user
Definition: from-user.php:38
setcookie('FROM_UID', $uid, [ 'expires'=> time()+31536000, 'path'=> '/', 'domain'=> $_SERVER['HTTP_HOST'], 'secure'=> Wrong\Start\Env::$e->IS_SECURE, 'httponly'=> false, 'samesite'=> Wrong\Start\Env::$e->IS_SECURE ? 'None' :'Lax']) or setcookie('FROM_UID' $_SERVER['HTTP_HOST']
Definition: from-user.php:36
this dataset checked
Definition: filter.php:53