Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c1506d3c8 | ||
|
|
e94c3f27ab | ||
|
|
526ded784b | ||
|
|
6b5ddcd54a | ||
|
|
c42247db42 | ||
|
|
8f8d4901ff |
@@ -3,12 +3,9 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from ..lms_sketch.livecode import livecode_to_svg
|
# from ..lms_sketch.livecode import livecode_to_svg
|
||||||
|
|
||||||
class Exercise(Document):
|
class Exercise(Document):
|
||||||
def before_save(self):
|
|
||||||
self.image = livecode_to_svg(None, self.answer)
|
|
||||||
|
|
||||||
def get_user_submission(self):
|
def get_user_submission(self):
|
||||||
"""Returns the latest submission for this user.
|
"""Returns the latest submission for this user.
|
||||||
"""
|
"""
|
||||||
@@ -42,8 +39,6 @@ class Exercise(Document):
|
|||||||
course = frappe.get_doc("LMS Course", self.course)
|
course = frappe.get_doc("LMS Course", self.course)
|
||||||
batch = course.get_student_batch(user)
|
batch = course.get_student_batch(user)
|
||||||
|
|
||||||
image = livecode_to_svg(None, code)
|
|
||||||
|
|
||||||
doc = frappe.get_doc(
|
doc = frappe.get_doc(
|
||||||
doctype="Exercise Submission",
|
doctype="Exercise Submission",
|
||||||
exercise=self.name,
|
exercise=self.name,
|
||||||
@@ -51,7 +46,6 @@ class Exercise(Document):
|
|||||||
course=self.course,
|
course=self.course,
|
||||||
lesson=self.lesson,
|
lesson=self.lesson,
|
||||||
batch=batch and batch.name,
|
batch=batch and batch.name,
|
||||||
image=image,
|
|
||||||
solution=code)
|
solution=code)
|
||||||
doc.insert(ignore_permissions=True)
|
doc.insert(ignore_permissions=True)
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ def create_membership(batch, member=None, member_type="Student", role="Member"):
|
|||||||
return "OK"
|
return "OK"
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def update_current_membership(batch, course, member=frappe.session.user):
|
def update_current_membership(batch, course, member):
|
||||||
all_memberships = frappe.get_all("LMS Batch Membership", {"member": member, "course": course})
|
all_memberships = frappe.get_all("LMS Batch Membership", {"member": member, "course": course})
|
||||||
for membership in all_memberships:
|
for membership in all_memberships:
|
||||||
frappe.db.set_value("LMS Batch Membership", membership.name, "is_current", 0)
|
frappe.db.set_value("LMS Batch Membership", membership.name, "is_current", 0)
|
||||||
|
|||||||
@@ -192,16 +192,16 @@ class LMSCourse(Document):
|
|||||||
return
|
return
|
||||||
return f"/courses/{self.name}/learn/{lesson_number}"
|
return f"/courses/{self.name}/learn/{lesson_number}"
|
||||||
|
|
||||||
def get_current_batch(self, member=frappe.session.user):
|
def get_current_batch(self, member):
|
||||||
current_membership = frappe.get_all("LMS Batch Membership", {"member": member, "course": self.name, "is_current": 1}, pluck="batch")
|
current_membership = frappe.get_all("LMS Batch Membership", {"member": member, "course": self.name, "is_current": 1}, pluck="batch")
|
||||||
print(current_membership, member, self.name)
|
print(current_membership, member, self.name, frappe.session.user)
|
||||||
if len(current_membership):
|
if len(current_membership):
|
||||||
return current_membership[0]
|
return current_membership[0]
|
||||||
print(frappe.db.get_value("LMS Batch Membership", {"member": member, "course": self.name}, "batch"))
|
print(frappe.db.get_value("LMS Batch Membership", {"member": member, "course": self.name}, "batch"))
|
||||||
return frappe.db.get_value("LMS Batch Membership", {"member": member, "course": self.name}, "batch")
|
return frappe.db.get_value("LMS Batch Membership", {"member": member, "course": self.name}, "batch")
|
||||||
|
|
||||||
def get_all_memberships(self, member=frappe.session.user):
|
def get_all_memberships(self, member=frappe.session.user):
|
||||||
print(member)
|
print(member, frappe.session.user)
|
||||||
all_memberships = frappe.get_all("LMS Batch Membership", {"member": member, "course": self.name}, ["batch", "is_current"])
|
all_memberships = frappe.get_all("LMS Batch Membership", {"member": member, "course": self.name}, ["batch", "is_current"])
|
||||||
print(all_memberships)
|
print(all_memberships)
|
||||||
for membership in all_memberships:
|
for membership in all_memberships:
|
||||||
|
|||||||
@@ -65,7 +65,8 @@
|
|||||||
method: "community.lms.doctype.lms_batch_membership.lms_batch_membership.update_current_membership",
|
method: "community.lms.doctype.lms_batch_membership.lms_batch_membership.update_current_membership",
|
||||||
args: {
|
args: {
|
||||||
batch: batch,
|
batch: batch,
|
||||||
course: course
|
course: course,
|
||||||
|
member: frappe.session.user
|
||||||
},
|
},
|
||||||
callback: (data) => {
|
callback: (data) => {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
|
|||||||
@@ -72,7 +72,8 @@ frappe.ready(() => {
|
|||||||
method: "community.lms.doctype.lms_batch_membership.lms_batch_membership.update_current_membership",
|
method: "community.lms.doctype.lms_batch_membership.lms_batch_membership.update_current_membership",
|
||||||
args: {
|
args: {
|
||||||
"batch": "{{ batch.name }}",
|
"batch": "{{ batch.name }}",
|
||||||
"course": "{{ batch.course}}"
|
"course": "{{ batch.course}}",
|
||||||
|
"member": frappe.session.user
|
||||||
},
|
},
|
||||||
callback: (data) => {
|
callback: (data) => {
|
||||||
window.location.href = "/courses/{{ batch.course }}/home"
|
window.location.href = "/courses/{{ batch.course }}/home"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ def get_common_context(context):
|
|||||||
context.template = "www/404.html"
|
context.template = "www/404.html"
|
||||||
return
|
return
|
||||||
|
|
||||||
batch_name = course.get_current_batch()
|
batch_name = course.get_current_batch(frappe.session.user)
|
||||||
batch = course.get_batch(batch_name)
|
batch = course.get_batch(batch_name)
|
||||||
context.batch = batch
|
context.batch = batch
|
||||||
if batch_name:
|
if batch_name:
|
||||||
|
|||||||
@@ -82,7 +82,8 @@ frappe.ready(() => {
|
|||||||
method: "community.lms.doctype.lms_batch_membership.lms_batch_membership.update_current_membership",
|
method: "community.lms.doctype.lms_batch_membership.lms_batch_membership.update_current_membership",
|
||||||
args: {
|
args: {
|
||||||
batch: batch,
|
batch: batch,
|
||||||
course: course
|
course: course,
|
||||||
|
member: frappe.session.user
|
||||||
},
|
},
|
||||||
callback: (data) => {
|
callback: (data) => {
|
||||||
window.location.href = `/courses/${course}/home`;
|
window.location.href = `/courses/${course}/home`;
|
||||||
|
|||||||
Reference in New Issue
Block a user