fix: update question title in quiz

This commit is contained in:
Jannat Patel
2024-08-08 22:16:21 +05:30
parent ed97640107
commit a3a3085b1f
2 changed files with 15 additions and 3 deletions

View File

@@ -13,6 +13,7 @@
<div class="text-sm font-semibold mb-4">
{{ __('Details') }}
</div>
{{ quiz }}
<FormControl
v-model="quiz.title"
:label="
@@ -106,9 +107,8 @@
<ListRowItem :item="item">
<div
v-if="column.key == 'question_detail'"
class="text-xs truncate"
class="text-xs truncate" v-html="item"
>
{{ item }}
</div>
<div v-else class="text-xs">
{{ item }}
@@ -133,7 +133,6 @@
<script setup>
import {
Breadcrumbs,
createDocumentResource,
createResource,
FormControl,
ListView,
@@ -172,6 +171,7 @@ onMounted(() => {
router.push({ name: 'Courses' })
}
if (props.quizID !== 'new') {
console.log("mounted")
quizDetails.reload()
}
window.addEventListener('keydown', keyboardShortcut)
@@ -220,6 +220,7 @@ const quizDetails = createResource({
auto: false,
onSuccess(data) {
console.log(data)
Object.keys(data).forEach((key) => {
if (Object.hasOwn(quiz, key)) quiz[key] = data[key]
})
@@ -233,6 +234,7 @@ const quizDetails = createResource({
let key = checkboxes[idx]
quiz[key] = quiz[key] ? true : false
}
console.log(quiz)
},
})
@@ -337,6 +339,7 @@ watch(
(newVal) => {
console.log(props.quizID)
if (newVal) {
console.log("in watch")
quizDetails.reload()
}
}

View File

@@ -10,6 +10,7 @@ from lms.lms.utils import has_course_instructor_role, has_course_moderator_role
class LMSQuestion(Document):
def validate(self):
validate_correct_answers(self)
update_question_title(self)
def validate_correct_answers(question):
if question.type == "Choices":
@@ -60,6 +61,14 @@ def validate_possible_answer(question):
)
)
def update_question_title(question):
if not question.is_new():
question_rows = frappe.get_all("LMS Quiz Question", {
"question": question.name
}, pluck="name")
for row in question_rows:
frappe.db.set_value("LMS Quiz Question", row, "question_detail", question.question)
def get_correct_options(question):
correct_options = []