Skip to content

Commit

Permalink
feat(employee_record.admin): link on approval number
Browse files Browse the repository at this point in the history
  • Loading branch information
EwenKorr committed Sep 12, 2024
1 parent a5fb260 commit 9bf35e3
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
12 changes: 10 additions & 2 deletions itou/employee_record/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

from django import forms
from django.contrib import admin, messages
from django.urls import reverse
from django.utils import timezone
from django.utils.html import format_html

import itou.employee_record.models as models
from itou.companies import models as companies_models
Expand Down Expand Up @@ -159,7 +161,7 @@ def schedule_approval_update_notification(self, request, queryset):
"created_at",
"updated_at",
"processed_at",
"approval_number",
"approval_number_link",
"job_application",
"job_seeker_link",
"job_seeker_profile_link",
Expand Down Expand Up @@ -197,7 +199,7 @@ def schedule_approval_update_notification(self, request, queryset):
"pk",
"status",
"job_application",
"approval_number",
"approval_number_link",
"job_seeker_link",
"job_seeker_profile_link",
"siret",
Expand Down Expand Up @@ -228,6 +230,12 @@ def schedule_approval_update_notification(self, request, queryset):
),
)

@admin.display(description="numéro d'agrément")
def approval_number_link(self, obj):
if approval_number := obj.approval_number:
url = reverse("admin:approvals_approval_change", args=(obj.job_application.approval_id,))
return format_html('<a href="{}">{}</a>', url, approval_number)

@admin.display(description="salarié")
def job_seeker_link(self, obj):
if job_seeker := obj.job_application.job_seeker:
Expand Down
10 changes: 10 additions & 0 deletions tests/employee_record/test_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from django.urls import reverse
from pytest_django.asserts import assertContains, assertMessages

from itou.approvals.models import Approval
from itou.employee_record import models
from tests.employee_record import factories

Expand Down Expand Up @@ -68,3 +69,12 @@ def test_job_seeker_profile_from_employee_record(admin_client):
response = admin_client.get(employee_record_view_url)
assertContains(response, "Profil salarié")
assertContains(response, job_seeker.jobseeker_profile.pk)


def test_approval_number_from_employee_record(admin_client):
er = factories.EmployeeRecordFactory()
approval_number = Approval.objects.get(number=er.approval_number)
employee_record_view_url = reverse("admin:employee_record_employeerecord_change", args=[er.pk])
approval_number_url = reverse("admin:approvals_approval_change", args=[approval_number.pk])
response = admin_client.get(employee_record_view_url)
assertContains(response, f'<a href="{approval_number_url}">{approval_number.number}</a>')

0 comments on commit 9bf35e3

Please sign in to comment.