[UPDT] LEAVE: Updated leave type admin site register

This commit is contained in:
Horilla
2025-09-24 12:34:09 +05:30
parent 0bf3ada092
commit 8b74546871
5 changed files with 46 additions and 19 deletions

View File

@@ -7,6 +7,8 @@ from django.apps import apps
from django.contrib import admin
from simple_history.admin import SimpleHistoryAdmin
from leave.forms import LeaveTypeAdminForm
from .models import (
AvailableLeave,
LeaveAllocationRequest,
@@ -19,8 +21,13 @@ from .models import (
RestrictLeave,
)
class LeaveTypeAdmin(admin.ModelAdmin):
form = LeaveTypeAdminForm
# Register your models here.
admin.site.register(LeaveType)
admin.site.register(LeaveType, LeaveTypeAdmin)
admin.site.register(LeaveRequest)
admin.site.register(AvailableLeave)
admin.site.register(LeaveAllocationRequest, SimpleHistoryAdmin)

View File

@@ -93,6 +93,22 @@ class ConditionForm(forms.ModelForm):
pass
class LeaveTypeAdminForm(forms.ModelForm):
class Meta:
model = LeaveType
fields = "__all__"
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if f := self.fields.get("company_id"):
from horilla_widgets.forms import default_select_option_template
w = getattr(f.widget, "widget", f.widget)
if isinstance(w, forms.Select):
w.option_template_name = default_select_option_template
class LeaveTypeForm(ConditionForm):
employee_id = HorillaMultiSelectField(

View File

@@ -248,7 +248,7 @@ class LeaveType(HorillaModel):
)
is_compensatory_leave = models.BooleanField(default=False)
company_id = models.ForeignKey(
Company, null=True, editable=False, on_delete=models.PROTECT
Company, null=True, blank=True, on_delete=models.PROTECT
)
objects = HorillaCompanyManager(related_company_field="company_id")

View File

@@ -15,7 +15,7 @@
<button
class="oh-btn oh-btn--light-bkg w-50" disabled>
<ion-icon name="create-outline" ></ion-icon>
</button></td>
</button>
{% endif %}
{% if instance.status == 'requested' %}
<button class="oh-btn oh-btn--danger-outline oh-btn--light-bkg w-50" id="delete-link"
@@ -28,7 +28,7 @@
{% else %}
<button class="oh-btn oh-btn--light-bkg w-50" disabled>
<ion-icon name="trash-outline"></ion-icon>
</button></td>
</button>
{% endif %}
</div>
</div>

View File

@@ -1,4 +1,6 @@
{% load i18n %}
{% include 'filter_tags.html' %}
<style>
.oh-scrollable-container {
overflow-x: auto;
@@ -16,26 +18,28 @@
border-radius:15px;
}
</style>
<div class="oh-scrollable-container oh-wrapper mb-3">
<div class="oh-layout--grid-3 mt-2 mb-2">
{% for user_leave in user_leaves %}
<div class="oh-kanban-card" id="requestCreateCard" data-toggle="oh-modal-toggle" data-target="#objectCreateModal"
hx-get="{% url 'user-request' user_leave.leave_type_id.id %}" hx-target="#objectCreateModalTarget">
<div class="oh-kanban-card__avatar">
<div class="oh-kanban-card__profile-container">
<img src="{{user_leave.leave_type_id.get_avatar }}" class="oh-kanban-card__profile-image"
alt="Leave Icon" />
<div class="oh-kanban-card" id="requestCreateCard" data-toggle="oh-modal-toggle" data-target="#objectCreateModal"
hx-get="{% url 'user-request' user_leave.leave_type_id.id %}" hx-target="#objectCreateModalTarget">
<div class="oh-kanban-card__avatar">
<div class="oh-kanban-card__profile-container">
<img src="{{user_leave.leave_type_id.get_avatar }}" class="oh-kanban-card__profile-image"
alt="Leave Icon" />
</div>
</div>
<div class="oh-kanban-card__details mt-2">
<span class="oh-kanban-card__title">{{user_leave.leave_type_id|truncatechars:20}}</span>
<span class="oh-kanban-card__subtitle">{% trans "Available Leave Days" %} : {% if user_leave.leave_type_id.limit_leave %}{{user_leave.available_days}} {% else %}{% trans "No Limit" %}{% endif %}</span><br>
<span class="oh-kanban-card__subtitle">{% trans "Carryforward Leave Days" %} :
{{user_leave.carryforward_days}}</span><br>
<span class="oh-kanban-card__subtitle">{% trans "Total Leave Days" %} : {% if user_leave.leave_type_id.limit_leave %}{{user_leave.total_leave_days}}{% else %}{% trans "No Limit" %}{% endif %}</span><br>
<span class="oh-kanban-card__subtitle">{% trans "Total Leave taken" %} :{{user_leave.leave_taken}}</span>
</div>
</div>
<div class="oh-kanban-card__details mt-2">
<span class="oh-kanban-card__title">{{user_leave.leave_type_id|truncatechars:20}}</span>
<span class="oh-kanban-card__subtitle">{% trans "Available Leave Days" %} : {% if user_leave.leave_type_id.limit_leave %}{{user_leave.available_days}} {% else %}{% trans "No Limit" %}{% endif %}</span><br>
<span class="oh-kanban-card__subtitle">{% trans "Carryforward Leave Days" %} :
{{user_leave.carryforward_days}}</span><br>
<span class="oh-kanban-card__subtitle">{% trans "Total Leave Days" %} : {% if user_leave.leave_type_id.limit_leave %}{{user_leave.total_leave_days}}{% else %}{% trans "No Limit" %}{% endif %}</span><br>
<span class="oh-kanban-card__subtitle">{% trans "Total Leave taken" %} :{{user_leave.leave_taken}}</span>
</div>
</div>
{% endfor %}
</div>
</div>