fix: get_mentors in batch
This commit is contained in:
@@ -17,6 +17,17 @@ class LMSBatch(Document):
|
|||||||
course_batches = frappe.get_all("LMS Batch",{"course":self.course})
|
course_batches = frappe.get_all("LMS Batch",{"course":self.course})
|
||||||
self.code = short_code + str(len(course_batches) + 1)
|
self.code = short_code + str(len(course_batches) + 1)
|
||||||
|
|
||||||
|
def get_mentors(self):
|
||||||
|
mentors = []
|
||||||
|
memberships = frappe.get_all(
|
||||||
|
"LMS Batch Membership",
|
||||||
|
{"batch": self.name, "member_type": "Mentor"},
|
||||||
|
["member"])
|
||||||
|
for membership in memberships:
|
||||||
|
member = frappe.db.get_value("Community Member", membership.member, ["full_name", "photo", "abbr"], as_dict=1)
|
||||||
|
mentors.append(member)
|
||||||
|
return mentors
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_messages(batch):
|
def get_messages(batch):
|
||||||
messages = frappe.get_all("LMS Message", {"batch": batch}, ["*"], order_by="creation")
|
messages = frappe.get_all("LMS Message", {"batch": batch}, ["*"], order_by="creation")
|
||||||
|
|||||||
@@ -133,27 +133,13 @@ class LMSCourse(Document):
|
|||||||
{"member": member},
|
{"member": member},
|
||||||
["batch"])
|
["batch"])
|
||||||
batch_names = {m.batch for m in memberships}
|
batch_names = {m.batch for m in memberships}
|
||||||
mentor_batches = [b for b in batches if b.name in batch_names]
|
return [b for b in batches if b.name in batch_names]
|
||||||
return self.get_batch_mentors(mentor_batches)
|
|
||||||
|
|
||||||
def get_upcoming_batches(self):
|
def get_upcoming_batches(self):
|
||||||
now = frappe.utils.nowdate()
|
now = frappe.utils.nowdate()
|
||||||
batches = find_all("LMS Batch",
|
batches = find_all("LMS Batch",
|
||||||
course=self.name,
|
course=self.name,
|
||||||
start_date=[">", now])
|
start_date=[">", now])
|
||||||
batches = self.get_batch_mentors(batches)
|
|
||||||
return batches
|
|
||||||
|
|
||||||
def get_batch_mentors(self, batches):
|
|
||||||
for batch in batches:
|
|
||||||
batch.mentors = []
|
|
||||||
mentors = frappe.get_all(
|
|
||||||
"LMS Batch Membership",
|
|
||||||
{"batch": batch.name, "member_type": "Mentor"},
|
|
||||||
["member"])
|
|
||||||
for mentor in mentors:
|
|
||||||
member = frappe.db.get_value("Community Member", mentor.member, ["full_name", "photo", "abbr"], as_dict=1)
|
|
||||||
batch.mentors.append(member)
|
|
||||||
return batches
|
return batches
|
||||||
|
|
||||||
def find_all(doctype, order_by=None, **filters):
|
def find_all(doctype, order_by=None, **filters):
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
<div>Starting {{frappe.utils.format_date(batch.start_date, "medium")}}</div>
|
<div>Starting {{frappe.utils.format_date(batch.start_date, "medium")}}</div>
|
||||||
<div class="course-type" style="color: #888; padding: 10px 0px;">mentors</div>
|
<div class="course-type" style="color: #888; padding: 10px 0px;">mentors</div>
|
||||||
|
|
||||||
{% for m in batch.mentors %}
|
{% for m in batch.get_mentors() %}
|
||||||
<div>
|
<div>
|
||||||
{% if m.photo_url %}
|
{% if m.photo_url %}
|
||||||
<img class="profile-photo" src="{{m.photo_url}}">
|
<img class="profile-photo" src="{{m.photo_url}}">
|
||||||
|
|||||||
@@ -6,5 +6,3 @@ def get_context(context):
|
|||||||
context.course = frappe.form_dict["course"]
|
context.course = frappe.form_dict["course"]
|
||||||
context.batch_code = frappe.form_dict["batch"]
|
context.batch_code = frappe.form_dict["batch"]
|
||||||
redirect_if_not_a_member(context.course, context.batch_code)
|
redirect_if_not_a_member(context.course, context.batch_code)
|
||||||
|
|
||||||
print(context)
|
|
||||||
Reference in New Issue
Block a user