[RMV] Unwanted files
This commit is contained in:
@@ -1,328 +0,0 @@
|
||||
{% extends 'index.html' %} {% block content %} {% load static %} {% load i18n %}
|
||||
{% if messages %}
|
||||
<div class="oh-wrapper">
|
||||
{% for message in messages %}
|
||||
<div class="oh-alert-container">
|
||||
<div class="oh-alert oh-alert--animated {{ message.tags }}">
|
||||
{{ message }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div
|
||||
class="oh-modal"
|
||||
id="assignLeaveTypeImport"
|
||||
role="dialog"
|
||||
aria-labelledby="assignLeaveTypeImport"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<div class="oh-modal__dialog">
|
||||
<div class="oh-modal__dialog-header">
|
||||
<h2 class="oh-modal__dialog-title" id="assignLeaveTypeImportLavel">
|
||||
{% trans "Import Assigned Leaves" %}
|
||||
</h2>
|
||||
<button class="oh-modal__close" aria-label="Close">
|
||||
<ion-icon name="close-outline"></ion-icon>
|
||||
</button>
|
||||
<div
|
||||
class="oh-modal__dialog-body p-0 pt-2"
|
||||
id="assignLeaveTypeImportModalBody"
|
||||
>
|
||||
<form
|
||||
action="{%url 'assign-leave-type-info-import' %}"
|
||||
enctype="multipart/form-data"
|
||||
method="post"
|
||||
id="assignLeaveTypeImportForm"
|
||||
>
|
||||
{% csrf_token %}
|
||||
<div
|
||||
class="oh-modal__dialog-body mr-5"
|
||||
id="uploading"
|
||||
style="display: none"
|
||||
>
|
||||
<div class="loader-container">
|
||||
<div class="loader"></div>
|
||||
<div class="loader-text">{% trans "Uploading..." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="uploadContainer">
|
||||
<label class="oh-dropdown__import-label" for="uploadFile">
|
||||
<ion-icon
|
||||
name="cloud-upload"
|
||||
class="oh-dropdown__import-form-icon"
|
||||
></ion-icon>
|
||||
<span class="oh-dropdown__import-form-title"
|
||||
>{% trans "Upload a File" %}</span
|
||||
>
|
||||
<span class="oh-dropdown__import-form-text"
|
||||
>{% trans "Drag and drop files here" %}</span
|
||||
>
|
||||
</label>
|
||||
<input type="file" name="assign_leave_type_import" id="" required />
|
||||
</div>
|
||||
<button
|
||||
type="submit"
|
||||
class="oh-btn oh-btn--small oh-btn--secondary w-100 mt-3"
|
||||
>
|
||||
{% trans "Upload" %}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="oh-modal"
|
||||
id="assignedLeavesExport"
|
||||
role="dialog"
|
||||
aria-labelledby="assignedLeavesExport"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<div class="oh-modal__dialog">
|
||||
<div class="oh-modal__dialog-header">
|
||||
<h2 class="oh-modal__dialog-title" id="assignedLeavesExportLavel">
|
||||
{% trans "Export Assigned Leaves" %}
|
||||
</h2>
|
||||
<button class="oh-modal__close" aria-label="Close">
|
||||
<ion-icon name="close-outline"></ion-icon>
|
||||
</button>
|
||||
<div
|
||||
class="oh-modal__dialog-body p-0 pt-2"
|
||||
id="assignedLeavesExportModalBody"
|
||||
>
|
||||
<form
|
||||
action="{%url 'assigned-leaves-info-export' %}"
|
||||
method="get"
|
||||
onsubmit="event.stopPropagation();$(this).parents().find('.oh-modal--show').last().toggleClass('oh-modal--show');"
|
||||
id="assignedLeavesExportForm"
|
||||
>
|
||||
{% csrf_token %}
|
||||
{% include "leave/leave_assign/assigned_leaves_export_filter.html" %}
|
||||
<div class="oh-dropdown__filter-footer">
|
||||
<button class="oh-btn oh-btn--secondary oh-btn--small w-100">
|
||||
{% trans "Export" %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="oh-wrapper oh-main__topbar" x-data="{searchShow: false}">
|
||||
<div class="oh-main__titlebar oh-main__titlebar--left">
|
||||
<h1 class="oh-main__titlebar-title fw-bold">
|
||||
{% trans "All Assigned Leaves" %}
|
||||
</h1>
|
||||
<a
|
||||
class="oh-main__titlebar-search-toggle"
|
||||
role="button"
|
||||
aria-label="Toggle Search"
|
||||
@click="searchShow = !searchShow"
|
||||
>
|
||||
<ion-icon
|
||||
name="search-outline"
|
||||
class="oh-main__titlebar-serach-icon"
|
||||
></ion-icon>
|
||||
</a>
|
||||
</div>
|
||||
<div class="oh-main__titlebar oh-main__titlebar--right">
|
||||
{% if available_leaves %}
|
||||
<div
|
||||
class="oh-input-group oh-input__search-group"
|
||||
:class="searchShow ? 'oh-input__search-group--show' : ''"
|
||||
>
|
||||
<ion-icon
|
||||
name="search-outline"
|
||||
class="oh-input-group__icon oh-input-group__icon--left"
|
||||
></ion-icon>
|
||||
<input
|
||||
type="text"
|
||||
class="oh-input oh-input__icon"
|
||||
aria-label="Search Input"
|
||||
placeholder="{% trans 'Search' %}"
|
||||
name="search"
|
||||
hx-get="{% url 'assign-filter' %}"
|
||||
hx-trigger="keyup"
|
||||
hx-target="#assignedLeaves"
|
||||
/>
|
||||
</div>
|
||||
<div class="oh-main__titlebar-button-container">
|
||||
<div class="oh-dropdown" x-data="{open: false}">
|
||||
<button class="oh-btn ml-2" @click="open = !open">
|
||||
<ion-icon name="filter" class="mr-1"></ion-icon>{% trans "Filter" %}
|
||||
<div id="filterCount"></div>
|
||||
</button>
|
||||
{% include "leave/leave_assign/assigned_leaves_filter.html" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="oh-dropdown ml-2" x-data="{open: false}">
|
||||
<button
|
||||
class="oh-btn oh-btn--dropdown"
|
||||
@click="open = !open"
|
||||
@click.outside="open = false"
|
||||
>
|
||||
{% trans "Actions" %}
|
||||
</button>
|
||||
<div
|
||||
class="oh-dropdown__menu oh-dropdown__menu--right"
|
||||
x-show="open"
|
||||
style="display: none"
|
||||
>
|
||||
<ul class="oh-dropdown__items">
|
||||
<li class="oh-dropdown__item">
|
||||
<a
|
||||
href="#"
|
||||
class="oh-dropdown__link"
|
||||
id="assign-leave-type-info-import"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#assignLeaveTypeImport"
|
||||
>{% trans "Import" %}</a
|
||||
>
|
||||
</li>
|
||||
{% if available_leaves %}
|
||||
<li class="oh-dropdown__item">
|
||||
<a
|
||||
href="#"
|
||||
class="oh-dropdown__link"
|
||||
id="assign-leave-type-export"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#assignedLeavesExport"
|
||||
>{% trans "Export" %}</a
|
||||
>
|
||||
</li>
|
||||
<li class="oh-dropdown__item">
|
||||
<a
|
||||
href="#"
|
||||
id="bulkAssignedLeavesDelete"
|
||||
class="oh-dropdown__link oh-dropdown__link--danger"
|
||||
>{% trans "Delete" %}</a
|
||||
>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-btn-group ml-2">
|
||||
<div class="oh-dropdown" x-data="{open: false}">
|
||||
<button
|
||||
class="oh-btn oh-btn--secondary oh-btn--shadow"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#editModal2"
|
||||
hx-get="{% url 'assign' %}"
|
||||
hx-target="#assignLeaveForm"
|
||||
>
|
||||
{% trans "Assign" %}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="oh-wrapper" id="assignedLeaves">
|
||||
{% if available_leaves %}
|
||||
{% include 'leave/leave_assign/assigned_leave.html'%}
|
||||
{% else %}
|
||||
<div
|
||||
style="
|
||||
height: 70vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
"
|
||||
class=""
|
||||
>
|
||||
<div style="" class="oh-404">
|
||||
<img
|
||||
style="display: block; width: 150px; height: 150px; margin: 10px auto"
|
||||
src="{% static 'images/ui/leave_types.png' %}"
|
||||
class="mb-4"
|
||||
alt=""
|
||||
/>
|
||||
<h3 style="font-size: 20px" class="oh-404__subtitle">
|
||||
{% trans "There are no leave assigned at the moment." %}
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- update available leave -->
|
||||
<div
|
||||
class="oh-modal"
|
||||
id="editModal1"
|
||||
role="dialog"
|
||||
aria-labelledby="editDialogModal"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<div class="oh-modal__dialog oh-modal__dialog--timeoff">
|
||||
<div class="oh-modal__dialog-header">
|
||||
<span class="oh-modal__dialog-title" id="editDialogDialog"
|
||||
>{% trans "Update Available Leave" %}</span
|
||||
>
|
||||
<button class="oh-modal__close" aria-label="Close">
|
||||
<ion-icon name="close-outline"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div id="leaveForm"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Assign leave -->
|
||||
<div
|
||||
class="oh-modal"
|
||||
id="editModal2"
|
||||
role="dialog"
|
||||
aria-labelledby="editDialogModal"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<div class="oh-modal__dialog oh-modal__dialog--timeoff">
|
||||
<div class="oh-modal__dialog-header">
|
||||
<span class="oh-modal__dialog-title" id="editDialogDialog"
|
||||
>{% trans "Assign Leave" %}</span
|
||||
>
|
||||
<button class="oh-modal__close" aria-label="Close">
|
||||
<ion-icon name="close-outline"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div id="assignLeaveForm"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).on('htmx:load', '#assignedLeaves', function () {
|
||||
// Create a new script element
|
||||
var scriptElement = document.createElement("script");
|
||||
// Set the source URL of the script file to be loaded
|
||||
scriptElement.src = "{% static 'build/js/web.frontend.min.js' %}";
|
||||
// Append the script element to the head of the HTML document
|
||||
document.head.appendChild(scriptElement);
|
||||
});
|
||||
|
||||
$(document).on('htmx:load', '#assignLeaveForm', function () {
|
||||
{% include 'select2.js' %}
|
||||
$('#leaveTypeAssign #id_leave_type_id').select2();
|
||||
$('#employeeAssign #id_employee_id').select2();
|
||||
});
|
||||
|
||||
$('#delete-link').on('click', function (event) {
|
||||
|
||||
event.preventDefault(); // prevent the default behavior of the link
|
||||
|
||||
const link = $(this);
|
||||
const confirmation = confirm("{% trans 'Are you sure you want to delete?' %}");
|
||||
|
||||
if (confirmation) {
|
||||
window.location.href = link.attr('href'); // execute the href if confirmed
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="{% static '/base/filter.js' %}"></script>
|
||||
<script src="{% static '/leave_assign/action.js' %}"></script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,55 +0,0 @@
|
||||
{% load i18n %}
|
||||
<div class="oh-dropdown__filter-body">
|
||||
<div class="oh-accordion">
|
||||
<div class="oh-accordion-header">{% trans "Excel columns" %}</div>
|
||||
<div class="oh-accordion-body">
|
||||
<div class="row">
|
||||
{% for field in export_column.selected_fields %}
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"> {{ field }} </label>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-accordion">
|
||||
<div class="oh-accordion-header">{% trans "Holiday" %}</div>
|
||||
<div class="oh-accordion-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label
|
||||
class="oh-label"
|
||||
for="{{ export_filter.form.from_date.id_for_label }}"
|
||||
>{% trans "From Date" %}</label
|
||||
>
|
||||
{{export_filter.form.from_date}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label
|
||||
class="oh-label"
|
||||
for="{{ export_filter.form.to_date.id_for_label }}"
|
||||
>{% trans "To Date" %}</label
|
||||
>
|
||||
{{export_filter.form.to_date}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12">
|
||||
<div class="oh-input-group">
|
||||
<label
|
||||
class="oh-label"
|
||||
for="{{ export_filter.form.recurring.id_for_label }}"
|
||||
>{% trans "Recurring" %}</label
|
||||
>
|
||||
{{export_filter.form.recurring}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,132 +0,0 @@
|
||||
{% load i18n %}
|
||||
<div class="oh-dropdown__filter-body">
|
||||
<div class="oh-accordion">
|
||||
<div class="oh-accordion-header">{% trans "Excel columns" %}</div>
|
||||
<div class="oh-accordion-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">
|
||||
<input type="checkbox" id="select-all-fields" /> {% trans "Select All" %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{% for field in export_column.selected_fields %}
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"> {{ field }} </label>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-accordion">
|
||||
<div class="oh-accordion-header">{% trans "Assigned Leave" %}</div>
|
||||
<div class="oh-accordion-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">{% trans "Employees" %}</label>
|
||||
{{export_filter.form.employee_id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">{% trans "Leave Type" %}</label>
|
||||
{{export_filter.form.leave_type_id}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">{% trans "Available Days" %}</label>
|
||||
{{export_filter.form.available_days}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">{% trans "Carryforward Days" %}</label>
|
||||
{{export_filter.form.carryforward_days}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">{% trans "Total Leave Days" %}</label>
|
||||
{{export_filter.form.total_leave_days}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label">{% trans "Assigned Date" %}</label>
|
||||
{{export_filter.form.assigned_date}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-accordion">
|
||||
<div class="oh-accordion-header">{% trans "Advanced" %}</div>
|
||||
<div class="oh-accordion-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"
|
||||
>{% trans "Available Days Greater or Equal" %}</label
|
||||
>
|
||||
{{export_filter.form.available_days__gte}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"
|
||||
>{% trans "Available Days Less Than or Equal" %}</label
|
||||
>
|
||||
{{export_filter.form.available_days__lte}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"
|
||||
>{% trans "Carryforward Days Greater or Equal" %}</label
|
||||
>
|
||||
{{export_filter.form.carryforward_days__gte}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"
|
||||
>{% trans "Carryforward Days Less Than or Equal" %}</label
|
||||
>
|
||||
{{export_filter.form.carryforward_days__lte}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"
|
||||
>{% trans "Total Leave Days Greater or Equal" %}</label
|
||||
>
|
||||
{{export_filter.form.total_leave_days__gte}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="oh-input-group">
|
||||
<label class="oh-label"
|
||||
>{% trans "Total Leave Days Less Than or Equal" %}</label
|
||||
>
|
||||
{{export_filter.form.total_leave_days__lte}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,23 +0,0 @@
|
||||
{% extends "index.html" %}{% block content %}{% load static %}{% load i18n %}
|
||||
<section class="oh-wrapper oh-main__topbar" x-data="{searchShow: false}">
|
||||
<div class="oh-main__titlebar oh-main__titlebar--left">
|
||||
<h1 class="oh-main__titlebar-title fw-bold">
|
||||
{% trans "Multiple Approval Condition" %}
|
||||
</h1>
|
||||
<a
|
||||
class="oh-main__titlebar-search-toggle"
|
||||
role="button"
|
||||
aria-label="Toggle Search"
|
||||
@click="searchShow = !searchShow"
|
||||
>
|
||||
<ion-icon
|
||||
name="search-outline"
|
||||
class="oh-main__titlebar-serach-icon"
|
||||
></ion-icon>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
<div class="oh-wrapper" id="multipleApproveCondition">
|
||||
{% include "leave/leave_request/penalty/create.html" %}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
@@ -1,49 +0,0 @@
|
||||
{% load widget_tweaks %}
|
||||
{% load i18n %}
|
||||
<style>
|
||||
.condition-highlight {
|
||||
background-color: #ffa5000f;
|
||||
}
|
||||
</style>
|
||||
<div class="oh-general__tab-target oh-profile-section" id="personal">
|
||||
{% if form.verbose_name %}
|
||||
<div class="oh-payslip__header">
|
||||
<div class="oh-payslip__header-left">
|
||||
<div class="oh-payroll__component-title">{{ form.verbose_name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="oh-profile-section__card">
|
||||
<div class="row">
|
||||
<div class="col-12">{{ form.non_field_errors }}</div>
|
||||
{% for field in form.visible_fields %}
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="oh-label__info" for="id_{{ field.name }}">
|
||||
<label class="oh-label {% if field.field.required %} required-star{% endif %}" for="id_{{ field.name }}">{% trans field.label %}</label>
|
||||
{% if field.help_text != '' %}
|
||||
<span class="oh-info mr-2" title="{{ field.help_text|safe }}"></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if field.field.widget.input_type == 'checkbox' %}
|
||||
<div class="oh-switch" style="width: 30px;">{{ field|add_class:'oh-switch__checkbox' }}</div>
|
||||
{% else %}
|
||||
{{ field|add_class:'form-control' }}
|
||||
{% endif %}
|
||||
{{ field.errors }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% for field in form.hidden_fields %}
|
||||
{{ field }}
|
||||
{% endfor %}
|
||||
|
||||
<div class="d-flex flex-row-reverse">
|
||||
<button type="submit" class="oh-btn oh-btn--secondary mt-2 mr-0 pl-4 pr-5 oh-btn--w-100-resp">{% trans 'Save' %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$("#personal").closest(".oh-modal--show").find("button[aria-label='Close']").attr("style","top: 33px; right: 20px; z-index:1");
|
||||
</script>
|
||||
@@ -1,16 +0,0 @@
|
||||
{% extends 'index.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div class="oh-wrapper">
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{{contract_form.as_p}}
|
||||
<button>{% trans "save" %}</button>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock content %}
|
||||
@@ -1,74 +0,0 @@
|
||||
{% extends 'index.html' %}
|
||||
{% load current_month_record %}
|
||||
{% block content %}
|
||||
|
||||
<style>
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
border: 1px solid black;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: lightgray;
|
||||
}
|
||||
|
||||
.oh-card {
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 5px;
|
||||
padding: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.oh-card h4 {
|
||||
color: #333;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="oh-wrapper">
|
||||
<div class="col-10">
|
||||
<div class="oh-card">
|
||||
<h4>{% trans "Date:" %} {{ current_date }}</h4>
|
||||
<h4>{% trans "Month:" %} {{ current_date|date:"F" }}</h4>
|
||||
</div>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Work Records" %}</th>
|
||||
{% for day in current_month_dates_list %}
|
||||
<th>{{ day.day }}</th>
|
||||
{% endfor %}
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for employee in employees %}
|
||||
<tr>
|
||||
<td>{{ employee }}</td>
|
||||
{% for date in current_month_dates_list %}
|
||||
<td >
|
||||
{% for work_record in employee.workrecord_set.all|current_month_record %}
|
||||
{% if work_record.start_datetime.date == date %}
|
||||
{% if work_record.work_record_type.is_timeoff %}
|
||||
<div style="background-color:{{work_record.work_record_type.color}};">{% trans "A" %}</div>
|
||||
{% else %}
|
||||
<div style="background-color:{{work_record.work_record_type.color}};">{% trans "P" %}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
@@ -1,37 +0,0 @@
|
||||
{% extends 'index.html' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
||||
|
||||
<div class="oh-sticky-table__table" data-count="{{total_count}}">
|
||||
<div class="oh-sticky-table__thead">
|
||||
<div class="oh-sticky-table__tr">
|
||||
<div class="oh-sticky-table__th">{% trans "record_type_name" %}</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-sticky-table__tbody" id="assetPaginatorTarget">
|
||||
{% for work_record in work_records %}
|
||||
<div class="oh-sticky-table__tr oh-multiple-table-sort__movable" id="assetDelete{{asset.id}}">
|
||||
<div class="oh-sticky-table__sd"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#objectDetailsModal"
|
||||
hx-get="{%url 'asset-information' asset_id=asset.id %}"
|
||||
hx-target="#objectDetailsModalTarget">
|
||||
<div class="oh-profile oh-profile--md">
|
||||
<div class="oh-profile__avatar mr-1">
|
||||
<img src="https://ui-avatars.com/api/?name={{work_record.work_record_name}}&background=random" class="oh-profile__image"
|
||||
alt="Mary Magdalene" />
|
||||
</div>
|
||||
<span class="oh-profile__name oh-text--dark">{{work_record.work_record_name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock content %}
|
||||
Reference in New Issue
Block a user