fix: minor issues

This commit is contained in:
Jannat Patel
2022-12-29 11:31:52 +05:30
parent aa8c65a00a
commit ad084389cc
11 changed files with 65 additions and 31 deletions

View File

@@ -126,7 +126,7 @@
"fieldtype": "Select",
"label": "File Type",
"mandatory_depends_on": "question",
"options": "Image\nDocument\nPDF"
"options": "\nImage\nDocument\nPDF"
},
{
"fieldname": "column_break_15",
@@ -135,7 +135,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2022-10-28 12:36:01.978641",
"modified": "2022-12-28 16:01:42.191123",
"modified_by": "Administrator",
"module": "LMS",
"name": "Course Lesson",
@@ -173,4 +173,4 @@
"sort_order": "DESC",
"states": [],
"track_changes": 1
}
}

View File

@@ -114,7 +114,7 @@ def sanitize_html(html, macro):
any broken tags. This makes sures that all those things are fixed
before passing to the etree parser.
"""
soup = BeautifulSoup(html, features="lxml")
soup = BeautifulSoup(html, features="html5lib")
nodes = soup.body.children
classname = ""
if macro == "YouTubeVideo":

View File

@@ -9,7 +9,7 @@
"label": "Enrollments"
}
],
"content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Get Started</b></span>\",\"col\":12}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/courses\\\" draggable=\\\"false\\\">Visit LMS Portal</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/courses/new-course\\\" draggable=\\\"false\\\">Create a Course</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/app/web-page/new-web-page-1\\\">Setup a Home Page</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/app/website-settings/Website%20Settings\\\">Website Settings</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"https://docs.frappelms.com\\\">Documentation</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"https://frappe.school/courses/introducing-frappe-lms\\\">Video Tutorials</a>\",\"col\":4}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Signups\",\"col\":6}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Enrollments\",\"col\":6}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span style=\\\"font-size: 18px;\\\"><b>Statistics</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course Enrollments\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course Completed\",\"col\":4}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Master</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Course Data\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Course Stats\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Certification\",\"col\":4}}]",
"content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Get Started</b></span>\",\"col\":12}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/courses\\\" draggable=\\\"false\\\">Visit LMS Portal</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/courses/new-course\\\" draggable=\\\"false\\\">Create a Course</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/app/web-page/new-web-page-1\\\">Setup a Home Page</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"/app/website-settings/Website%20Settings\\\">Website Settings</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"https://docs.frappelms.com\\\">Documentation</a>\",\"col\":4}},{\"type\":\"paragraph\",\"data\":{\"text\":\"<a href=\\\"https://frappe.school/courses/introducing-frappe-lms\\\">Video Tutorials</a>\",\"col\":4}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Signups\",\"col\":6}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Enrollments\",\"col\":6}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span style=\\\"font-size: 18px;\\\"><b>Statistics</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Users\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Enrollments\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Course Completed\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Certificate\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Evaluation\",\"col\":4}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Master</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Course Data\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Course Stats\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Certification\",\"col\":4}}]",
"creation": "2021-10-21 17:20:01.358903",
"docstatus": 0,
"doctype": "Workspace",
@@ -143,7 +143,7 @@
"type": "Link"
}
],
"modified": "2022-11-09 17:16:03.973258",
"modified": "2022-12-28 17:45:18.539185",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS",
@@ -155,16 +155,16 @@
"sequence_id": 1.0,
"shortcuts": [
{
"color": "Green",
"color": "Yellow",
"doc_view": "List",
"format": "{} Published",
"label": "Course",
"link_to": "LMS Course",
"stats_filter": "{\"published\":[\"=\",1]}",
"format": "{} Enrolled",
"label": "Enrollments",
"link_to": "LMS Batch Membership",
"stats_filter": "{\"member_type\":[\"=\",\"Student\"]}",
"type": "DocType"
},
{
"color": "Orange",
"color": "Blue",
"doc_view": "List",
"format": "{} Completed",
"label": "Course Completed",
@@ -172,13 +172,40 @@
"stats_filter": "{\"progress\":[\"like\",\"%100%\"]}",
"type": "DocType"
},
{
"color": "Cyan",
"doc_view": "List",
"format": "{} Passed",
"label": "Evaluation",
"link_to": "LMS Certificate Evaluation",
"stats_filter": "{\"status\":[\"=\",\"Pass\"]}",
"type": "DocType"
},
{
"color": "Red",
"doc_view": "List",
"format": "{} Active",
"label": "Users",
"link_to": "User",
"stats_filter": "{\"enabled\":[\"=\",1]}",
"type": "DocType"
},
{
"color": "Pink",
"doc_view": "List",
"format": "{} Granted",
"label": "Certificate",
"link_to": "LMS Certificate",
"stats_filter": "{\"name\":[\"is\",\"set\"]}",
"type": "DocType"
},
{
"color": "Green",
"doc_view": "List",
"format": "{} Enrolled",
"label": "Course Enrollments",
"link_to": "LMS Batch Membership",
"stats_filter": "{\"member_type\":[\"=\",\"Student\"]}",
"format": "{} Published",
"label": "Course",
"link_to": "LMS Course",
"stats_filter": "{\"published\":[\"=\",1]}",
"type": "DocType"
}
],

View File

@@ -43,3 +43,4 @@ lms.patches.v0_0.skill_to_user_skill
lms.patches.v0_0.rename_instructor_role
lms.patches.v0_0.change_course_creation_settings #12-12-2022
lms.patches.v0_0.check_onboarding_status #21-12-2022
lms.patches.v0_0.assignment_file_type

View File

@@ -0,0 +1,10 @@
import frappe
def execute():
assignment_lessons = frappe.get_all("Course Lesson", {
"file_type": ["is", "set"]
}, ["name", "question"])
for lesson in assignment_lessons:
if not lesson.question:
frappe.db.set_value("Course Lesson", lesson.name, "file_type", "")

View File

@@ -948,6 +948,7 @@ pre {
font-size: var(--text-base);
padding: 1.5rem;
width: 100%;
box-shadow: none;
}
.search:focus {
@@ -1472,10 +1473,6 @@ pre {
border-spacing: 1rem 0.5rem;
}
.attachments-parent {
color: var(--text-color);
}
li {
line-height: 1.7;
}

View File

@@ -10,6 +10,12 @@ frappe.ready(() => {
$("#search-modal").on("hidden.bs.modal", () => {
hide_search_bar();
});
$(document).keydown(function(e) {
if ((e.metaKey || e.ctrlKey) && e.key == "k") {
show_search_bar(e);
}
});
});
const search_course = (e) => {

View File

@@ -191,8 +191,6 @@
</div>
<label class="preview" for="preview">
<input {% if lesson.include_in_preview %} checked {% endif %} type="checkbox" id="preview">
{{ _("Show preview of this lesson to Guest users.") }}

View File

@@ -184,18 +184,13 @@ const quiz_summary = (e = undefined) => {
results: localStorage.getItem(quiz_name),
},
callback: (data) => {
let message =
data.message == total_questions
? __("Excellent Work 👏")
: __("Better luck next time");
$(".question").addClass("hide");
$("#summary").addClass("hide");
$("#quiz-form")
.parent()
.prepend(
`<div class="text-center summary">
<h2> ${message} </h2>
<div class="font-weight-bold"> ${data.message}/${total_questions} </div>
`<div class="summary">
<div class="font-weight-bold"> ${__("Score")}: ${data.message}/${total_questions} </div>
</div>`
);
$("#try-again").removeClass("hide");

View File

@@ -36,7 +36,7 @@
{{ quiz.name }}
</td>
<td>
<a class="btn btn-secondary btn-sm copy-quiz-id" data-name="'{{ quiz.name }}'">
<a class="btn btn-secondary btn-sm copy-quiz-id" data-name="{{ quiz.name }}">
{{ _("Copy Quiz ID") }}
</a>
</td>

View File

@@ -231,7 +231,7 @@
<!-- Save -->
{% macro Save(course) %}
{% if course.edit_mode %}
<div class="my-4">
<div class="mt-4 mb-16">
<button class="btn btn-primary btn-md btn-save-course">
{{ _("Save Course Details") }}
</button>