Roles.cshtml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. @page
  2. @model Admin.Pages.Director.User.RolesModel
  3. @{
  4. ViewData["Title"] = "권한 관리";
  5. }
  6. <div class="container">
  7. <h3>@ViewData["Title"]</h3>
  8. <hr />
  9. <partial name="_StatusMessage" />
  10. <small>사용자에게 권한이 지정된 역할을 부여합니다.</small>
  11. <form name="f_admin_write" id="fAdminWrite" class="mt-3" method="post" accept-charset="utf-8" autocomplete="off">
  12. <input type="hidden" asp-for="Input.User.ID" />
  13. <h5>@Model.Input!.User.FullName</h5>
  14. <hr />
  15. @if (Model.Input.Roles == null || Model.Input.Roles.Count <= 0)
  16. {
  17. <div class="text-center">
  18. 부여된 권한이 없습니다.
  19. </div>
  20. }
  21. <div class="form-check">
  22. <input class="form-check-input" type="checkbox" value="1" id="allChecked" />
  23. <label class="form-check-label" for="allChecked">
  24. 모두 선택
  25. </label>
  26. </div>
  27. @if (Model.Input.Roles != null) {
  28. @for (int i = 0; i < Model.Input.Roles.Count; i++)
  29. {
  30. <div class="form-check m-1">
  31. <input type="hidden" asp-for="@Model.Input.Roles[i].DisplayValue" />
  32. <input asp-for="@Model.Input.Roles[i].IsSelected" class="form-check-input" />
  33. <label asp-for="@Model.Input.Roles[i].IsSelected" class="form-check-label">
  34. @Model.Input.Roles[i].DisplayValue
  35. </label>
  36. </div>
  37. }
  38. }
  39. <div asp-validation-summary="All" class="text-danger"></div>
  40. <hr />
  41. <div class="text-center">
  42. @if (Model.Input.Roles != null && Model.Input.Roles.Count >= 0)
  43. {
  44. <button type="submit" class="btn btn-success">저장</button>
  45. }
  46. <a asp-page="/Director/User/Index" class="btn btn-secondary">취소</a>
  47. </div>
  48. </form>
  49. </div>
  50. @section Scripts {
  51. <script>
  52. // checkbox 모두 선택/해제
  53. document.getElementById("allChecked").addEventListener("change", function () {
  54. var checkboxes = document.querySelectorAll("input[type='checkbox']:not(#allChecked)");
  55. for (var i = 0; i < checkboxes.length; i++) {
  56. checkboxes[i].checked = this.checked;
  57. }
  58. });
  59. </script>
  60. }