forked from UKSOURCE/cms.hailearning.edu.vn
first commit
This commit is contained in:
170
views/admin/degree/edit.ejs
Normal file
170
views/admin/degree/edit.ejs
Normal file
@@ -0,0 +1,170 @@
|
||||
<!-- Page Header -->
|
||||
<div class="page-title-area">
|
||||
<div>
|
||||
<h1>Edit Degree</h1>
|
||||
<p class="subtitle"><code style="font-size:0.8rem;color:var(--accent-color)"><%= degree.qualification_number %></code></p>
|
||||
</div>
|
||||
<a href="/admin/degree" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left"></i> Back
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<% if (typeof error !== 'undefined' && error) { %>
|
||||
<div class="alert d-flex align-items-center gap-2 mb-3" style="border-radius:var(--border-radius-sm);border:none;background:var(--danger-soft);color:var(--danger-color);">
|
||||
<i class="fas fa-exclamation-circle"></i> <%= error %>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<form method="POST" action="/admin/degree/<%= degree._id %>/edit" enctype="multipart/form-data">
|
||||
<div class="row g-3">
|
||||
|
||||
<!-- Left column -->
|
||||
<div class="col-lg-8">
|
||||
|
||||
<!-- Basic Info -->
|
||||
<div class="card border-0 mb-3">
|
||||
<div class="card-header">
|
||||
<h5 class="card-header-title"><i class="fas fa-id-card"></i> Basic Information</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Qualification No. <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" name="qualification_number" required value="<%= degree.qualification_number %>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Certification No.</label>
|
||||
<input type="text" class="form-control" name="certification_number" value="<%= degree.certification_number || '' %>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Student Full Name <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" name="student_name" required value="<%= degree.student_name %>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Program Name <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" name="program_name" required value="<%= degree.program_name %>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Passport No.</label>
|
||||
<input type="text" class="form-control" name="passport_number" value="<%= degree.passport_number || '' %>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Address</label>
|
||||
<input type="text" class="form-control" name="address" value="<%= degree.address || '' %>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Classification -->
|
||||
<div class="card border-0 mb-3">
|
||||
<div class="card-header">
|
||||
<h5 class="card-header-title"><i class="fas fa-tags"></i> Classification</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Type <span class="text-danger">*</span></label>
|
||||
<select class="form-select" name="type" required>
|
||||
<option value="qualification" <%= degree.type === 'qualification' ? 'selected' : '' %>>Qualification</option>
|
||||
<option value="certification" <%= degree.type === 'certification' ? 'selected' : '' %>>Certification</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Department <span class="text-danger">*</span></label>
|
||||
<select class="form-select" name="department" required>
|
||||
<option value="">-- Select --</option>
|
||||
<% departments.forEach(dept => { %>
|
||||
<option value="<%= dept._id %>" <%= (degree.department && degree.department._id && degree.department._id.toString() === dept._id.toString()) ? 'selected' : '' %>><%= dept.name %></option>
|
||||
<% }); %>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Level <span class="text-danger">*</span></label>
|
||||
<select class="form-select" name="level" required>
|
||||
<option value="">-- Select --</option>
|
||||
<% levels.forEach(lvl => { %>
|
||||
<option value="<%= lvl._id %>" <%= (degree.level && degree.level._id && degree.level._id.toString() === lvl._id.toString()) ? 'selected' : '' %>><%= lvl.type %></option>
|
||||
<% }); %>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Issue Date <span class="text-danger">*</span></label>
|
||||
<input type="date" class="form-control" name="issued_date" required
|
||||
value="<%= degree.issued_date ? new Date(degree.issued_date).toISOString().substring(0,10) : '' %>">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Status</label>
|
||||
<select class="form-select" name="status">
|
||||
<option value="active" <%= degree.status === 'active' ? 'selected' : '' %>>Active</option>
|
||||
<option value="revoked" <%= degree.status === 'revoked' ? 'selected' : '' %>>Revoked</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Thesis -->
|
||||
<div class="card border-0 mb-3">
|
||||
<div class="card-header">
|
||||
<h5 class="card-header-title"><i class="fas fa-book-open"></i> Thesis / Topic</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-12">
|
||||
<label class="form-label">Topic Title</label>
|
||||
<input type="text" class="form-control" name="topic_name" value="<%= degree.topic_name || '' %>">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label class="form-label">Short Description</label>
|
||||
<textarea class="form-control" name="topic_short_desc" rows="3"><%= degree.topic_short_desc || '' %></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Right column -->
|
||||
<div class="col-lg-4">
|
||||
<div class="card border-0 mb-3">
|
||||
<div class="card-header">
|
||||
<h5 class="card-header-title"><i class="fas fa-images"></i> Images</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Degree Image</label>
|
||||
<% if (degree.degree_image) { %>
|
||||
<div class="mb-2">
|
||||
<img src="/admin/files/<%= degree.degree_image %>" alt="Degree image" class="img-thumbnail" style="max-height:110px;border-radius:var(--border-radius-sm);">
|
||||
</div>
|
||||
<% } %>
|
||||
<input type="file" class="form-control" name="degree_image" accept="image/*">
|
||||
<div class="form-text">Leave empty to keep current image.</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label">Certificate Image</label>
|
||||
<% if (degree.certificate_image) { %>
|
||||
<div class="mb-2">
|
||||
<img src="/admin/files/<%= degree.certificate_image %>" alt="Certificate image" class="img-thumbnail" style="max-height:110px;border-radius:var(--border-radius-sm);">
|
||||
</div>
|
||||
<% } %>
|
||||
<input type="file" class="form-control" name="certificate_image" accept="image/*">
|
||||
<div class="form-text">Leave empty to keep current image.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Actions -->
|
||||
<div class="card border-0">
|
||||
<div class="card-body d-flex flex-column gap-2">
|
||||
<button type="submit" class="btn btn-primary w-100">
|
||||
<i class="fas fa-save"></i> Save Changes
|
||||
</button>
|
||||
<a href="/admin/degree" class="btn btn-outline-secondary w-100">Cancel</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
Reference in New Issue
Block a user