Merge pull request #1265 from pateljannat/issues-70
fix: jobs page rendering issue for guest users
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<Tooltip :text="`${props.progress}%`">
|
<Tooltip :text="`${props.progress}%`">
|
||||||
<div class="w-full bg-gray-200 rounded-full h-1 my-2">
|
<div class="w-full bg-gray-200 rounded-full h-1">
|
||||||
<div
|
<div
|
||||||
class="bg-gray-900 rounded-full"
|
class="bg-gray-900 rounded-full"
|
||||||
:class="progressBarHeight"
|
:class="progressBarHeight"
|
||||||
|
|||||||
@@ -40,12 +40,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="quiz.data.duration" class="flex items-center space-x-2 my-4">
|
<div v-if="quiz.data.duration" class="flex flex-col space-x-1 my-4">
|
||||||
<span class="text-gray-600 text-xs"> {{ __('Time') }}: </span>
|
<div class="mb-2">
|
||||||
|
<span class=""> {{ __('Time') }}: </span>
|
||||||
|
<span class="font-semibold">
|
||||||
|
{{ formatTimer(timer) }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<ProgressBar :progress="timerProgress" />
|
<ProgressBar :progress="timerProgress" />
|
||||||
<span class="font-semibold">
|
|
||||||
{{ formatTimer(timer) }}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="activeQuestion == 0">
|
<div v-if="activeQuestion == 0">
|
||||||
@@ -590,6 +592,7 @@ const getInstructions = (question) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const markLessonProgress = () => {
|
const markLessonProgress = () => {
|
||||||
|
console.log(router)
|
||||||
if (router.currentRoute.value.name == 'Lesson') {
|
if (router.currentRoute.value.name == 'Lesson') {
|
||||||
call('lms.lms.api.mark_lesson_progress', {
|
call('lms.lms.api.mark_lesson_progress', {
|
||||||
course: router.currentRoute.value.params.courseName,
|
course: router.currentRoute.value.params.courseName,
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { Button, Breadcrumbs, createListResource, FormControl } from 'frappe-ui'
|
import { Button, Breadcrumbs, createResource, FormControl } from 'frappe-ui'
|
||||||
import { Plus, Search } from 'lucide-vue-next'
|
import { Plus, Search } from 'lucide-vue-next'
|
||||||
import { inject, computed, ref, onMounted } from 'vue'
|
import { inject, computed, ref, onMounted } from 'vue'
|
||||||
import JobCard from '@/components/JobCard.vue'
|
import JobCard from '@/components/JobCard.vue'
|
||||||
@@ -101,32 +101,26 @@ onMounted(() => {
|
|||||||
updateJobs()
|
updateJobs()
|
||||||
})
|
})
|
||||||
|
|
||||||
const jobs = createListResource({
|
const jobs = createResource({
|
||||||
doctype: 'Job Opportunity',
|
url: 'lms.lms.api.get_job_opportunities',
|
||||||
fields: [
|
cache: ['jobs'],
|
||||||
'name',
|
|
||||||
'job_title',
|
|
||||||
'company_name',
|
|
||||||
'company_logo',
|
|
||||||
'location',
|
|
||||||
'type',
|
|
||||||
'creation',
|
|
||||||
],
|
|
||||||
start: 0,
|
|
||||||
pageLength: 20,
|
|
||||||
cache: ['jobOpportunities'],
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const updateJobs = () => {
|
const updateJobs = () => {
|
||||||
updateFilters()
|
updateFilters()
|
||||||
jobs.update({
|
jobs.update({
|
||||||
filters: filters.value,
|
params: {
|
||||||
orFilters: orFilters.value,
|
filters: filters.value,
|
||||||
|
orFilters: orFilters.value,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
jobs.reload()
|
jobs.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateFilters = () => {
|
const updateFilters = () => {
|
||||||
|
filters.value.status = 'Open'
|
||||||
|
filters.value.disabled = 0
|
||||||
|
|
||||||
if (jobType.value) {
|
if (jobType.value) {
|
||||||
filters.value.type = jobType.value
|
filters.value.type = jobType.value
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -267,11 +267,23 @@ def get_job_details(job):
|
|||||||
|
|
||||||
|
|
||||||
@frappe.whitelist(allow_guest=True)
|
@frappe.whitelist(allow_guest=True)
|
||||||
def get_job_opportunities():
|
def get_job_opportunities(filters=None, orFilters=None):
|
||||||
|
if not filters:
|
||||||
|
filters = {}
|
||||||
|
|
||||||
jobs = frappe.get_all(
|
jobs = frappe.get_all(
|
||||||
"Job Opportunity",
|
"Job Opportunity",
|
||||||
{"status": "Open", "disabled": False},
|
filters=filters,
|
||||||
["job_title", "location", "type", "company_name", "company_logo", "name", "creation"],
|
or_filters=orFilters,
|
||||||
|
fields=[
|
||||||
|
"job_title",
|
||||||
|
"location",
|
||||||
|
"type",
|
||||||
|
"company_name",
|
||||||
|
"company_logo",
|
||||||
|
"name",
|
||||||
|
"creation",
|
||||||
|
],
|
||||||
order_by="creation desc",
|
order_by="creation desc",
|
||||||
)
|
)
|
||||||
return jobs
|
return jobs
|
||||||
|
|||||||
Reference in New Issue
Block a user