Files
ihrm/recruitment/templates/pipeline/kanban_components/candidate_kanban_components.html

250 lines
13 KiB
HTML
Raw Normal View History

[IMP] Remove inter module dependency (#274) This commit introduces significant changes to the architecture of the Horilla HRMS system by decoupling interdependent modules. The following modifications were made: 1. **Module Independence**: Each module has been refactored to eliminate reliance on other modules, promoting a more modular and maintainable codebase. 2. **Refactored Imports and Dependencies**: Adjusted import statements and dependency injections to support independent module operation. 3. **Compatibility and Functionality**: Ensured that all modules are compatible with existing systems and maintain their intended functionality both independently and when integrated with other modules. These changes enhance the modularity, maintainability, and scalability of the Horilla HRMS, allowing developers to work on individual modules without affecting the entire system. Future development and deployment will be more efficient and less prone to issues arising from tightly coupled code. **NOTE** For existing Horilla users, if you face any issues during the migrations, please run the following command and try again the migrations. - `python3 manage.py makemigrations` - `python3 manage.py migrate base` - `python3 manage.py migrate` * [IMP] ASSET: Asset module dependency removal from other Horilla apps * [IMP] ATTENDANCE: Attendance module dependency removal from other Horilla apps * [IMP] BASE: Base module dependency removal from other Horilla apps * [IMP] EMPLOYEE: Employee module dependency removal from other Horilla apps * [IMP] HELPDESK: Helpdesk module dependency removal from other Horilla apps * [IMP] HORILLA AUDIT: Horilla Audit module dependency removal from other Horilla apps * [IMP] HORILLA CRUMBS: Horilla Crumbs module dependency removal from other Horilla apps * [IMP] HORILLA AUTOMATIONS: Horilla Automations module dependency removal from other Horilla apps * [IMP] HORILLA VIEWS: Horilla Views module dependency removal from other Horilla apps * [IMP] LEAVE: Leave module dependency removal from other Horilla apps * [IMP] OFFBOARDING: Offboarding module dependency removal from other Horilla apps * [IMP] ONBOARDING: Onboarding module dependency removal from other Horilla apps * [IMP] PMS: PMS module dependency removal from other Horilla apps * [IMP] PAYROLL: Payroll module dependency removal from other Horilla apps * [IMP] RECRUITMENT: Recruitment module dependency removal from other Horilla apps * [IMP] HORILLA: Dependency removal updates * [IMP] TEMPLATES: Dependency removal updates * [IMP] STATIC: Dependency removal updates * [IMP] HORILLA DOCUMENTS: Horilla Documents module dependency removal from other Horilla apps * [ADD] HORILLA: methods.py * [UPDT] HORILLA: Settings.py * [FIX] EMPLOYEE: About tab issue * Update horilla_settings.py * Remove dummy db init password
2024-08-05 14:22:44 +05:30
{% load i18n static recruitmentfilters horillafilters %}
{% for cand in candidates %}
<div
class="oh-kanban__card candidate change-cand"
data-candidate-id="{{cand.id}}"
data-recruitment-id ="{{rec.id}}"
id="canididate-{{cand.id}}"
style="cursor: pointer;overflow: visible;"
data-candidate = "{{cand.name}}"
data-job-position ="{{cand.job_position_id}}"
data-pre_stage_id ="{{cand.stage_id.id}}"
data-stage_order = '{{cand.recruitment_id.ordered_stages|to_json|safe}}'
onclick="window.location.href = `{% url 'candidate-view-individual' cand.id %}`"
>
<div class="oh-kanban__card-head align-items-baseline pb-0" {% if cand.is_offer_rejected %}
style="border-left: solid orangered;"
{% endif %}>
<div class="oh-profile oh-profile--md align-items-baseline">
<div class="oh-profile__avatar mr-2">
<img
src="{{cand.get_avatar}}"
class="oh-profile__image d-block mt-3"
alt=""
/>
</div>
<div>
<span
class="oh-profile__name oh-text--dark"
data-type="label"
>{{cand}}
<input type="text" name="order" value="{{cand.id}}" hidden>
<select name="stage_id" id="" hidden>
{% for stage in cand.recruitment_id.stage_set.all %}
<option value="{{stage.id}}"
{% if stage == cand.stage_id %}
selected
{% endif %}
>{{stage}}</option>
{% endfor %}
</select>
</span
>
{% if request.user|stage_manages:rec or perms.recruitment.add_candidaterating %}
{% with request.user.employee_get.candidate_rating.all as candidate_ratings %}
{% if candidate_ratings|has_candidate_rating:cand %}
<form hx-swap="none" hx-post='{% url "update-candidate-rating" cand.id %}' method="post">
{% csrf_token %}
<div class="d-block mb-0">
<div class="oh-rate" onclick="event.stopPropagation();$(this).parents().closest('form').find('button').click()">
{% for i in "54321" %}
<input type="radio" id="star{{i}}{{cand.id}}" name="rating" class="rating-radio" value="{{i}}" {% if candidate_ratings|rating:cand == i %} checked {% endif %} />
<label for="star{{i}}{{cand.id}}" title="{{i}} Stars">5 {% trans "Stars" %}</label>
{% endfor %}
</div>
<button type="submit" hidden="true" onclick="event.stopPropagation()"></button>
<span id="rating-radio-error"></span>
</div>
</form>
{% else %}
<form hx-swap="none" hx-post='{% url "create-candidate-rating" cand.id %}' method="post">
{% csrf_token %}
<div class="d-block mb-0">
<div class="oh-rate" onclick="event.stopPropagation();$(this).parents().closest('form').find('button').click()">
{% for i in "54321" %}
<input type="radio" id="star{{i}}{{cand.id}}" name="rating" class="rating-radio" value="{{i}}" />
<label for="star{{i}}{{cand.id}}" title="{{i}} Stars">5 {% trans "Stars" %}</label>
{% endfor %}
</div>
<button type="submit" hidden="true" onclick="event.stopPropagation()"></button>
<span id="rating-radio-error"></span>
</div>
</form>
{% endif %}
{% endwith %}
{% endif %}
</div>
</div>
<div class="oh-dropdown" x-data="{open: false}" onclick="event.stopPropagation();">
<button class="oh-btn oh-stop-prop oh-btn--transparent oh-accordion-meta__btn" @click="open = !open"
@click.outside="open = false" title="{% trans " Actions" %}">
<ion-icon name="ellipsis-vertical"></ion-icon>
</button>
{% for interview_schedule in cand.candidate_interview.all %}
{% if interview_schedule.interview_date|date:"Y-m-d" == now|date:"Y-m-d" %}
<div class="d-flex ms-3">
<span class="tooltip">
<span class="material-symbols-outlined" style="flex-direction: row-reverse;color:green;">
alarm_on
</span>
<span class="tooltiptext fw-bold">
{% trans "INTERVIEW : Today at" %} {{interview_schedule.interview_time}} {% trans "with" %}
{% for emp in interview_schedule.employee_id.all %} {{emp}}, {% endfor %}
</span>
</span>
</div>
{% endif %}
{% endfor %}
<div class="oh-dropdown__menu oh-dropdown__menu--right" x-show="open">
<ul class="oh-dropdown__items">
<li class="oh-dropdown__item">
<a
class="oh-dropdown__link oh-dropdown__link--secondary"
hx-get='{% url "interview-schedule" cand.id %}'
hx-target="#createTarget"
hx-swap='innerHTML'
style="cursor: pointer;"
data-toggle='oh-modal-toggle'
data-target="#createModal"
>{% trans "Schedule Interview" %}</a>
</li>
{% if perms.recruitment.change_candidate or request.user|is_stagemanager %}
<li class="oh-dropdown__item">
<a
class="oh-dropdown__link oh-dropdown__link--secondary"
hx-get='{% url "send-mail" cand.id %}'
hx-target='#objectDetailsModalTarget'
hx-swap='innerHTML'
style="cursor: pointer;"
data-toggle='oh-modal-toggle'
data-target='#objectDetailsModal'
>{% trans "Send Mail" %}</a
>
</li>
{% endif %}
{% if perms.recruitment.add_skillzonecandidate or request.user|is_stagemanager %}
<li class="oh-dropdown__item">
<a
class="oh-dropdown__link oh-dropdown__link--secondary"
data-toggle="oh-modal-toggle"
data-target="#createModal"
hx-get="{% url 'to-skill-zone' cand.id %}"
hx-target="#createTarget"
>{% trans "Add to Skill Zone" %}</a
>
</li>
{% endif %}
[IMP] Remove inter module dependency (#274) This commit introduces significant changes to the architecture of the Horilla HRMS system by decoupling interdependent modules. The following modifications were made: 1. **Module Independence**: Each module has been refactored to eliminate reliance on other modules, promoting a more modular and maintainable codebase. 2. **Refactored Imports and Dependencies**: Adjusted import statements and dependency injections to support independent module operation. 3. **Compatibility and Functionality**: Ensured that all modules are compatible with existing systems and maintain their intended functionality both independently and when integrated with other modules. These changes enhance the modularity, maintainability, and scalability of the Horilla HRMS, allowing developers to work on individual modules without affecting the entire system. Future development and deployment will be more efficient and less prone to issues arising from tightly coupled code. **NOTE** For existing Horilla users, if you face any issues during the migrations, please run the following command and try again the migrations. - `python3 manage.py makemigrations` - `python3 manage.py migrate base` - `python3 manage.py migrate` * [IMP] ASSET: Asset module dependency removal from other Horilla apps * [IMP] ATTENDANCE: Attendance module dependency removal from other Horilla apps * [IMP] BASE: Base module dependency removal from other Horilla apps * [IMP] EMPLOYEE: Employee module dependency removal from other Horilla apps * [IMP] HELPDESK: Helpdesk module dependency removal from other Horilla apps * [IMP] HORILLA AUDIT: Horilla Audit module dependency removal from other Horilla apps * [IMP] HORILLA CRUMBS: Horilla Crumbs module dependency removal from other Horilla apps * [IMP] HORILLA AUTOMATIONS: Horilla Automations module dependency removal from other Horilla apps * [IMP] HORILLA VIEWS: Horilla Views module dependency removal from other Horilla apps * [IMP] LEAVE: Leave module dependency removal from other Horilla apps * [IMP] OFFBOARDING: Offboarding module dependency removal from other Horilla apps * [IMP] ONBOARDING: Onboarding module dependency removal from other Horilla apps * [IMP] PMS: PMS module dependency removal from other Horilla apps * [IMP] PAYROLL: Payroll module dependency removal from other Horilla apps * [IMP] RECRUITMENT: Recruitment module dependency removal from other Horilla apps * [IMP] HORILLA: Dependency removal updates * [IMP] TEMPLATES: Dependency removal updates * [IMP] STATIC: Dependency removal updates * [IMP] HORILLA DOCUMENTS: Horilla Documents module dependency removal from other Horilla apps * [ADD] HORILLA: methods.py * [UPDT] HORILLA: Settings.py * [FIX] EMPLOYEE: About tab issue * Update horilla_settings.py * Remove dummy db init password
2024-08-05 14:22:44 +05:30
{% if onboarding|app_installed %}
{% if perms.recruitment.add_rejectedcandidate or request.user|is_stagemanager %}
<li class="oh-dropdown__item">
<a
class="oh-dropdown__link oh-dropdown__link--secondary"
hx-target="#rejectModalBody"
hx-swap="innerHTML"
class="oh-btn oh-btn--light"
data-toggle="oh-modal-toggle"
data-target="#rejectModal"
hx-get="{% url 'add-to-rejected-candidates' %}?candidate_id={{cand.id}}"
{% if cand.is_offer_rejected %}
title="{% trans "Added In Rejected Candidates" %}"
{% else %}
title="{% trans "Add To Rejected Candidates" %}"
{% endif %}
>
{% if not cand.is_offer_rejected %}
{% trans "Add to Rejected" %}
{% else %}
[IMP] Remove inter module dependency (#274) This commit introduces significant changes to the architecture of the Horilla HRMS system by decoupling interdependent modules. The following modifications were made: 1. **Module Independence**: Each module has been refactored to eliminate reliance on other modules, promoting a more modular and maintainable codebase. 2. **Refactored Imports and Dependencies**: Adjusted import statements and dependency injections to support independent module operation. 3. **Compatibility and Functionality**: Ensured that all modules are compatible with existing systems and maintain their intended functionality both independently and when integrated with other modules. These changes enhance the modularity, maintainability, and scalability of the Horilla HRMS, allowing developers to work on individual modules without affecting the entire system. Future development and deployment will be more efficient and less prone to issues arising from tightly coupled code. **NOTE** For existing Horilla users, if you face any issues during the migrations, please run the following command and try again the migrations. - `python3 manage.py makemigrations` - `python3 manage.py migrate base` - `python3 manage.py migrate` * [IMP] ASSET: Asset module dependency removal from other Horilla apps * [IMP] ATTENDANCE: Attendance module dependency removal from other Horilla apps * [IMP] BASE: Base module dependency removal from other Horilla apps * [IMP] EMPLOYEE: Employee module dependency removal from other Horilla apps * [IMP] HELPDESK: Helpdesk module dependency removal from other Horilla apps * [IMP] HORILLA AUDIT: Horilla Audit module dependency removal from other Horilla apps * [IMP] HORILLA CRUMBS: Horilla Crumbs module dependency removal from other Horilla apps * [IMP] HORILLA AUTOMATIONS: Horilla Automations module dependency removal from other Horilla apps * [IMP] HORILLA VIEWS: Horilla Views module dependency removal from other Horilla apps * [IMP] LEAVE: Leave module dependency removal from other Horilla apps * [IMP] OFFBOARDING: Offboarding module dependency removal from other Horilla apps * [IMP] ONBOARDING: Onboarding module dependency removal from other Horilla apps * [IMP] PMS: PMS module dependency removal from other Horilla apps * [IMP] PAYROLL: Payroll module dependency removal from other Horilla apps * [IMP] RECRUITMENT: Recruitment module dependency removal from other Horilla apps * [IMP] HORILLA: Dependency removal updates * [IMP] TEMPLATES: Dependency removal updates * [IMP] STATIC: Dependency removal updates * [IMP] HORILLA DOCUMENTS: Horilla Documents module dependency removal from other Horilla apps * [ADD] HORILLA: methods.py * [UPDT] HORILLA: Settings.py * [FIX] EMPLOYEE: About tab issue * Update horilla_settings.py * Remove dummy db init password
2024-08-05 14:22:44 +05:30
{% trans "Edit Rejected Candidate" %}
{% endif %}
[IMP] Remove inter module dependency (#274) This commit introduces significant changes to the architecture of the Horilla HRMS system by decoupling interdependent modules. The following modifications were made: 1. **Module Independence**: Each module has been refactored to eliminate reliance on other modules, promoting a more modular and maintainable codebase. 2. **Refactored Imports and Dependencies**: Adjusted import statements and dependency injections to support independent module operation. 3. **Compatibility and Functionality**: Ensured that all modules are compatible with existing systems and maintain their intended functionality both independently and when integrated with other modules. These changes enhance the modularity, maintainability, and scalability of the Horilla HRMS, allowing developers to work on individual modules without affecting the entire system. Future development and deployment will be more efficient and less prone to issues arising from tightly coupled code. **NOTE** For existing Horilla users, if you face any issues during the migrations, please run the following command and try again the migrations. - `python3 manage.py makemigrations` - `python3 manage.py migrate base` - `python3 manage.py migrate` * [IMP] ASSET: Asset module dependency removal from other Horilla apps * [IMP] ATTENDANCE: Attendance module dependency removal from other Horilla apps * [IMP] BASE: Base module dependency removal from other Horilla apps * [IMP] EMPLOYEE: Employee module dependency removal from other Horilla apps * [IMP] HELPDESK: Helpdesk module dependency removal from other Horilla apps * [IMP] HORILLA AUDIT: Horilla Audit module dependency removal from other Horilla apps * [IMP] HORILLA CRUMBS: Horilla Crumbs module dependency removal from other Horilla apps * [IMP] HORILLA AUTOMATIONS: Horilla Automations module dependency removal from other Horilla apps * [IMP] HORILLA VIEWS: Horilla Views module dependency removal from other Horilla apps * [IMP] LEAVE: Leave module dependency removal from other Horilla apps * [IMP] OFFBOARDING: Offboarding module dependency removal from other Horilla apps * [IMP] ONBOARDING: Onboarding module dependency removal from other Horilla apps * [IMP] PMS: PMS module dependency removal from other Horilla apps * [IMP] PAYROLL: Payroll module dependency removal from other Horilla apps * [IMP] RECRUITMENT: Recruitment module dependency removal from other Horilla apps * [IMP] HORILLA: Dependency removal updates * [IMP] TEMPLATES: Dependency removal updates * [IMP] STATIC: Dependency removal updates * [IMP] HORILLA DOCUMENTS: Horilla Documents module dependency removal from other Horilla apps * [ADD] HORILLA: methods.py * [UPDT] HORILLA: Settings.py * [FIX] EMPLOYEE: About tab issue * Update horilla_settings.py * Remove dummy db init password
2024-08-05 14:22:44 +05:30
</a
>
</li>
{% endif %}
{% endif %}
{% if perms.view_stagenote or request.user|is_stagemanager %}
<li class="oh-dropdown__item">
<a
class="oh-dropdown__link oh-dropdown__link--secondary oh-activity-sidebar__open"
hx-get='{% url "view-note" cand.id %}'
hx-target='#activitySidebar'
hx-swap="innerHTML"
data-target="#activitySidebar"
>{% trans "Notes" %}</a
>
</li>
{% endif %}
<li class="oh-dropdown__item">
2024-07-29 16:46:05 +05:30
<a style="color: inherit;text-decoration: none;" class="oh-dropdown__link oh-dropdown__link--secondary" href="{{cand.resume.url}}" target="_blank"
>{% trans "Resume" %}</a>
</li>
{% if perms.recruitment.change_candidate or request.user|is_stagemanager %}
<li class="oh-dropdown__item">
<a style="color: inherit;text-decoration: none;" class="oh-dropdown__link oh-dropdown__link--secondary" href="{% url 'rec-candidate-update' cand.id %}" target="_blank"
>{% trans "Edit" %}</a>
</li>
{% endif %}
{% if perms.recruitment.delete_candidate %}
<li class="oh-dropdown__item">
<a onclick="return confirm('{% trans "Do you want to archive this candidate?" %}')" href="{% url 'rec-candidate-archive' cand.id %}?is_active=False" class="oh-dropdown__link ">{% trans "Archive" %}</a>
</li>
{% endif %}
{% if perms.recruitment.delete_candidate %}
<li class="oh-dropdown__item">
<form action="{% url 'rec-candidate-delete' cand.id %}" onsubmit="return confirm('{% trans "Are you sure you want to delete this candidate?" %}');" method="post">
{% csrf_token %}
<button class="oh-dropdown__link oh-dropdown__link--danger ">{% trans "Delete" %}</button>
</form>
</li>
{% endif %}
</ul>
</div>
</div>
</div>
<div class="oh-kanban__card-footer"
{% if cand.is_offer_rejected %}
style="border-left: solid orangered;"
{% endif %}
>
<span class="oh-kanban__card-footer-text oh-text--light"
>{{cand.email}}</span
></br>
<span class="oh-kanban__card-footer-text oh-text--light"
>{{cand.job_position_id}}</span
>
</div>
</div>
<script>
$("#stageCount{{stage.id}}").text({{candidates.paginator.count}})
$("#stageCount{{stage.id}}").attr("title",'{{candidates.paginator.count}} {% trans "Candidates" %}')
</script>
{% endfor %}
{% if candidates.number %}
<div class="oh-pagination" ondrag="event.stopPropagation();" onmousedown="event.stopPropagation()">
<nav class="oh-pagination__nav">
<ul class="oh-pagination__items">
{% if candidates.has_previous %}
<li class="oh-pagination__item oh-pagination__item--wide">
<a hx-target="#kanbanCandidates{{candidates.0.stage_id.id}}" hx-get="{% url 'candidate-stage-component' %}?{{pd}}&candidate_page=1&stage_id={{candidates.0.stage_id.id}}" class="oh-pagination__link">{% trans "First" %}</a>
</li>
<li class="oh-pagination__item oh-pagination__item--wide">
<a hx-target="#kanbanCandidates{{candidates.0.stage_id.id}}" hx-get="{% url 'candidate-stage-component' %}?{{pd}}&candidate_page={{ candidates.previous_page_number }}&stage_id={{candidates.0.stage_id.id}}"
class="oh-pagination__link">{% trans "Previous" %}</a>
</li>
{% endif %} {% if candidates.has_next %}
<li class="oh-pagination__item oh-pagination__item--wide">
<a hx-target="#kanbanCandidates{{candidates.0.stage_id.id}}" hx-get="{% url 'candidate-stage-component' %}?{{pd}}&candidate_page={{ candidates.next_page_number }}&stage_id={{candidates.0.stage_id.id}}"
class="oh-pagination__link">{% trans "Next" %}</a>
</li>
<li class="oh-pagination__item oh-pagination__item--wide">
<a hx-target="#kanbanCandidates{{candidates.0.stage_id.id}}" hx-get="{% url 'candidate-stage-component' %}?{{pd}}&candidate_page={{ candidates.paginator.num_pages }}&stage_id={{candidates.0.stage_id.id}}"
class="oh-pagination__link">{% trans "Last" %}</a>
</li>
{% endif %}
</ul>
</nav>
</div>
{% endif %}