From 79d5da75b3a0b5ee3821fc49abf386562b784105 Mon Sep 17 00:00:00 2001 From: Raizaaa <89463672+raizasafeel@users.noreply.github.com> Date: Wed, 22 Apr 2026 21:09:21 +0530 Subject: [PATCH] fix: show job count on jobs listing for guest users --- frontend/src/pages/Jobs.vue | 22 +++++++--------------- lms/lms/api.py | 7 ++++++- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/frontend/src/pages/Jobs.vue b/frontend/src/pages/Jobs.vue index 97565e15..ba23e193 100644 --- a/frontend/src/pages/Jobs.vue +++ b/frontend/src/pages/Jobs.vue @@ -32,7 +32,7 @@ >
- {{ __('{0} {1} Jobs').format(jobCount.data, activeTab) }} + {{ __('{0} {1} Jobs').format(totalJobs, activeTab) }}
{{ jobs.data?.length }} {{ __('of') }} - {{ jobCount.data }} + {{ totalJobs }}
@@ -160,6 +160,7 @@ const orFilters = ref({}) const closedJobs = ref(0) const activeTab = ref('Open') const readOnlyMode = window.read_only_mode +const totalJobs = ref(0) onMounted(() => { getClosedJobCount() @@ -190,14 +191,6 @@ const getClosedJobCount = () => { }) } -const jobCount = createResource({ - url: 'frappe.client.get_count', - params: { - doctype: 'Job Opportunity', - filters: filters.value, - }, -}) - const setFiltersFromURL = () => { let queries = new URLSearchParams(location.search) if (queries.has('type')) { @@ -214,6 +207,10 @@ const jobs = createListResource({ start: 0, cache: ['jobs'], pageLength: 40, + transform(data) { + totalJobs.value = data.total + return data.jobs + }, }) const updateJobs = () => { @@ -223,11 +220,6 @@ const updateJobs = () => { orFilters: orFilters.value, }) jobs.reload() - jobCount.update({ - filters: filters.value, - orFilters: orFilters.value, - }) - jobCount.reload() } const updateFilters = () => { diff --git a/lms/lms/api.py b/lms/lms/api.py index c91ff9ad..8582813d 100644 --- a/lms/lms/api.py +++ b/lms/lms/api.py @@ -238,6 +238,8 @@ def get_job_opportunities( if not filters: filters = {} + total_jobs = frappe.db.count("Job Opportunity", filters, or_filters) + jobs = frappe.get_all( "Job Opportunity", filters=filters, @@ -262,7 +264,10 @@ def get_job_opportunities( for job in jobs: job.description = frappe.utils.strip_html_tags(job.description) job.applicants = frappe.db.count("LMS Job Application", {"job": job.name}) - return jobs + return { + "jobs": jobs, + "total": total_jobs, + } @frappe.whitelist(allow_guest=True)