@@ -209,21 +209,27 @@ const props = defineProps({
209209
210210const applications = createListResource ({
211211 doctype: ' LMS Job Application' ,
212- fields: [
213- ' name' ,
214- ' user.user_image as user_image' ,
215- ' user.full_name as full_name' ,
216- ' user.email as email' ,
217- ' creation' ,
218- ' resume' ,
219- ' job.job_title as job_title' ,
220- ],
212+ fields: [' name' , ' user' , ' creation' , ' resume' , ' job_title' ],
221213 filters: {
222214 job: props .job ,
223215 },
224216 auto: true ,
225217})
226218
219+ const users = createResource ({
220+ url: ' lms.lms.api.get_application_users' ,
221+ makeParams : () => ({
222+ user_names: (applications .data || []).map ((a ) => a .user ),
223+ }),
224+ })
225+
226+ watch (
227+ () => applications .data ,
228+ (rows ) => {
229+ if (rows? .length ) users .submit ()
230+ }
231+ )
232+
227233const totalApplications = createResource ({
228234 url: ' frappe.client.get_count' ,
229235 params: {
@@ -354,11 +360,17 @@ const applicationColumns = computed(() => {
354360
355361const applicantRows = computed(() => {
356362 if (!applications.data) return []
357- return applications.data.map((application) => ({
358- ...application,
359- full_name: application.full_name,
360- applied_on: dayjs(application.creation).format('DD MMM YYYY'),
361- }))
363+ const userMap = Object.fromEntries((users.data || []).map((u) => [u.name, u]))
364+ return applications.data.map((application) => {
365+ const user = userMap[application.user] || {}
366+ return {
367+ ...application,
368+ user_image: user.user_image,
369+ full_name: user.full_name,
370+ email: user.email,
371+ applied_on: dayjs(application.creation).format('DD MMM YYYY'),
372+ }
373+ })
362374})
363375
364376usePageMeta(() => {
0 commit comments