update
This commit is contained in:
parent
9fbc94cddd
commit
5bb2abf8bb
@ -27,7 +27,7 @@ def onboarding_welcome(request, token=None):
|
||||
"""
|
||||
# If user is already authenticated and not provisional, redirect to dashboard
|
||||
if request.user.is_authenticated and not request.user.is_provisional:
|
||||
return redirect('/dashboard/')
|
||||
return redirect('/')
|
||||
|
||||
context = {
|
||||
'page_title': 'Welcome to PX360',
|
||||
@ -44,7 +44,7 @@ def onboarding_step_content(request, step):
|
||||
|
||||
# Check if user is provisional
|
||||
if not user.is_provisional:
|
||||
return redirect('/dashboard/')
|
||||
return redirect('/')
|
||||
|
||||
# Get content for user's role
|
||||
content_list = get_wizard_content_for_user(user)
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<h1 class="h3 mb-2">
|
||||
<i class="fas fa-tasks me-2"></i>
|
||||
<i class="bi bi-list-check me-2"></i>
|
||||
{% trans "Checklist Items Management" %}
|
||||
</h1>
|
||||
<p class="text-muted mb-0">
|
||||
@ -19,7 +19,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi bi-plus me-2"></i>
|
||||
{% trans "Add Checklist Item" %}
|
||||
</button>
|
||||
</div>
|
||||
@ -31,13 +31,13 @@
|
||||
<div class="card-header bg-white py-3">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-list me-2"></i>
|
||||
<i class="bi bi-list me-2"></i>
|
||||
{% trans "Checklist Items" %}
|
||||
</h5>
|
||||
<div class="input-group" style="max-width: 300px;">
|
||||
<input type="text" class="form-control" id="searchInput" placeholder="{% trans 'Search items...' %}">
|
||||
<button class="btn btn-outline-secondary" type="button">
|
||||
<i class="fas fa-search"></i>
|
||||
<i class="bi bi-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -90,7 +90,7 @@
|
||||
<td class="text-center">
|
||||
{% if item.is_required %}
|
||||
<span class="badge bg-danger">
|
||||
<i class="fas fa-exclamation-circle me-1"></i>
|
||||
<i class="bi bi-exclamation-circle me-1"></i>
|
||||
{% trans "Yes" %}
|
||||
</span>
|
||||
{% else %}
|
||||
@ -101,12 +101,12 @@
|
||||
<td>
|
||||
{% if item.is_active %}
|
||||
<span class="badge bg-success">
|
||||
<i class="fas fa-check me-1"></i>
|
||||
<i class="bi bi-check me-1"></i>
|
||||
{% trans "Active" %}
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">
|
||||
<i class="fas fa-times me-1"></i>
|
||||
<i class="bi bi-x me-1"></i>
|
||||
{% trans "Inactive" %}
|
||||
</span>
|
||||
{% endif %}
|
||||
@ -117,10 +117,10 @@
|
||||
<td>
|
||||
<div class="btn-group" role="group">
|
||||
<button class="btn btn-sm btn-outline-primary" title="{% trans 'Edit' %}">
|
||||
<i class="fas fa-edit"></i>
|
||||
<i class="bi bi-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-sm btn-outline-danger" title="{% trans 'Delete' %}">
|
||||
<i class="fas fa-trash"></i>
|
||||
<i class="bi bi-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
@ -128,7 +128,7 @@
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td colspan="8" class="text-center py-5">
|
||||
<i class="fas fa-clipboard-list fa-3x text-muted mb-3"></i>
|
||||
<i class="bi bi-clipboard-data fa-3x text-muted mb-3"></i>
|
||||
<p class="text-muted mb-0">
|
||||
{% trans "No checklist items found" %}
|
||||
</p>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<div class="card shadow-lg border-0">
|
||||
<div class="card-body p-5 text-center">
|
||||
<div class="mb-5">
|
||||
<i class="fas fa-check-circle fa-6x text-success mb-4"></i>
|
||||
<i class="bi bi-check-circle fa-6x text-success mb-4"></i>
|
||||
<h1 class="display-4 mb-3">{% trans "Welcome Aboard!" %}</h1>
|
||||
<p class="lead text-muted">
|
||||
{% trans "Your account has been successfully activated" %}
|
||||
@ -18,7 +18,7 @@
|
||||
</div>
|
||||
|
||||
<div class="alert alert-success mb-4">
|
||||
<i class="fas fa-info-circle me-2"></i>
|
||||
<i class="bi bi-info-circle me-2"></i>
|
||||
{% trans "You can now log in to PX360 with your new username and password." %}
|
||||
</div>
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
<div class="col-md-4 mb-3">
|
||||
<div class="card border-success">
|
||||
<div class="card-body">
|
||||
<i class="fas fa-book-reader fa-2x text-primary mb-2"></i>
|
||||
<i class="bi bi-book fa-2x text-primary mb-2"></i>
|
||||
<h5>{% trans "Learning Complete" %}</h5>
|
||||
<p class="small text-muted">
|
||||
{% trans "You've reviewed all system content" %}
|
||||
@ -37,7 +37,7 @@
|
||||
<div class="col-md-4 mb-3">
|
||||
<div class="card border-success">
|
||||
<div class="card-body">
|
||||
<i class="fas fa-clipboard-check fa-2x text-success mb-2"></i>
|
||||
<i class="bi bi-clipboard-check fa-2x text-success mb-2"></i>
|
||||
<h5>{% trans "Acknowledged" %}</h5>
|
||||
<p class="small text-muted">
|
||||
{% trans "All required items confirmed" %}
|
||||
@ -48,7 +48,7 @@
|
||||
<div class="col-md-4 mb-3">
|
||||
<div class="card border-success">
|
||||
<div class="card-body">
|
||||
<i class="fas fa-user-shield fa-2x text-info mb-2"></i>
|
||||
<i class="bi bi-shield-person fa-2x text-info mb-2"></i>
|
||||
<h5>{% trans "Account Active" %}</h5>
|
||||
<p class="small text-muted">
|
||||
{% trans "Your credentials are ready" %}
|
||||
@ -60,7 +60,7 @@
|
||||
|
||||
<div class="alert alert-info mb-4">
|
||||
<h6 class="alert-heading">
|
||||
<i class="fas fa-lightbulb me-2"></i>
|
||||
<i class="bi bi-lightbulb me-2"></i>
|
||||
{% trans "What's Next?" %}
|
||||
</h6>
|
||||
<p class="mb-2 text-start">
|
||||
@ -76,7 +76,7 @@
|
||||
|
||||
<div class="d-grid gap-2">
|
||||
<a href="/login/" class="btn btn-primary btn-lg">
|
||||
<i class="fas fa-sign-in-alt me-2"></i>
|
||||
<i class="bi bi-box-arrow-in-right me-2"></i>
|
||||
{% trans "Log In to PX360" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<h1 class="h3 mb-2">
|
||||
<i class="fas fa-book me-2"></i>
|
||||
<i class="bi bi-book me-2"></i>
|
||||
{% trans "Acknowledgement Content Management" %}
|
||||
</h1>
|
||||
<p class="text-muted mb-0">
|
||||
@ -19,7 +19,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi bi-plus me-2"></i>
|
||||
{% trans "Add Content" %}
|
||||
</button>
|
||||
</div>
|
||||
@ -31,13 +31,13 @@
|
||||
<div class="card-header bg-white py-3">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-list me-2"></i>
|
||||
<i class="bi bi-list me-2"></i>
|
||||
{% trans "Content Sections" %}
|
||||
</h5>
|
||||
<div class="input-group" style="max-width: 300px;">
|
||||
<input type="text" class="form-control" id="searchInput" placeholder="{% trans 'Search content...' %}">
|
||||
<button class="btn btn-outline-secondary" type="button">
|
||||
<i class="fas fa-search"></i>
|
||||
<i class="bi bi-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -61,9 +61,9 @@
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
{% if content.icon %}
|
||||
<i class="fas {{ content.icon }} fa-lg text-{{ content.color|default:'primary' }}"></i>
|
||||
<i class="{{ content.icon }} fa-lg text-{{ content.color|default:'primary' }}"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-file-alt fa-lg text-muted"></i>
|
||||
<i class="bi bi-file-text fa-lg text-muted"></i>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
@ -85,12 +85,12 @@
|
||||
<td>
|
||||
{% if content.is_active %}
|
||||
<span class="badge bg-success">
|
||||
<i class="fas fa-check me-1"></i>
|
||||
<i class="bi bi-check me-1"></i>
|
||||
{% trans "Active" %}
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">
|
||||
<i class="fas fa-times me-1"></i>
|
||||
<i class="bi bi-x me-1"></i>
|
||||
{% trans "Inactive" %}
|
||||
</span>
|
||||
{% endif %}
|
||||
@ -101,10 +101,10 @@
|
||||
<td>
|
||||
<div class="btn-group" role="group">
|
||||
<button class="btn btn-sm btn-outline-primary" title="{% trans 'Edit' %}">
|
||||
<i class="fas fa-edit"></i>
|
||||
<i class="bi bi-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-sm btn-outline-danger" title="{% trans 'Delete' %}">
|
||||
<i class="fas fa-trash"></i>
|
||||
<i class="bi bi-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
@ -112,7 +112,7 @@
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td colspan="7" class="text-center py-5">
|
||||
<i class="fas fa-folder-open fa-3x text-muted mb-3"></i>
|
||||
<i class="bi bi-folder2-open fa-3x text-muted mb-3"></i>
|
||||
<p class="text-muted mb-0">
|
||||
{% trans "No content found" %}
|
||||
</p>
|
||||
|
||||
@ -11,11 +11,11 @@
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<a href="{% url 'accounts:provisional-user-list' %}" class="text-muted text-decoration-none mb-2 d-inline-block">
|
||||
<i class="fas fa-arrow-left me-1"></i>
|
||||
<i class="bi bi-arrow-left me-1"></i>
|
||||
{% trans "Back to Provisional Users" %}
|
||||
</a>
|
||||
<h1 class="h3 mb-2">
|
||||
<i class="fas fa-chart-line me-2"></i>
|
||||
<i class="bi bi-graph-up me-2"></i>
|
||||
{% trans "Onboarding Progress" %}
|
||||
</h1>
|
||||
<p class="text-muted mb-0">{{ user.email }}</p>
|
||||
@ -47,12 +47,12 @@
|
||||
</div>
|
||||
{% if progress_percentage == 100 %}
|
||||
<div class="alert alert-success mb-0">
|
||||
<i class="fas fa-check-circle me-2"></i>
|
||||
<i class="bi bi-check-circle me-2"></i>
|
||||
{% trans "All required acknowledgements completed!" %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="alert alert-info mb-0">
|
||||
<i class="fas fa-info-circle me-2"></i>
|
||||
<i class="bi bi-info-circle me-2"></i>
|
||||
<span class="text-muted">{{ remaining_count }} {% trans "items remaining" %}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
@ -94,7 +94,7 @@
|
||||
<div class="card">
|
||||
<div class="card-header bg-white py-3">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-tasks me-2"></i>
|
||||
<i class="bi bi-list-check me-2"></i>
|
||||
{% trans "Acknowledgement Checklist" %}
|
||||
</h5>
|
||||
</div>
|
||||
@ -115,9 +115,9 @@
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
{% if checklist_item.acknowledged_at %}
|
||||
<i class="fas fa-check-circle text-success fa-lg"></i>
|
||||
<i class="bi bi-check-circle text-success fa-lg"></i>
|
||||
{% else %}
|
||||
<i class="far fa-circle text-muted fa-lg"></i>
|
||||
<i class="bi bi-circle text-muted fa-lg"></i>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
@ -169,7 +169,7 @@
|
||||
<div class="card">
|
||||
<div class="card-header bg-white py-3">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-history me-2"></i>
|
||||
<i class="bi bi-clock-history me-2"></i>
|
||||
{% trans "Activity Log" %}
|
||||
</h5>
|
||||
</div>
|
||||
@ -180,7 +180,7 @@
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0">
|
||||
<div class="timeline-marker bg-primary">
|
||||
<i class="fas fa-circle"></i>
|
||||
<i class="bi bi-circle"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1 ms-3">
|
||||
@ -193,7 +193,7 @@
|
||||
<p class="mb-0 text-muted">{{ log.description }}</p>
|
||||
{% if log.ip_address %}
|
||||
<small class="text-muted">
|
||||
<i class="fas fa-map-marker-alt me-1"></i>
|
||||
<i class="bi bi-geo-alt me-1"></i>
|
||||
{{ log.ip_address }}
|
||||
</small>
|
||||
{% endif %}
|
||||
@ -204,7 +204,7 @@
|
||||
</div>
|
||||
{% empty %}
|
||||
<div class="text-center py-4">
|
||||
<i class="fas fa-history fa-2x text-muted mb-2"></i>
|
||||
<i class="bi bi-clock-history fa-2x text-muted mb-2"></i>
|
||||
<p class="text-muted mb-0">
|
||||
{% trans "No activity recorded yet" %}
|
||||
</p>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<h1 class="h3 mb-2">
|
||||
<i class="fas fa-users-cog me-2"></i>
|
||||
<i class="bi bi-people me-2"></i>
|
||||
{% trans "Provisional Users Management" %}
|
||||
</h1>
|
||||
<p class="text-muted mb-0">
|
||||
@ -19,7 +19,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#createUserModal">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi bi-plus me-2"></i>
|
||||
{% trans "Create Provisional User" %}
|
||||
</button>
|
||||
</div>
|
||||
@ -33,7 +33,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="flex-shrink-0">
|
||||
<i class="fas fa-user-clock fa-2x text-primary"></i>
|
||||
<i class="bi bi-clock fa-2x text-primary"></i>
|
||||
</div>
|
||||
<div class="flex-grow-1 ms-3">
|
||||
<h6 class="text-muted mb-1">{% trans "Total Provisional" %}</h6>
|
||||
@ -48,7 +48,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="flex-shrink-0">
|
||||
<i class="fas fa-check-circle fa-2x text-success"></i>
|
||||
<i class="bi bi-check-circle fa-2x text-success"></i>
|
||||
</div>
|
||||
<div class="flex-grow-1 ms-3">
|
||||
<h6 class="text-muted mb-1">{% trans "Completed" %}</h6>
|
||||
@ -63,7 +63,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="flex-shrink-0">
|
||||
<i class="fas fa-hourglass-half fa-2x text-warning"></i>
|
||||
<i class="bi bi-hourglass-split fa-2x text-warning"></i>
|
||||
</div>
|
||||
<div class="flex-grow-1 ms-3">
|
||||
<h6 class="text-muted mb-1">{% trans "In Progress" %}</h6>
|
||||
@ -80,13 +80,13 @@
|
||||
<div class="card-header bg-white py-3">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-list me-2"></i>
|
||||
<i class="bi bi-list me-2"></i>
|
||||
{% trans "Provisional Users List" %}
|
||||
</h5>
|
||||
<div class="input-group" style="max-width: 300px;">
|
||||
<input type="text" class="form-control" id="searchInput" placeholder="{% trans 'Search users...' %}">
|
||||
<button class="btn btn-outline-secondary" type="button">
|
||||
<i class="fas fa-search"></i>
|
||||
<i class="bi bi-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -133,12 +133,12 @@
|
||||
<td>
|
||||
{% if user.acknowledgement_completed_at %}
|
||||
<span class="badge bg-success">
|
||||
<i class="fas fa-check me-1"></i>
|
||||
<i class="bi bi-check me-1"></i>
|
||||
{% trans "Completed" %}
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="badge bg-warning">
|
||||
<i class="fas fa-spinner me-1"></i>
|
||||
<i class="bi bi-arrow-repeat me-1"></i>
|
||||
{% trans "In Progress" %}
|
||||
</span>
|
||||
{% endif %}
|
||||
@ -165,7 +165,7 @@
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td colspan="7" class="text-center py-5">
|
||||
<i class="fas fa-user-slash fa-3x text-muted mb-3"></i>
|
||||
<i class="bi bi-person-x fa-3x text-muted mb-3"></i>
|
||||
<p class="text-muted mb-0">
|
||||
{% trans "No provisional users found" %}
|
||||
</p>
|
||||
@ -185,7 +185,7 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="createUserModalLabel">
|
||||
<i class="fas fa-user-plus me-2"></i>
|
||||
<i class="bi bi-person-plus me-2"></i>
|
||||
{% trans "Create Provisional User" %}
|
||||
</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
@ -265,7 +265,7 @@
|
||||
{% trans "Cancel" %}
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi bi-send me-2"></i>
|
||||
{% trans "Create & Send Invitation" %}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@ -10,20 +10,20 @@
|
||||
<div class="card shadow-lg border-0">
|
||||
<div class="card-header bg-success text-white">
|
||||
<h4 class="mb-0 text-center">
|
||||
<i class="fas fa-user-check me-2"></i>
|
||||
<i class="bi bi-person-check me-2"></i>
|
||||
{% trans "Create Your Account" %}
|
||||
</h4>
|
||||
</div>
|
||||
<div class="card-body p-5">
|
||||
<div class="alert alert-success mb-4">
|
||||
<i class="fas fa-check-circle me-2"></i>
|
||||
<i class="bi bi-check-circle me-2"></i>
|
||||
{% trans "Congratulations! You have completed the onboarding process. Now create your account credentials to get started." %}
|
||||
</div>
|
||||
|
||||
<form id="activationForm">
|
||||
<div class="mb-3">
|
||||
<label for="username" class="form-label">
|
||||
<i class="fas fa-user me-2"></i>{% trans "Username" %}
|
||||
<i class="bi bi-person me-2"></i>{% trans "Username" %}
|
||||
</label>
|
||||
<input type="text"
|
||||
class="form-control form-control-lg"
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="emailDisplay" class="form-label">
|
||||
<i class="fas fa-envelope me-2"></i>{% trans "Email" %}
|
||||
<i class="bi bi-envelope me-2"></i>{% trans "Email" %}
|
||||
</label>
|
||||
<input type="email"
|
||||
class="form-control form-control-lg"
|
||||
@ -53,7 +53,7 @@
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="password" class="form-label">
|
||||
<i class="fas fa-lock me-2"></i>{% trans "Password" %}
|
||||
<i class="bi bi-lock me-2"></i>{% trans "Password" %}
|
||||
</label>
|
||||
<input type="password"
|
||||
class="form-control form-control-lg"
|
||||
@ -76,7 +76,7 @@
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="password_confirm" class="form-label">
|
||||
<i class="fas fa-lock me-2"></i>{% trans "Confirm Password" %}
|
||||
<i class="bi bi-lock me-2"></i>{% trans "Confirm Password" %}
|
||||
</label>
|
||||
<input type="password"
|
||||
class="form-control form-control-lg"
|
||||
@ -89,18 +89,18 @@
|
||||
|
||||
<div class="mb-4">
|
||||
<div class="alert alert-info">
|
||||
<i class="fas fa-info-circle me-2"></i>
|
||||
<i class="bi bi-info-circle me-2"></i>
|
||||
{% trans "Your digital signature from the previous step will be attached to your account activation for compliance records." %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-grid gap-2">
|
||||
<button type="submit" id="activateBtn" class="btn btn-success btn-lg">
|
||||
<i class="fas fa-rocket me-2"></i>
|
||||
<i class="bi bi-rocket-takeoff me-2"></i>
|
||||
{% trans "Activate Account" %}
|
||||
</button>
|
||||
<button type="button" onclick="goBack()" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left me-2"></i>
|
||||
<i class="bi bi-arrow-left me-2"></i>
|
||||
{% trans "Back" %}
|
||||
</button>
|
||||
</div>
|
||||
@ -160,10 +160,10 @@ function checkPasswordMatch() {
|
||||
|
||||
if (confirm) {
|
||||
if (password === confirm) {
|
||||
matchDiv.innerHTML = '<span class="text-success"><i class="fas fa-check"></i> {% trans "Passwords match" %}</span>';
|
||||
matchDiv.innerHTML = '<span class="text-success"><i class="bi bi-check"></i> {% trans "Passwords match" %}</span>';
|
||||
return true;
|
||||
} else {
|
||||
matchDiv.innerHTML = '<span class="text-danger"><i class="fas fa-times"></i> {% trans "Passwords do not match" %}</span>';
|
||||
matchDiv.innerHTML = '<span class="text-danger"><i class="bi bi-x"></i> {% trans "Passwords do not match" %}</span>';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -194,7 +194,7 @@ function activateAccount() {
|
||||
|
||||
const activateBtn = document.getElementById('activateBtn');
|
||||
activateBtn.disabled = true;
|
||||
activateBtn.innerHTML = '<i class="fas fa-spinner fa-spin me-2"></i>{% trans "Activating..." %}';
|
||||
activateBtn.innerHTML = '<i class="bi bi-arrow-clockwise fa-spin me-2"></i>{% trans "Activating..." %}';
|
||||
|
||||
fetch('/api/accounts/users/onboarding/complete/', {
|
||||
method: 'POST',
|
||||
@ -219,13 +219,13 @@ function activateAccount() {
|
||||
window.location.href = '/accounts/onboarding/complete/';
|
||||
} else {
|
||||
activateBtn.disabled = false;
|
||||
activateBtn.innerHTML = '<i class="fas fa-rocket me-2"></i>{% trans "Activate Account" %}';
|
||||
activateBtn.innerHTML = '<i class="bi bi-rocket-takeoff me-2"></i>{% trans "Activate Account" %}';
|
||||
alert('Error: ' + (data.error || 'Failed to activate account'));
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
activateBtn.disabled = false;
|
||||
activateBtn.innerHTML = '<i class="fas fa-rocket me-2"></i>{% trans "Activate Account" %}';
|
||||
activateBtn.innerHTML = '<i class="bi bi-rocket-takeoff me-2"></i>{% trans "Activate Account" %}';
|
||||
alert('{% trans "An error occurred. Please try again." %}');
|
||||
});
|
||||
}
|
||||
|
||||
@ -33,13 +33,13 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h4 class="mb-0">
|
||||
<i class="fas fa-clipboard-check me-2"></i>
|
||||
<i class="bi bi-clipboard-check me-2"></i>
|
||||
{% trans "Acknowledgement Checklist" %}
|
||||
</h4>
|
||||
</div>
|
||||
<div class="card-body p-5">
|
||||
<div class="alert alert-warning mb-4">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i>
|
||||
<i class="bi bi-exclamation-triangle me-2"></i>
|
||||
{% trans "Please review and acknowledge all required items below. Your digital signature will be recorded for compliance purposes." %}
|
||||
</div>
|
||||
|
||||
@ -73,14 +73,14 @@
|
||||
|
||||
{% if item.content %}
|
||||
<p class="text-info small mb-0">
|
||||
<i class="fas fa-link me-1"></i>
|
||||
<i class="bi bi-link me-1"></i>
|
||||
{% if request.user.language == 'ar' %}{{ item.content.title_ar }}{% else %}{{ item.content.title_en }}{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if item.is_acknowledged %}
|
||||
<i class="fas fa-check-circle text-success fa-2x ms-3"></i>
|
||||
<i class="bi bi-check-circle text-success fa-2x ms-3"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@ -99,7 +99,7 @@
|
||||
|
||||
<div class="mt-2">
|
||||
<button type="button" onclick="clearSignature()" class="btn btn-sm btn-outline-secondary">
|
||||
<i class="fas fa-eraser me-1"></i> {% trans "Clear" %}
|
||||
<i class="bi bi-eraser me-1"></i> {% trans "Clear" %}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -109,11 +109,11 @@
|
||||
onclick="proceedToActivation()"
|
||||
class="btn btn-primary btn-lg"
|
||||
disabled>
|
||||
<i class="fas fa-arrow-right me-2"></i>
|
||||
<i class="bi bi-arrow-right me-2"></i>
|
||||
{% trans "Proceed to Account Setup" %}
|
||||
</button>
|
||||
<button type="button" onclick="goBack()" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left me-2"></i>
|
||||
<i class="bi bi-arrow-left me-2"></i>
|
||||
{% trans "Back to Content" %}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@ -26,10 +26,10 @@
|
||||
<div class="list-group-item
|
||||
{% if content_item.id == current_content.id %}active{% endif %}
|
||||
{% if content_item.id in completed_steps %}text-success{% endif %}">
|
||||
<i class="fas fa-{{ content_item.icon|default:'circle' }} me-2"></i>
|
||||
<i class="bi bi-{{ content_item.icon|default:'circle' }} me-2"></i>
|
||||
{% if request.user.language == 'ar' %}{{ content_item.title_ar }}{% else %}{{ content_item.title_en }}{% endif %}
|
||||
{% if content_item.id in completed_steps %}
|
||||
<i class="fas fa-check float-end"></i>
|
||||
<i class="bi bi-check float-end"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
@ -45,7 +45,7 @@
|
||||
<div class="mb-4">
|
||||
<div class="d-flex align-items-center mb-3">
|
||||
{% if current_content.icon %}
|
||||
<i class="fas fa-{{ current_content.icon }} fa-3x me-3"
|
||||
<i class="bi bi-{{ current_content.icon }} fa-3x me-3"
|
||||
style="color: {{ current_content.color|default:'#007bff' }}"></i>
|
||||
{% endif %}
|
||||
<div>
|
||||
@ -72,7 +72,7 @@
|
||||
<div class="d-flex justify-content-between mt-5">
|
||||
{% if previous_step %}
|
||||
<button onclick="goToStep({{ previous_step }})" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left me-2"></i>
|
||||
<i class="bi bi-arrow-left me-2"></i>
|
||||
{% trans "Previous" %}
|
||||
</button>
|
||||
{% else %}
|
||||
@ -81,11 +81,11 @@
|
||||
|
||||
{% if next_step %}
|
||||
<button onclick="completeAndNext()" class="btn btn-primary">
|
||||
{% trans "Next" %} <i class="fas fa-arrow-right ms-2"></i>
|
||||
{% trans "Next" %} <i class="bi bi-arrow-right ms-2"></i>
|
||||
</button>
|
||||
{% else %}
|
||||
<button onclick="goToChecklist()" class="btn btn-success">
|
||||
{% trans "Review Checklist" %} <i class="fas fa-check-circle ms-2"></i>
|
||||
{% trans "Review Checklist" %} <i class="bi bi-check-circle ms-2"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="card-body p-5">
|
||||
<div class="text-center mb-5">
|
||||
<div class="mb-4">
|
||||
<i class="fas fa-rocket fa-5x text-primary"></i>
|
||||
<i class="bi bi-rocket-takeoff fa-5x text-primary"></i>
|
||||
</div>
|
||||
<h1 class="display-4 mb-3">{% trans "Welcome to PX360!" %}</h1>
|
||||
<p class="lead text-muted">
|
||||
@ -20,14 +20,14 @@
|
||||
</div>
|
||||
|
||||
<div class="alert alert-info mb-4">
|
||||
<i class="fas fa-info-circle me-2"></i>
|
||||
<i class="bi bi-info-circle me-2"></i>
|
||||
{% trans "Please complete the onboarding wizard to set up your account and learn about the system." %}
|
||||
</div>
|
||||
|
||||
<div class="row mb-5">
|
||||
<div class="col-md-4 mb-3">
|
||||
<div class="text-center p-3 border rounded">
|
||||
<i class="fas fa-book-open fa-2x text-primary mb-2"></i>
|
||||
<i class="bi bi-book fa-2x text-primary mb-2"></i>
|
||||
<h5>{% trans "Learn" %}</h5>
|
||||
<p class="small text-muted">
|
||||
{% trans "Understand the PX360 system" %}
|
||||
@ -36,7 +36,7 @@
|
||||
</div>
|
||||
<div class="col-md-4 mb-3">
|
||||
<div class="text-center p-3 border rounded">
|
||||
<i class="fas fa-clipboard-check fa-2x text-success mb-2"></i>
|
||||
<i class="bi bi-clipboard-check fa-2x text-success mb-2"></i>
|
||||
<h5>{% trans "Acknowledge" %}</h5>
|
||||
<p class="small text-muted">
|
||||
{% trans "Review and confirm key policies" %}
|
||||
@ -45,7 +45,7 @@
|
||||
</div>
|
||||
<div class="col-md-4 mb-3">
|
||||
<div class="text-center p-3 border rounded">
|
||||
<i class="fas fa-signature fa-2x text-warning mb-2"></i>
|
||||
<i class="bi bi-pen fa-2x text-warning mb-2"></i>
|
||||
<h5>{% trans "Sign" %}</h5>
|
||||
<p class="small text-muted">
|
||||
{% trans "Create your account credentials" %}
|
||||
@ -56,7 +56,7 @@
|
||||
|
||||
<div class="d-grid gap-2">
|
||||
<button onclick="startWizard()" class="btn btn-primary btn-lg">
|
||||
<i class="fas fa-arrow-right me-2"></i>
|
||||
<i class="bi bi-arrow-right me-2"></i>
|
||||
{% trans "Start Onboarding" %}
|
||||
</button>
|
||||
<p class="text-center text-muted small mt-3">
|
||||
|
||||
@ -45,12 +45,12 @@
|
||||
<h6 class="text-muted mb-2">{% trans "From" %}</h6>
|
||||
{% if appreciation.is_anonymous %}
|
||||
<p class="mb-0">
|
||||
<i class="fas fa-user-secret text-muted me-2"></i>
|
||||
<i class="bi-person-secret text-muted me-2"></i>
|
||||
{% trans "Anonymous" %}
|
||||
</p>
|
||||
{% else %}
|
||||
<p class="mb-0">
|
||||
<i class="fas fa-user text-primary me-2"></i>
|
||||
<i class="bi-person text-primary me-2"></i>
|
||||
{{ appreciation.sender.get_full_name }}
|
||||
</p>
|
||||
{% endif %}
|
||||
@ -58,7 +58,7 @@
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-muted mb-2">{% trans "To" %}</h6>
|
||||
<p class="mb-0">
|
||||
<i class="fas fa-user text-success me-2"></i>
|
||||
<i class="bi-person text-success me-2"></i>
|
||||
{{ appreciation.recipient_name }}
|
||||
</p>
|
||||
</div>
|
||||
@ -69,14 +69,14 @@
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-muted mb-2">{% trans "Sent At" %}</h6>
|
||||
<p class="mb-0">
|
||||
<i class="fas fa-clock text-info me-2"></i>
|
||||
<i class="bi-clock text-info me-2"></i>
|
||||
{{ appreciation.sent_at|date:"F j, Y, g:i A" }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="text-muted mb-2">{% trans "Visibility" %}</h6>
|
||||
<p class="mb-0">
|
||||
<i class="fas fa-eye text-warning me-2"></i>
|
||||
<i class="bi-eye text-warning me-2"></i>
|
||||
{{ appreciation.get_visibility_display }}
|
||||
</p>
|
||||
</div>
|
||||
@ -84,7 +84,7 @@
|
||||
|
||||
{% if appreciation.acknowledged_at %}
|
||||
<div class="alert alert-success">
|
||||
<i class="fas fa-check-circle me-2"></i>
|
||||
<i class="bi-check-circle me-2"></i>
|
||||
{% trans "Acknowledged on" %} {{ appreciation.acknowledged_at|date:"F j, Y, g:i A" }}
|
||||
</div>
|
||||
{% endif %}
|
||||
@ -95,13 +95,13 @@
|
||||
<form method="post" action="{% url 'appreciation:appreciation_acknowledge' appreciation.id %}" class="d-inline">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-success">
|
||||
<i class="fas fa-check me-2"></i>
|
||||
<i class="bi-check me-2"></i>
|
||||
{% trans "Acknowledge" %}
|
||||
</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
<a href="{% url 'appreciation:appreciation_list' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left me-2"></i>
|
||||
<i class="bi-arrow-left me-2"></i>
|
||||
{% trans "Back to List" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -113,7 +113,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-light">
|
||||
<h5 class="card-title mb-0">
|
||||
<i class="fas fa-link me-2"></i>
|
||||
<i class="bi-link me-2"></i>
|
||||
{% trans "Related Appreciations" %}
|
||||
</h5>
|
||||
</div>
|
||||
@ -126,7 +126,7 @@
|
||||
<small class="text-muted">{{ rel.sent_at|date:"M d, Y" }}</small>
|
||||
</div>
|
||||
<p class="mb-1 small text-muted">
|
||||
<i class="fas fa-user me-1"></i>
|
||||
<i class="bi-person me-1"></i>
|
||||
{{ rel.sender.get_full_name }}
|
||||
</p>
|
||||
</a>
|
||||
@ -147,17 +147,17 @@
|
||||
<div class="card-body">
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-building text-muted me-2"></i>
|
||||
<i class="bi-building text-muted me-2"></i>
|
||||
<strong>{% trans "Hospital:" %}</strong> {{ appreciation.hospital.name }}
|
||||
</li>
|
||||
{% if appreciation.department %}
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-sitemap text-muted me-2"></i>
|
||||
<i class="bi-diagram-3 text-muted me-2"></i>
|
||||
<strong>{% trans "Department:" %}</strong> {{ appreciation.department.name }}
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<i class="fas fa-id-badge text-muted me-2"></i>
|
||||
<i class="bi bi-card-badge text-muted me-2"></i>
|
||||
<strong>{% trans "ID:" %}</strong> #{{ appreciation.id }}
|
||||
</li>
|
||||
</ul>
|
||||
@ -172,15 +172,15 @@
|
||||
<div class="card-body">
|
||||
<div class="d-grid gap-2">
|
||||
<a href="{% url 'appreciation:appreciation_send' %}" class="btn btn-primary">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi-send me-2"></i>
|
||||
{% trans "Send Appreciation" %}
|
||||
</a>
|
||||
<a href="{% url 'appreciation:leaderboard_view' %}" class="btn btn-info">
|
||||
<i class="fas fa-trophy me-2"></i>
|
||||
<i class="bi-trophy me-2"></i>
|
||||
{% trans "View Leaderboard" %}
|
||||
</a>
|
||||
<a href="{% url 'appreciation:my_badges_view' %}" class="btn btn-warning">
|
||||
<i class="fas fa-award me-2"></i>
|
||||
<i class="bi-award me-2"></i>
|
||||
{% trans "My Badges" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<h2 class="h4 mb-0">
|
||||
<i class="fas fa-heart text-danger me-2"></i>
|
||||
<i class="bi bi-heart-fill text-danger me-2"></i>
|
||||
{% trans "Appreciation" %}
|
||||
</h2>
|
||||
<p class="text-muted mb-0 mt-2">
|
||||
@ -21,7 +21,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<a href="{% url 'appreciation:appreciation_send' %}" class="btn btn-primary">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi bi-send me-2"></i>
|
||||
{% trans "Send Appreciation" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -37,7 +37,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-primary bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-inbox text-primary fa-lg"></i>
|
||||
<i class="bi bi-inbox text-primary fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-muted mb-1">{% trans "Received" %}</h6>
|
||||
@ -52,7 +52,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-success bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-paper-plane text-success fa-lg"></i>
|
||||
<i class="bi bi-send text-success fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-muted mb-1">{% trans "Sent" %}</h6>
|
||||
@ -67,7 +67,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-warning bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-award text-warning fa-lg"></i>
|
||||
<i class="bi bi-award text-warning fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-muted mb-1">{% trans "Badges Earned" %}</h6>
|
||||
@ -82,12 +82,12 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-info bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-trophy text-info fa-lg"></i>
|
||||
<i class="bi bi-trophy text-info fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-muted mb-1">{% trans "Leaderboard" %}</h6>
|
||||
<a href="{% url 'appreciation:leaderboard_view' %}" class="btn btn-sm btn-outline-info">
|
||||
<i class="fas fa-arrow-right me-1"></i>
|
||||
<i class="bi bi-arrow-right me-1"></i>
|
||||
{% trans "View" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -105,7 +105,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-warning bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-trophy text-warning fa-lg"></i>
|
||||
<i class="bi bi-trophy text-warning fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0">{% trans "Leaderboard" %}</h6>
|
||||
@ -122,7 +122,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-primary bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-award text-primary fa-lg"></i>
|
||||
<i class="bi bi-award text-primary fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0">{% trans "My Badges" %}</h6>
|
||||
@ -139,7 +139,7 @@
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="bg-success bg-opacity-10 p-3 rounded-circle me-3">
|
||||
<i class="fas fa-paper-plane text-success fa-lg"></i>
|
||||
<i class="bi bi-send text-success fa-lg"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0">{% trans "Send Appreciation" %}</h6>
|
||||
@ -195,13 +195,13 @@
|
||||
<input type="text" class="form-control" id="search" name="search"
|
||||
value="{{ filters.search|default:'' }}" placeholder="{% trans 'Search messages...' %}">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="fas fa-search"></i>
|
||||
<i class="bi bi-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<a href="{% url 'appreciation:appreciation_list' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-redo me-2"></i>
|
||||
<i class="bi bi-arrow-clockwise me-2"></i>
|
||||
{% trans "Clear Filters" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -236,11 +236,11 @@
|
||||
</div>
|
||||
<p class="mb-2 text-muted">{{ appreciation.message_en|truncatewords:15 }}</p>
|
||||
<small class="text-muted">
|
||||
<i class="fas fa-clock me-1"></i>
|
||||
<i class="bi bi-clock me-1"></i>
|
||||
{{ appreciation.sent_at|date:"F j, Y, g:i A" }}
|
||||
{% if appreciation.department %}
|
||||
<span class="mx-2">•</span>
|
||||
<i class="fas fa-building me-1"></i>
|
||||
<i class="bi bi-building me-1"></i>
|
||||
{{ appreciation.department.name }}
|
||||
{% endif %}
|
||||
</small>
|
||||
@ -302,7 +302,7 @@
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-heart text-muted fa-4x mb-3"></i>
|
||||
<i class="bi bi-heart text-muted fa-4x mb-3"></i>
|
||||
<h4 class="text-muted">
|
||||
{% if current_tab == 'received' %}
|
||||
{% trans "No appreciations received yet" %}
|
||||
@ -314,7 +314,7 @@
|
||||
{% trans "Start sharing appreciation with your colleagues!" %}
|
||||
</p>
|
||||
<a href="{% url 'appreciation:appreciation_send' %}" class="btn btn-primary">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi bi-send me-2"></i>
|
||||
{% trans "Send Your First Appreciation" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h4 class="mb-0">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi-send me-2"></i>
|
||||
{% trans "Send Appreciation" %}
|
||||
</h4>
|
||||
</div>
|
||||
@ -145,11 +145,11 @@
|
||||
<!-- Submit Button -->
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
|
||||
<a href="{% url 'appreciation:appreciation_list' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-times me-2"></i>
|
||||
<i class="bi-x me-2"></i>
|
||||
{% trans "Cancel" %}
|
||||
</a>
|
||||
<button type="submit" class="btn btn-success">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi-send me-2"></i>
|
||||
{% trans "Send Appreciation" %}
|
||||
</button>
|
||||
</div>
|
||||
@ -164,30 +164,30 @@
|
||||
<div class="card shadow-sm mb-4">
|
||||
<div class="card-header bg-light">
|
||||
<h6 class="card-title mb-0">
|
||||
<i class="fas fa-lightbulb me-2"></i>
|
||||
<i class="bi-lightbulb me-2"></i>
|
||||
{% trans "Tips for Writing Appreciation" %}
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Be specific about what you appreciate" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Use the person's name when addressing them" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Mention the impact of their actions" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Be sincere and authentic" %}
|
||||
</li>
|
||||
<li>
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Keep it positive and uplifting" %}
|
||||
</li>
|
||||
</ul>
|
||||
@ -198,7 +198,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-light">
|
||||
<h6 class="card-title mb-0">
|
||||
<i class="fas fa-info-circle me-2"></i>
|
||||
<i class="bi-info-circle me-2"></i>
|
||||
{% trans "Visibility Levels" %}
|
||||
</h6>
|
||||
</div>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-warning text-dark">
|
||||
<h4 class="mb-0">
|
||||
<i class="fas fa-award me-2"></i>
|
||||
<i class="bi bi-trophy me-2"></i>
|
||||
{% if form.instance.pk %}{% trans "Edit Badge" %}{% else %}{% trans "Add Badge" %}{% endif %}
|
||||
</h4>
|
||||
</div>
|
||||
@ -146,11 +146,11 @@
|
||||
<!-- Buttons -->
|
||||
<div class="d-flex gap-2">
|
||||
<a href="{% url 'appreciation:badge_list' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-times me-2"></i>
|
||||
<i class="bi bi-x me-2"></i>
|
||||
{% trans "Cancel" %}
|
||||
</a>
|
||||
<button type="submit" class="btn btn-warning text-dark">
|
||||
<i class="fas fa-save me-2"></i>
|
||||
<i class="bi bi-save me-2"></i>
|
||||
{% if form.instance.pk %}{% trans "Update" %}{% else %}{% trans "Create" %}{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
@ -168,7 +168,7 @@
|
||||
</div>
|
||||
<div class="card-body text-center">
|
||||
<div class="badge-icon-wrapper mb-3">
|
||||
<i id="icon-preview" class="{{ form.icon.value|default:'fa-trophy' }} fa-4x text-warning"></i>
|
||||
<i id="icon-preview" class="{{ form.icon.value|default:'bi-trophy' }} fa-4x text-warning"></i>
|
||||
</div>
|
||||
<p id="name-preview" class="h5 mb-2">{{ form.name_en.value|default:'Badge Name' }}</p>
|
||||
<p class="small text-muted mb-0">
|
||||
@ -183,7 +183,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-light">
|
||||
<h6 class="card-title mb-0">
|
||||
<i class="fas fa-info-circle me-2"></i>
|
||||
<i class="bi bi-info-circle me-2"></i>
|
||||
{% trans "About Badge Criteria" %}
|
||||
</h6>
|
||||
</div>
|
||||
@ -225,7 +225,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
// Update icon preview
|
||||
iconInput.addEventListener('input', function() {
|
||||
const iconClass = this.value.trim() || 'fa-trophy';
|
||||
const iconClass = this.value.trim() || 'bi-trophy';
|
||||
iconPreview.className = iconClass + ' fa-4x text-warning';
|
||||
});
|
||||
|
||||
|
||||
@ -16,11 +16,11 @@
|
||||
<!-- Page Header -->
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h2>
|
||||
<i class="fas fa-award text-warning me-2"></i>
|
||||
<i class="bi-award text-warning me-2"></i>
|
||||
{% trans "Appreciation Badges" %}
|
||||
</h2>
|
||||
<a href="{% url 'appreciation:badge_create' %}" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi-plus me-2"></i>
|
||||
{% trans "Add Badge" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -66,10 +66,10 @@
|
||||
</ul>
|
||||
<div class="d-grid gap-2">
|
||||
<a href="{% url 'appreciation:badge_edit' badge.id %}" class="btn btn-sm btn-outline-primary">
|
||||
<i class="fas fa-edit me-2"></i>{% trans "Edit" %}
|
||||
<i class="bi-pencil me-2"></i>{% trans "Edit" %}
|
||||
</a>
|
||||
<a href="{% url 'appreciation:badge_delete' badge.id %}" class="btn btn-sm btn-outline-danger">
|
||||
<i class="fas fa-trash me-2"></i>{% trans "Delete" %}
|
||||
<i class="bi-trash me-2"></i>{% trans "Delete" %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -122,11 +122,11 @@
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-award fa-4x text-muted mb-3"></i>
|
||||
<i class="bi-award fa-4x text-muted mb-3"></i>
|
||||
<h4 class="text-muted">{% trans "No badges found" %}</h4>
|
||||
<p class="text-muted mb-3">{% trans "Create badges to motivate and recognize achievements" %}</p>
|
||||
<a href="{% url 'appreciation:badge_create' %}" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi-plus me-2"></i>
|
||||
{% trans "Add Badge" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h4 class="mb-0">
|
||||
<i class="fas fa-tag me-2"></i>
|
||||
<i class="bi bi-tag me-2"></i>
|
||||
{% if form.instance.pk %}{% trans "Edit Category" %}{% else %}{% trans "Add Category" %}{% endif %}
|
||||
</h4>
|
||||
</div>
|
||||
@ -129,11 +129,11 @@
|
||||
<!-- Buttons -->
|
||||
<div class="d-flex gap-2">
|
||||
<a href="{% url 'appreciation:category_list' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-times me-2"></i>
|
||||
<i class="bi bi-x me-2"></i>
|
||||
{% trans "Cancel" %}
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="fas fa-save me-2"></i>
|
||||
<i class="bi bi-save me-2"></i>
|
||||
{% if form.instance.pk %}{% trans "Update" %}{% else %}{% trans "Create" %}{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
@ -150,7 +150,7 @@
|
||||
<h6 class="card-title mb-0">{% trans "Icon Preview" %}</h6>
|
||||
</div>
|
||||
<div class="card-body text-center">
|
||||
<i id="icon-preview" class="{{ form.icon.value|default:'fa-heart' }} fa-4x text-primary mb-3"></i>
|
||||
<i id="icon-preview" class="{{ form.icon.value|default:'bi-heart' }} fa-4x text-primary mb-3"></i>
|
||||
<p id="name-preview" class="h5 mb-0">{{ form.name_en.value|default:'Category Name' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -159,26 +159,26 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-light">
|
||||
<h6 class="card-title mb-0">
|
||||
<i class="fas fa-lightbulb me-2"></i>
|
||||
<i class="bi bi-lightbulb me-2"></i>
|
||||
{% trans "Tips" %}
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-unstyled mb-0 small">
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi bi-check text-success me-2"></i>
|
||||
{% trans "Use descriptive names for categories" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi bi-check text-success me-2"></i>
|
||||
{% trans "Choose appropriate icons for each category" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi bi-check text-success me-2"></i>
|
||||
{% trans "Colors help users quickly identify categories" %}
|
||||
</li>
|
||||
<li>
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi bi-check text-success me-2"></i>
|
||||
{% trans "Deactivate unused categories instead of deleting" %}
|
||||
</li>
|
||||
</ul>
|
||||
@ -200,7 +200,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
// Update icon preview
|
||||
iconInput.addEventListener('input', function() {
|
||||
const iconClass = this.value.trim() || 'fa-heart';
|
||||
const iconClass = this.value.trim() || 'bi-heart';
|
||||
iconPreview.className = iconClass + ' fa-4x text-primary';
|
||||
});
|
||||
|
||||
|
||||
@ -16,11 +16,11 @@
|
||||
<!-- Page Header -->
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h2>
|
||||
<i class="fas fa-tags text-primary me-2"></i>
|
||||
<i class="bi bi-tags text-primary me-2"></i>
|
||||
{% trans "Appreciation Categories" %}
|
||||
</h2>
|
||||
<a href="{% url 'appreciation:category_create' %}" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi-plus me-2"></i>
|
||||
{% trans "Add Category" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -57,10 +57,10 @@
|
||||
<td>{{ category.appreciation_count }}</td>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'appreciation:category_edit' category.id %}" class="btn btn-sm btn-outline-primary">
|
||||
<i class="fas fa-edit"></i>
|
||||
<i class="bi-pencil"></i>
|
||||
</a>
|
||||
<a href="{% url 'appreciation:category_delete' category.id %}" class="btn btn-sm btn-outline-danger">
|
||||
<i class="fas fa-trash"></i>
|
||||
<i class="bi-trash"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@ -70,11 +70,11 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-tags fa-4x text-muted mb-3"></i>
|
||||
<i class="bi bi-tags fa-4x text-muted mb-3"></i>
|
||||
<h4 class="text-muted">{% trans "No categories found" %}</h4>
|
||||
<p class="text-muted mb-3">{% trans "Create categories to organize appreciations" %}</p>
|
||||
<a href="{% url 'appreciation:category_create' %}" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>
|
||||
<i class="bi-plus me-2"></i>
|
||||
{% trans "Add Category" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -16,12 +16,12 @@
|
||||
<!-- Page Header -->
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h2>
|
||||
<i class="fas fa-trophy text-warning me-2"></i>
|
||||
<i class="bi-trophy text-warning me-2"></i>
|
||||
{% trans "Appreciation Leaderboard" %}
|
||||
</h2>
|
||||
<div>
|
||||
<a href="{% url 'appreciation:appreciation_send' %}" class="btn btn-primary">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi-send me-2"></i>
|
||||
{% trans "Send Appreciation" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -71,11 +71,11 @@
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="fas fa-filter me-2"></i>
|
||||
<i class="bi-funnel me-2"></i>
|
||||
{% trans "Apply Filters" %}
|
||||
</button>
|
||||
<a href="{% url 'appreciation:leaderboard_view' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-redo me-2"></i>
|
||||
<i class="bi-arrow-clockwise me-2"></i>
|
||||
{% trans "Reset" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -106,7 +106,7 @@
|
||||
<td>
|
||||
{% if forloop.counter <= 3 %}
|
||||
<span class="badge bg-{% if forloop.counter == 1 %}warning{% elif forloop.counter == 2 %}secondary{% else %}info{% endif %} fs-6">
|
||||
{% if forloop.counter == 1 %}<i class="fas fa-crown me-1"></i>{% endif %}
|
||||
{% if forloop.counter == 1 %}<i class="bi bi-trophy me-1"></i>{% endif %}
|
||||
#{{ forloop.counter }}
|
||||
</span>
|
||||
{% else %}
|
||||
@ -114,7 +114,7 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<i class="fas fa-user text-primary me-2"></i>
|
||||
<i class="bi-person text-primary me-2"></i>
|
||||
{{ item.get_recipient_name }}
|
||||
</td>
|
||||
<td>{{ item.hospital.name }}</td>
|
||||
@ -190,7 +190,7 @@
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-trophy fa-4x text-muted mb-3"></i>
|
||||
<i class="bi-trophy fa-4x text-muted mb-3"></i>
|
||||
<h4 class="text-muted">{% trans "No appreciations found for this period" %}</h4>
|
||||
<p class="text-muted">{% trans "Try changing the filters or select a different time period" %}</p>
|
||||
</div>
|
||||
@ -203,7 +203,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-paper-plane fa-3x text-primary mb-3"></i>
|
||||
<i class="bi-send fa-3x text-primary mb-3"></i>
|
||||
<h5>{% trans "Send Appreciation" %}</h5>
|
||||
<p class="text-muted mb-3">{% trans "Share your appreciation with colleagues" %}</p>
|
||||
<a href="{% url 'appreciation:appreciation_send' %}" class="btn btn-primary">
|
||||
@ -215,7 +215,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-award fa-3x text-warning mb-3"></i>
|
||||
<i class="bi-award fa-3x text-warning mb-3"></i>
|
||||
<h5>{% trans "View Badges" %}</h5>
|
||||
<p class="text-muted mb-3">{% trans "See your earned badges" %}</p>
|
||||
<a href="{% url 'appreciation:my_badges_view' %}" class="btn btn-warning">
|
||||
@ -227,7 +227,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-list fa-3x text-info mb-3"></i>
|
||||
<i class="bi-list fa-3x text-info mb-3"></i>
|
||||
<h5>{% trans "All Appreciations" %}</h5>
|
||||
<p class="text-muted mb-3">{% trans "View your appreciations" %}</p>
|
||||
<a href="{% url 'appreciation:appreciation_list' %}" class="btn btn-info">
|
||||
|
||||
@ -16,12 +16,12 @@
|
||||
<!-- Page Header -->
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h2>
|
||||
<i class="fas fa-award text-warning me-2"></i>
|
||||
<i class="bi bi-award text-warning me-2"></i>
|
||||
{% trans "My Badges" %}
|
||||
</h2>
|
||||
<div>
|
||||
<a href="{% url 'appreciation:appreciation_send' %}" class="btn btn-primary">
|
||||
<i class="fas fa-paper-plane me-2"></i>
|
||||
<i class="bi bi-send me-2"></i>
|
||||
{% trans "Send Appreciation" %}
|
||||
</a>
|
||||
</div>
|
||||
@ -32,7 +32,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm border-primary">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-heart fa-2x text-danger mb-2"></i>
|
||||
<i class="bi bi-heart fa-2x text-danger mb-2"></i>
|
||||
<h3 class="mb-0">{{ total_received }}</h3>
|
||||
<p class="text-muted mb-0">{% trans "Total Appreciations Received" %}</p>
|
||||
</div>
|
||||
@ -41,7 +41,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm border-warning">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-award fa-2x text-warning mb-2"></i>
|
||||
<i class="bi bi-award fa-2x text-warning mb-2"></i>
|
||||
<h3 class="mb-0">{{ badges|length }}</h3>
|
||||
<p class="text-muted mb-0">{% trans "Badges Earned" %}</p>
|
||||
</div>
|
||||
@ -50,7 +50,7 @@
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm border-info">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-trophy fa-2x text-info mb-2"></i>
|
||||
<i class="bi bi-trophy fa-2x text-info mb-2"></i>
|
||||
<h3 class="mb-0">{{ badge_progress|length }}</h3>
|
||||
<p class="text-muted mb-0">{% trans "Available Badges" %}</p>
|
||||
</div>
|
||||
@ -64,7 +64,7 @@
|
||||
<div class="card shadow-sm mb-4">
|
||||
<div class="card-header bg-warning text-white">
|
||||
<h5 class="card-title mb-0">
|
||||
<i class="fas fa-medal me-2"></i>
|
||||
<i class="bi bi-award me-2"></i>
|
||||
{% trans "Earned Badges" %}
|
||||
</h5>
|
||||
</div>
|
||||
@ -83,7 +83,7 @@
|
||||
{{ user_badge.badge.description_en|truncatewords:10 }}
|
||||
</p>
|
||||
<small class="text-muted">
|
||||
<i class="fas fa-calendar-alt me-1"></i>
|
||||
<i class="bi bi-calendar me-1"></i>
|
||||
{% trans "Earned on" %} {{ user_badge.earned_at|date:"F j, Y" }}
|
||||
</small>
|
||||
</div>
|
||||
@ -136,7 +136,7 @@
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-award fa-4x text-muted mb-3"></i>
|
||||
<i class="bi bi-award fa-4x text-muted mb-3"></i>
|
||||
<h4 class="text-muted">{% trans "No badges earned yet" %}</h4>
|
||||
<p class="text-muted">
|
||||
{% trans "Start receiving appreciations to earn badges!" %}
|
||||
@ -152,7 +152,7 @@
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-light">
|
||||
<h6 class="card-title mb-0">
|
||||
<i class="fas fa-chart-line me-2"></i>
|
||||
<i class="bi bi-graph-up me-2"></i>
|
||||
{% trans "Badge Progress" %}
|
||||
</h6>
|
||||
</div>
|
||||
@ -189,7 +189,7 @@
|
||||
</div>
|
||||
{% empty %}
|
||||
<div class="text-center py-3">
|
||||
<i class="fas fa-trophy fa-2x text-muted mb-2"></i>
|
||||
<i class="bi bi-trophy fa-2x text-muted mb-2"></i>
|
||||
<p class="text-muted mb-0">{% trans "No badges available" %}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
@ -200,30 +200,30 @@
|
||||
<div class="card shadow-sm mt-3">
|
||||
<div class="card-header bg-light">
|
||||
<h6 class="card-title mb-0">
|
||||
<i class="fas fa-lightbulb me-2"></i>
|
||||
<i class="bi bi-lightbulb me-2"></i>
|
||||
{% trans "How to Earn Badges" %}
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-unstyled mb-0 small">
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi bi-check text-success me-2"></i>
|
||||
{% trans "Receive appreciations from colleagues" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi bi-check text-success me-2"></i>
|
||||
{% trans "Consistently provide excellent service" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Be a team player" %}
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Show leadership qualities" %}
|
||||
</li>
|
||||
<li>
|
||||
<i class="fas fa-check text-success me-2"></i>
|
||||
<i class="bi-check text-success me-2"></i>
|
||||
{% trans "Demonstrate innovation" %}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -34,11 +34,11 @@
|
||||
<div class="h5 mb-0 font-weight-bold">{{ dashboard_summary.status_counts.total }}</div>
|
||||
<small class="text-muted">
|
||||
{% if dashboard_summary.trend.percentage_change > 0 %}
|
||||
<i class="fas fa-arrow-up text-danger"></i> +{{ dashboard_summary.trend.percentage_change }}%
|
||||
<i class="bi-arrow-up text-danger"></i> +{{ dashboard_summary.trend.percentage_change }}%
|
||||
{% elif dashboard_summary.trend.percentage_change < 0 %}
|
||||
<i class="fas fa-arrow-down text-success"></i> {{ dashboard_summary.trend.percentage_change }}%
|
||||
<i class="bi-arrow-down text-success"></i> {{ dashboard_summary.trend.percentage_change }}%
|
||||
{% else %}
|
||||
<i class="fas fa-minus text-muted"></i> 0%
|
||||
<i class="bi-dash text-muted"></i> 0%
|
||||
{% endif %}
|
||||
{% trans "vs last period" %}
|
||||
</small>
|
||||
@ -199,7 +199,7 @@
|
||||
<td>{{ complaint.assigned_to.get_full_name|default:"Unassigned" }}</td>
|
||||
<td>
|
||||
<a href="{% url 'complaints:complaint_detail' complaint.id %}" class="btn btn-sm btn-primary">
|
||||
<i class="fas fa-eye"></i>
|
||||
<i class="bi-eye"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user