Roles.cshtml 2.5 KB

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