fix: multiple badges

This commit is contained in:
Jannat Patel
2024-05-02 19:43:32 +05:30
parent 7355be2a8b
commit 8a2991c4fb
7 changed files with 63 additions and 24 deletions

View File

@@ -1,8 +1,26 @@
// Copyright (c) 2024, Frappe and contributors
// For license information, please see license.txt
// frappe.ui.form.on("LMS Badge", {
// refresh(frm) {
frappe.ui.form.on("LMS Badge", {
reference_doctype: (frm) => {
frm.events.set_fields_to_check(frm);
},
// },
// });
set_fields_to_check: (frm) => {
const reference_doctype = frm.doc.reference_doctype;
if (!reference_doctype) return;
frappe.model.with_doctype(reference_doctype, () => {
const map_for_options = (df) => ({
label: df.label,
value: df.fieldname,
});
const fields = frappe.meta
.get_docfields(frm.doc.reference_doctype)
.filter(frappe.model.is_value_type);
const fields_to_check = fields.map(map_for_options);
frm.set_df_property("field_to_check", "options", fields_to_check);
});
},
});

View File

@@ -85,8 +85,13 @@
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-04-30 17:16:17.725459",
"links": [
{
"link_doctype": "LMS Badge Assignment",
"link_fieldname": "badge"
}
],
"modified": "2024-05-02 14:23:32.198858",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Badge",

View File

@@ -36,7 +36,7 @@ class LMSBadge(Document):
if self.grant_only_once:
if frappe.db.exists(
"LMS Badge Assignment",
{"badge": self.name, "user": frappe.session.user},
{"badge": self.name, "member": frappe.session.user},
):
return
@@ -44,7 +44,7 @@ class LMSBadge(Document):
assignment.update(
{
"badge": self.name,
"user": frappe.session.user,
"member": frappe.session.user,
"issued_on": frappe.utils.now(),
}
)

View File

@@ -161,6 +161,7 @@ def get_lesson_details(chapter):
)
lesson_details.number = f"{chapter.idx}.{row.idx}"
lesson_details.icon = get_lesson_icon(lesson_details.body)
lesson_details.is_complete = get_progress(lesson_details.course, lesson_details.name)
lessons.append(lesson_details)
return lessons

View File

@@ -15,10 +15,10 @@
<meta name="twitter:title" content="{{ meta.title }}" />
<meta name="twitter:image" content="{{ meta.image }}" />
<meta name="twitter:description" content="{{ meta.description }}" />
<script type="module" crossorigin src="/assets/lms/frontend/assets/index-BIja_89l.js"></script>
<link rel="modulepreload" crossorigin href="/assets/lms/frontend/assets/frappe-ui-Ccuocnz7.js">
<script type="module" crossorigin src="/assets/lms/frontend/assets/index-CushEWOj.js"></script>
<link rel="modulepreload" crossorigin href="/assets/lms/frontend/assets/frappe-ui-BI4McHL7.js">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/frappe-ui-DzKBfka9.css">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/index-DCVPIR2L.css">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/index-Dhpy-T0p.css">
</head>
<body>
<div id="app">