[UPDT] EMPLOYEE: Updated employee profile tab adding modal view for records in work type and shift

This commit is contained in:
Horilla
2024-02-29 12:35:51 +05:30
parent 62588fbb44
commit 3803de1f71
12 changed files with 135 additions and 92 deletions

View File

@@ -72,7 +72,7 @@
</div>
<div class="oh-sticky-table__tbody">
{% for rshift in rshift_request_list.list %}
<div class="oh-sticky-table__tr" draggable="true" hx-get="{% url "rshift-individual-view" rshift.id %}?instances_ids={{assign_ids}}" hx-target="#rotatingShiftAssignDetail" data-toggle="oh-modal-toggle" data-target="#rotating-shift-detail-modal-detail-modal">
<div class="oh-sticky-table__tr" draggable="true" hx-get="{% url "rshift-individual-view" rshift.id %}?instances_ids={{assign_ids}}" hx-target="#rotatingShiftAssignDetail" data-toggle="oh-modal-toggle" data-target="#rotatingShiftAssignDetailModal">
<div class="oh-sticky-table__sd" onclick="event.stopPropagation();">
<div class="centered-div">
<input

View File

@@ -1,4 +1,16 @@
{% load i18n %}
<div class="oh-modal__dialog-header">
<h2
class="oh-modal__dialog-title"
id=""
>
{% trans "Details" %}
</h2>
<button class="oh-modal__close" aria-label="Close" >
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<div class="oh-modal__dialog-body oh-modal__dialog-relative" >
{% if request.GET.instances_ids %}
<div class="oh-modal__dialog oh-modal__dialog--navigation m-0 p-0">
<button hx-get="{% url 'rshift-individual-view' previous %}?instances_ids={{assign_ids}}" hx-target = "#rotatingShiftAssignDetail" class="oh-modal__diaglog-nav oh-modal__nav-prev">
@@ -12,7 +24,6 @@
</button>
</div>
{% endif %}
</div>
<a class="oh-timeoff-modal__profile-content" style="text-decoration:none;"
href ="{% url 'employee-view-individual' instance.employee_id.id %}">
@@ -42,12 +53,12 @@
<div class="oh-timeoff-modal__stats-container">
<div class="oh-timeoff-modal__stat" >
<span class="oh-timeoff-modal__stat-title">{% trans "Title" %}</span>
<span class="oh-timeoff-modal__stat-count">{{instance.get_based_on_display}}</span>
<span class="oh-timeoff-modal__stat-count">{{instance.rotating_shift_id}}</span>
</div>
<div class="oh-timeoff-modal__stat" >
<span class="oh-timeoff-modal__stat-title">{% trans "Based On" %}</span>
<span class="oh-timeoff-modal__stat-count">
{{instance.based_on}}
{{instance.get_based_on_display}}
</span>
</div>
</div>
@@ -110,7 +121,7 @@
<a class="oh-btn oh-btn--info" hx-get="{% url "rotating-shift-assign-update" instance.id %}" hx-target="#rotatingShiftAssignUpdateModalBody" data-toggle="oh-modal-toggle" data-target="#rotating-shift-update-modal" style="width: 50%;">
<ion-icon name="create-outline">
</ion-icon>Edit
</ion-icon>{% trans "Edit" %}
</a>
<form class="oh-btn oh-btn--primary" style="width: 50%;" onsubmit="return confirm('Do you Want to archive this rotating Shift assign?')" action="{% url "rotating-shift-assign-archive" instance.id %}">
<input type="hidden" name="is_active" value="False" id="">
@@ -124,9 +135,9 @@
<ion-icon name="archive-outline">
</ion-icon>
{% if instance.is_active %}
Archive
{% trans "Archive" %}
{% else %}
Un-archive
{% trans "Un-archive" %}
{% endif %}
</button>
</form>
@@ -140,9 +151,10 @@
cursor: pointer;
outline: inherit;">
<ion-icon name="trash-outline">
</ion-icon>Delete
</ion-icon>{% trans "Delete" %}
</button>
</form>
</div>
</div>
</div>
</div>

View File

@@ -51,28 +51,12 @@
<div
class="oh-modal" style="z-index: 60;"
id="rotating-shift-detail-modal-detail-modal"
id="rotatingShiftAssignDetailModal"
role="dialog"
aria-labelledby="rotating-shift-detail-modal"
aria-hidden="true"
>
<div class="oh-modal__dialog">
<div class="oh-modal__dialog-header">
<h2
class="oh-modal__dialog-title"
id=""
>
{% trans "Details" %}
</h2>
<button class="oh-modal__close" aria-label="Close" >
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<div
class="oh-modal__dialog-body oh-modal__dialog-relative"
id="rotatingShiftAssignDetail"
></div>
</div>
<div class="oh-modal__dialog" id="rotatingShiftAssignDetail"></div>
</div>
<div class="oh-checkpoint-badge mb-2" id="selectedRShifts" data-ids="[]" data-clicked="" style="display:none;" >
{% trans "Selected Shifts" %}

View File

@@ -73,7 +73,7 @@
</div>
<div class="oh-sticky-table__tbody">
{% for rshift in rshift_assign %}
<div class="oh-sticky-table__tr" draggable="true" hx-get="{% url "rshift-individual-view" rshift.id %}?instances_ids={{assign_ids}}" hx-target="#rotatingShiftAssignDetail" data-toggle="oh-modal-toggle" data-target="#rotating-shift-detail-modal-detail-modal">
<div class="oh-sticky-table__tr" draggable="true" hx-get="{% url "rshift-individual-view" rshift.id %}?instances_ids={{assign_ids}}" hx-target="#rotatingShiftAssignDetail" data-toggle="oh-modal-toggle" data-target="#rotatingShiftAssignDetailModal">
<div class="oh-sticky-table__sd" onclick="event.stopPropagation();">
<div class="centered-div">
<input

View File

@@ -71,7 +71,7 @@ style="cursor: pointer; display: none"
</div>
<div class="oh-sticky-table__tbody">
{% for rwork_type in rwork_type_list.list %}
<div class="oh-sticky-table__tr" hx-get="{% url "rwork-individual-view" rwork_type.id %}?instances_ids={{assign_ids}}" data-toggle="oh-modal-toggle" data-target="#rotating-work-type-detail-modal" hx-target="#rotatingWorkTypeAssignDetail" draggable="true">
<div class="oh-sticky-table__tr" hx-get="{% url "rwork-individual-view" rwork_type.id %}?instances_ids={{assign_ids}}" data-toggle="oh-modal-toggle" data-target="#rotatingWorkTypeDetailModal" hx-target="#rotatingWorkTypeAssignDetail" draggable="true">
<div class="oh-sticky-table__sd" onclick="event.stopPropagation();">
<div class="centered-div">
<input

View File

@@ -1,4 +1,16 @@
{% load i18n %}
<div class="oh-modal__dialog-header">
<span
class="oh-modal__dialog-title"
id="rotatingWorkTypeDetailModalLabel"
>
{% trans "Details" %}
</span>
<button class="oh-modal__close" aria-label="Close">
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<div class="oh-modal__dialog-body oh-modal__dialog-relative">
{% if request.GET.instances_ids %}
<div class="oh-modal__dialog oh-modal__dialog--navigation m-0 p-0">
<button hx-get="{% url 'rwork-individual-view' previous %}?instances_ids={{assign_ids}}" hx-target = "#rotatingWorkTypeAssignDetail" class="oh-modal__diaglog-nav oh-modal__nav-prev">
@@ -122,9 +134,9 @@
<ion-icon name="archive-outline">
</ion-icon>
{% if instance.is_active %}
Archive
{% trans "Archive" %}
{% else %}
Un-archive
{% trans "Un-archive" %}
{% endif %}
</button>
</form>
@@ -138,9 +150,10 @@
cursor: pointer;
outline: inherit;">
<ion-icon name="trash-outline">
</ion-icon>Delete
</ion-icon>{% trans "Delete" %}
</button>
</form>
</div>
</div>
</div>
</div>

View File

@@ -64,28 +64,12 @@
<div
class="oh-modal" style="z-index: 60;"
id="rotating-work-type-detail-modal"
id="rotatingWorkTypeDetailModal"
role="dialog"
aria-labelledby="rotating-work-type-detail-modal"
aria-labelledby="rotatingWorkTypeDetailModal"
aria-hidden="true"
>
<div class="oh-modal__dialog">
<div class="oh-modal__dialog-header">
<h2
class="oh-modal__dialog-title"
id=""
>
{% trans "Details" %}
</h2>
<button class="oh-modal__close" aria-label="Close">
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<div
class="oh-modal__dialog-body oh-modal__dialog-relative"
id="rotatingWorkTypeAssignDetail"
></div>
</div>
>
<div class="oh-modal__dialog" id="rotatingWorkTypeAssignDetail"> </div>
</div>
<script src="{% static 'basedOn.js' %}"></script>

View File

@@ -71,7 +71,7 @@
</div>
<div class="oh-sticky-table__tbody">
{% for rwork_type in rwork_type_assign %}
<div class="oh-sticky-table__tr" hx-get="{% url "rwork-individual-view" rwork_type.id %}?instances_ids={{assign_ids}}" data-toggle="oh-modal-toggle" data-target="#rotating-work-type-detail-modal" hx-target="#rotatingWorkTypeAssignDetail" draggable="true">
<div class="oh-sticky-table__tr" hx-get="{% url "rwork-individual-view" rwork_type.id %}?instances_ids={{assign_ids}}" data-toggle="oh-modal-toggle" data-target="#rotatingWorkTypeDetailModal" hx-target="#rotatingWorkTypeAssignDetail" draggable="true">
<div class="oh-sticky-table__sd" onclick="event.stopPropagation();">
<div class="centered-div">
<input

View File

@@ -64,7 +64,11 @@
</div>
{% for attendance in requests %}
<div class="oh-sticky-table__tbody">
<div class="oh-sticky-table__tr" draggable="true">
<div class="oh-sticky-table__tr" draggable="false"
hx-get="{% url 'user-request-one-view' attendance.id %}?instances_ids={{attendances_ids}}"
data-toggle="oh-modal-toggle" data-target="#detailAttendance"
hx-target="#detailAttendanceModalBody"
>
<div
class="oh-sticky-table__sd {% if attendance.attendance_validated %}row-status--yellow {% else %}row-status--purple{% endif %}"
>
@@ -115,7 +119,7 @@
{{attendance.attendance_overtime}}
</div>
{% if request.user|is_reportingmanager or perms.attendance.change_attendance %}
<div class="oh-sticky-table__td oh-sticky-table__right">
<div class="oh-sticky-table__td oh-sticky-table__right" onclick="event.stopPropagation();">
<div class="oh-btn-group">
<a
data-toggle="oh-modal-toggle"
@@ -193,7 +197,7 @@
<div class="oh-sticky-table__td">{{ot.worked_hours}}</div>
<div class="oh-sticky-table__td">{{ot.overtime}}</div>
{% if perms.recruitment.change_attendanceovertime or perms.recruitment.delete_attendanceovertime %}
<div class="oh-sticky-table__td">
<div class="oh-sticky-table__td" onclick="event.stopPropagation();">
<div class="oh-btn-group">
{% if perms.recruitment.change_attendanceovertime %}
<a hx-get="{% url 'attendance-overtime-update' ot.id %}" hx-target='#validateAttendanceRequestModalBody' data-toggle='oh-modal-toggle' data-target='#validateAttendanceRequest' class="oh-btn oh-btn--light-bkg w-50" title="{% trans 'Edit' %}"><ion-icon name="create-outline"></ion-icon></a>
@@ -250,7 +254,11 @@
{% for attendance in validate_attendances %}
<div class="oh-sticky-table__tbody">
<div class="oh-sticky-table__tr"
draggable="false">
draggable="false"
data-toggle="oh-modal-toggle"
data-target="#detailAttendance"
hx-target="#detailAttendanceModalBody"
hx-get="{% url 'user-request-one-view' attendance.id %}?validate=true&instances_ids={{validate_attendances_ids}}">
<div class="oh-sticky-table__sd">
<div class="d-flex">
@@ -300,7 +308,7 @@
<div class="oh-sticky-table__td">
{{attendance.attendance_overtime}}
</div>
<div class="oh-sticky-table__td">
<div class="oh-sticky-table__td" onclick="event.stopPropagation();">
<div class="oh-btn-group">
{% if perms.attendance.change_attendance or request.user|is_reportingmanager %}
<a hx-get="{% url 'attendance-update' attendance.id %}" hx-target='#updateAttendanceRequestModalBody' hx-swap='innerHTML' data-toggle='oh-modal-toggle' data-target='#updateAttendanceRequest' class="oh-btn oh-btn--light-bkg w-50" title="{% trans 'Edit' %}"><ion-icon name="create-outline"></ion-icon></a>
@@ -313,7 +321,7 @@
{% endif %}
</div>
</div>
<div class="oh-sticky-table__td">
<div class="oh-sticky-table__td" onclick="event.stopPropagation();">
{% if request.user|is_reportingmanager or perms.attendance.change_attendance %}
<a
href = '{% url "validate-this-attendance" attendance.id %}'
@@ -332,6 +340,41 @@
</div>
</div>
</div>
<div
class="oh-modal"
id="detailAttendance"
role="dialog"
aria-labelledby="detailAttendance"
aria-hidden="true"
>
<div class="oh-modal__dialog w-25" id="detailAttendanceModalBody"></div>
</div>
<div
class="oh-modal"
id="updateAttendanceModal"
role="dialog"
aria-labelledby="updateAttendanceModal"
aria-hidden="true"
>
<div class="oh-modal__dialog">
<div class="oh-modal__dialog-header">
<h2 class="oh-modal__dialog-title" id="updateAttendanceModalLabel">
{% trans "Edit Attendance" %}
</h2>
<button
class="oh-modal__close--custom"
onclick="$(this).parents().closest('.oh-modal--show').toggleClass('oh-modal--show')"
aria-label="Close"
>
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<div id="updateAttendanceModalBody" class="p-4"></div>
</div>
</div>
<div
class="oh-modal"
id="validateAttendanceRequest"
@@ -376,7 +419,7 @@
</div>
<div
class="oh-modal__dialog-body"
id="updateAttendanceOTModalBody"
id="editValidateAttendanceRequestModalBody"
></div>
</div>
</div>

View File

@@ -209,9 +209,9 @@
<div
class="oh-sticky-table__tr"
data-toggle="oh-modal-toggle"
data-target="#tableTimeOff"
data-target="#userRequestDetailModal"
hx-get="{% url 'user-request-one' leave_request.id %}?instances_ids={{leave_request_ids}}"
hx-target="#userRequestView"
hx-target="#userRequestDetailTarget"
>
<div class="oh-sticky-table__sd
{% if leave_request.status == "requested" %}row-status--orange
@@ -331,22 +331,12 @@
{% endif %}
<div
class="oh-modal"
id="tableTimeOff"
id="userRequestDetailModal"
role="dialog"
aria-labelledby="tableTimeOffModal"
aria-labelledby="userRequestDetailModalLabel"
aria-hidden="true"
>
<div
class="oh-modal__dialog oh-modal__dialog--timeoff oh-modal__dialog-relative oh-timeoff-modal"
>
<div class="oh-modal__dialog-header">
<button class="oh-modal__close" aria-label="Close">
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<div id="userRequestView"></div>
</div>
<div class="oh-modal__dialog w-25" id="userRequestDetailTarget"></div>
</div>
<div
class="oh-modal"

View File

@@ -8,16 +8,15 @@
<div class="oh-sticky-table__th">{% trans "Asset" %}</div>
<div class="oh-sticky-table__th">{% trans "Status" %}</div>
<div class="oh-sticky-table__th">{% trans "Assigned Date" %}</div>
<div class="oh-sticky-table__th">
<a class="link-danger oh-btn oh-btn--secondary-outline w-25 float-end" role="button" data-toggle="oh-modal-toggle"
<div class="oh-sticky-table__th" style="width: 10px;">
<a class="link-danger oh-btn oh-btn--secondary-outline" role="button" data-toggle="oh-modal-toggle"
data-target="#asset-request-allocation-modal" hx-get="{% url 'asset-request-creation' %}" hx-target="#asset-request-allocation-modal-target" title='{% trans "Create asset request" %}'>
<ion-icon name="add-outline" role="img" class="md hydrated" aria-label="add outline"></ion-icon>
</a>
</a>
</div>
</div>
</div>
<div class="oh-sticky-table__tbody">
{% for asset in assets %}
{% if asset.asset_id.asset_status == "In use" %}
<!-- asset request looping -->
@@ -44,12 +43,22 @@
{{asset.assigned_date}}
</span>
</div>
<div class="oh-sticky-table__td"></div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
<div
class="oh-modal"
id="detailAssetAssignModal"
role="dialog"
aria-labelledby="detailAssetAssignModalLabel"
aria-hidden="true"
>
<div class="oh-modal__dialog" id="detailAssetAssignModalBody"></div>
</div>
{% else %}
<div class="d-flex justify-content-center align-items-center" style="height:40vh">
<h5 class="oh-404__subtitle">{% trans "No assets have been allocated." %}</h5>
@@ -58,18 +67,14 @@
<!-- End of Sticky Table -->
<div class="oh-modal" id="asset-request-allocation-modal" role="dialog" aria-labelledby="AssetRequestModal" aria-hidden="true">
<div class="oh-modal__dialog " style="max-width:550px">
<div class="oh-modal__dialog-header">
<button type="button" class="oh-modal__close" aria-label="Close">
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<!-- htmx form -->
<div class="oh-modal__dialog-body" id="asset-request-allocation-modal-target">
</div>
<div class="oh-modal__dialog " style="max-width:550px">
<div class="oh-modal__dialog-header">
<button type="button" class="oh-modal__close" aria-label="Close">
<ion-icon name="close-outline"></ion-icon>
</button>
</div>
<!-- htmx form -->
<div class="oh-modal__dialog-body" id="asset-request-allocation-modal-target"></div>
</div>
</div>

View File

@@ -20,8 +20,11 @@
</div>
<div class="oh-sticky-table__tbody">
{% for attendance in attendances %}
<div class="oh-sticky-table__tr" data-toggle="oh-modal-toggle"
data-target="#addAttendance" draggable="false">
<div class="oh-sticky-table__tr" draggable="false"
data-toggle="oh-modal-toggle"
data-target="#detailAttendance"
hx-target="#detailAttendanceModalBody"
hx-get="{% url 'user-request-one-view' attendance.id %}?my_attendance=true&instances_ids={{attendances_ids}}">
<div class="oh-sticky-table__sd">
<div class="oh-profile oh-profile--md">
<div class="oh-profile__avatar mr-1">
@@ -73,6 +76,15 @@
</div>
</div>
</div>
<div
class="oh-modal"
id="detailAttendance"
role="dialog"
aria-labelledby="detailAttendance"
aria-hidden="true"
>
<div class="oh-modal__dialog" id="detailAttendanceModalBody"></div>
</div>
{% else %}
<div class="d-flex justify-content-center align-items-center" style="height:40vh">
<h5 class="oh-404__subtitle">{% trans "No attendance requests have been generated." %}</h5>