mirror of
https://github.com/frappe/lms.git
synced 2026-05-02 13:39:31 +03:00
Merge pull request #2308 from pateljannat/misc-issues
refactor: jobs and certified participants view
This commit is contained in:
+10
-7
@@ -232,14 +232,16 @@ def get_job_details(job: str):
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def get_job_opportunities(filters: dict = None, orFilters: dict = None):
|
||||
def get_job_opportunities(
|
||||
filters: dict = None, or_filters: dict = None, start: int = 0, page_length: int = 40
|
||||
):
|
||||
if not filters:
|
||||
filters = {}
|
||||
|
||||
jobs = frappe.get_all(
|
||||
"Job Opportunity",
|
||||
filters=filters,
|
||||
or_filters=orFilters,
|
||||
or_filters=or_filters,
|
||||
fields=[
|
||||
"job_title",
|
||||
"location",
|
||||
@@ -252,6 +254,8 @@ def get_job_opportunities(filters: dict = None, orFilters: dict = None):
|
||||
"creation",
|
||||
"description",
|
||||
],
|
||||
start=start,
|
||||
page_length=page_length,
|
||||
order_by="creation desc",
|
||||
)
|
||||
|
||||
@@ -344,11 +348,10 @@ def get_evaluator_details(evaluator: str):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_certified_participants(filters: dict = None, start: int = 0, page_length: int = 100):
|
||||
def get_certified_participants(filters: dict = None, start: int = 0, page_length: int = 40):
|
||||
query = get_certification_query(filters)
|
||||
query = query.orderby("issue_date", order=frappe.qb.desc).offset(start).limit(page_length)
|
||||
participants = query.run(as_dict=True)
|
||||
|
||||
for participant in participants:
|
||||
details = get_certified_participant_details(participant.member)
|
||||
participant.update(details)
|
||||
@@ -361,7 +364,7 @@ def get_certified_participant_details(member: str):
|
||||
details = frappe.db.get_value(
|
||||
"User",
|
||||
member,
|
||||
["full_name", "user_image", "username", "country", "headline", "open_to"],
|
||||
["full_name", "user_image", "username", "creation", "headline", "open_to"],
|
||||
as_dict=1,
|
||||
)
|
||||
details["certificate_count"] = count
|
||||
@@ -374,12 +377,12 @@ def get_certification_query(filters: dict = None):
|
||||
|
||||
query = (
|
||||
frappe.qb.from_(Certificate)
|
||||
.select(Certificate.member, Certificate.issue_date)
|
||||
.distinct()
|
||||
.select(Certificate.member, fn.Max(Certificate.issue_date).as_("issue_date"))
|
||||
.join(User)
|
||||
.on(Certificate.member == User.name)
|
||||
.where(Certificate.published == 1)
|
||||
.where(User.enabled == 1)
|
||||
.groupby(Certificate.member)
|
||||
)
|
||||
|
||||
if filters:
|
||||
|
||||
Reference in New Issue
Block a user