| 1 | @model StockMaster.Models.User
|
|---|
| 2 | @{
|
|---|
| 3 | ViewData["Title"] = "Edit User";
|
|---|
| 4 | }
|
|---|
| 5 |
|
|---|
| 6 | <div class="row mb-4">
|
|---|
| 7 | <div class="col-12">
|
|---|
| 8 | <h2><i class="fas fa-edit"></i> Edit User</h2>
|
|---|
| 9 | <nav aria-label="breadcrumb">
|
|---|
| 10 | <ol class="breadcrumb">
|
|---|
| 11 | <li class="breadcrumb-item"><a href="/">Home</a></li>
|
|---|
| 12 | <li class="breadcrumb-item"><a href="/User/Index">Users</a></li>
|
|---|
| 13 | <li class="breadcrumb-item active">Edit</li>
|
|---|
| 14 | </ol>
|
|---|
| 15 | </nav>
|
|---|
| 16 | </div>
|
|---|
| 17 | </div>
|
|---|
| 18 |
|
|---|
| 19 | <div class="row">
|
|---|
| 20 | <div class="col-md-8">
|
|---|
| 21 | <div class="card">
|
|---|
| 22 | <div class="card-header">
|
|---|
| 23 | <i class="fas fa-info-circle"></i> User Information
|
|---|
| 24 | </div>
|
|---|
| 25 | <div class="card-body">
|
|---|
| 26 | <form asp-action="Edit" method="post">
|
|---|
| 27 |
|
|---|
| 28 | @if (!ViewData.ModelState.IsValid)
|
|---|
| 29 | {
|
|---|
| 30 | <div class="alert alert-danger">
|
|---|
| 31 | <i class="fas fa-exclamation-triangle"></i> <strong>Please correct the following errors:</strong>
|
|---|
| 32 | <div asp-validation-summary="All" class="mt-2 mb-0"></div>
|
|---|
| 33 | </div>
|
|---|
| 34 | }
|
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 | <input type="hidden" asp-for="UserId" />
|
|---|
| 38 |
|
|---|
| 39 |
|
|---|
| 40 | <div class="row">
|
|---|
| 41 | <div class="col-md-6 mb-3">
|
|---|
| 42 | <label asp-for="Username" class="form-label">Username *</label>
|
|---|
| 43 | <input asp-for="Username" class="form-control" placeholder="Enter username" required />
|
|---|
| 44 | <span asp-validation-for="Username" class="text-danger"></span>
|
|---|
| 45 | </div>
|
|---|
| 46 |
|
|---|
| 47 | <div class="col-md-6 mb-3">
|
|---|
| 48 | <label asp-for="FullName" class="form-label">Full Name *</label>
|
|---|
| 49 | <input asp-for="FullName" class="form-control" placeholder="Enter full name" required />
|
|---|
| 50 | <span asp-validation-for="FullName" class="text-danger"></span>
|
|---|
| 51 | </div>
|
|---|
| 52 | </div>
|
|---|
| 53 |
|
|---|
| 54 | <div class="row">
|
|---|
| 55 | <div class="col-md-6 mb-3">
|
|---|
| 56 | <label asp-for="Email" class="form-label">Email *</label>
|
|---|
| 57 | <input asp-for="Email" type="email" class="form-control" placeholder="user@email.com" required />
|
|---|
| 58 | <span asp-validation-for="Email" class="text-danger"></span>
|
|---|
| 59 | </div>
|
|---|
| 60 |
|
|---|
| 61 | <div class="col-md-6 mb-3">
|
|---|
| 62 | <label class="form-label">New Password</label>
|
|---|
| 63 |
|
|---|
| 64 | <input type="password" name="PlainPassword" class="form-control" placeholder="Leave blank to keep current" autocomplete="new-password" />
|
|---|
| 65 | <small class="text-muted">Only fill this if you want to change the password.</small>
|
|---|
| 66 | </div>
|
|---|
| 67 | </div>
|
|---|
| 68 |
|
|---|
| 69 | <div class="row">
|
|---|
| 70 | <div class="col-md-6 mb-3">
|
|---|
| 71 | <label asp-for="Role" class="form-label">Role *</label>
|
|---|
| 72 | <select asp-for="Role" class="form-select" required>
|
|---|
| 73 | <option value="">Select role</option>
|
|---|
| 74 | <option value="Admin">Admin</option>
|
|---|
| 75 | <option value="Inventory Manager">Inventory Manager</option>
|
|---|
| 76 | <option value="Sales Personnel">Sales Personnel</option>
|
|---|
| 77 | <option value="Warehouse Staff">Warehouse Staff</option>
|
|---|
| 78 | </select>
|
|---|
| 79 | <span asp-validation-for="Role" class="text-danger"></span>
|
|---|
| 80 | </div>
|
|---|
| 81 |
|
|---|
| 82 | <div class="col-md-6 mb-3">
|
|---|
| 83 | <label class="form-label">Status</label>
|
|---|
| 84 | <div class="form-check form-switch mt-2">
|
|---|
| 85 | <input asp-for="IsActive" class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckChecked">
|
|---|
| 86 | <label class="form-check-label" for="flexSwitchCheckChecked">
|
|---|
| 87 | Active User account
|
|---|
| 88 | </label>
|
|---|
| 89 | </div>
|
|---|
| 90 | </div>
|
|---|
| 91 | </div>
|
|---|
| 92 |
|
|---|
| 93 | <div class="d-grid gap-2 d-md-flex justify-content-md-end mt-3">
|
|---|
| 94 | <a href="/User/Index" class="btn btn-secondary">
|
|---|
| 95 | <i class="fas fa-times"></i> Cancel
|
|---|
| 96 | </a>
|
|---|
| 97 | <button type="submit" class="btn btn-primary px-4">
|
|---|
| 98 | <i class="fas fa-save"></i> Update User
|
|---|
| 99 | </button>
|
|---|
| 100 | </div>
|
|---|
| 101 | </form>
|
|---|
| 102 | </div>
|
|---|
| 103 | </div>
|
|---|
| 104 | </div>
|
|---|
| 105 |
|
|---|
| 106 | <div class="col-md-4">
|
|---|
| 107 | <div class="card mb-3">
|
|---|
| 108 | <div class="card-header">
|
|---|
| 109 | <i class="fas fa-info-circle"></i> User Details
|
|---|
| 110 | </div>
|
|---|
| 111 | <div class="card-body">
|
|---|
| 112 | <ul class="list-group list-group-flush">
|
|---|
| 113 | <li class="list-group-item d-flex justify-content-between align-items-center">
|
|---|
| 114 | User ID
|
|---|
| 115 | <span class="badge bg-primary rounded-pill">@Model.UserId</span>
|
|---|
| 116 | </li>
|
|---|
| 117 | <li class="list-group-item d-flex justify-content-between align-items-center">
|
|---|
| 118 | Created Date
|
|---|
| 119 | <small class="text-muted">@Model.CreatedAt.ToString("dd.MM.yyyy HH:mm")</small>
|
|---|
| 120 | </li>
|
|---|
| 121 | <li class="list-group-item d-flex justify-content-between align-items-center">
|
|---|
| 122 | Current Status
|
|---|
| 123 | @if (Model.IsActive)
|
|---|
| 124 | {
|
|---|
| 125 | <span class="badge bg-success">Active</span>
|
|---|
| 126 | }
|
|---|
| 127 | else
|
|---|
| 128 | {
|
|---|
| 129 | <span class="badge bg-secondary">Inactive</span>
|
|---|
| 130 | }
|
|---|
| 131 | </li>
|
|---|
| 132 | </ul>
|
|---|
| 133 | </div>
|
|---|
| 134 | </div>
|
|---|
| 135 |
|
|---|
| 136 | <div class="card border-warning">
|
|---|
| 137 | <div class="card-header bg-warning text-dark">
|
|---|
| 138 | <i class="fas fa-exclamation-triangle"></i> Warning
|
|---|
| 139 | </div>
|
|---|
| 140 | <div class="card-body">
|
|---|
| 141 | <p class="card-text small">
|
|---|
| 142 | Changing the <strong>Role</strong> will immediately affect the user's permissions in the system.
|
|---|
| 143 | </p>
|
|---|
| 144 | <p class="card-text small mb-0">
|
|---|
| 145 | If you deactive a user, they will not be able to login to the system.
|
|---|
| 146 | </p>
|
|---|
| 147 | </div>
|
|---|
| 148 | </div>
|
|---|
| 149 | </div>
|
|---|
| 150 | </div>
|
|---|
| 151 |
|
|---|
| 152 | @section Scripts {
|
|---|
| 153 | @{
|
|---|
| 154 | await Html.RenderPartialAsync("_ValidationScriptsPartial");
|
|---|
| 155 | }
|
|---|
| 156 | } |
|---|