feat: batch folders, redirects, members page
This commit is contained in:
36
community/www/courses/utils.py
Normal file
36
community/www/courses/utils.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import frappe
|
||||
|
||||
def get_member_with_email():
|
||||
try:
|
||||
return frappe.db.get_value("Community Member", {"email": frappe.session.user}, "name")
|
||||
except frappe.DoesNotExistError:
|
||||
return
|
||||
|
||||
def get_member_with_name(name):
|
||||
try:
|
||||
return frappe.get_doc("Community Member", name)
|
||||
except frappe.DoesNotExistError:
|
||||
return
|
||||
|
||||
def get_batch(code):
|
||||
try:
|
||||
return frappe.db.get_value("LMS Batch", {"code": code}, "name")
|
||||
except frappe.DoesNotExistError:
|
||||
return
|
||||
|
||||
def is_member_of_batch(batch_code):
|
||||
membership = frappe.get_all("LMS Batch Membership", {"batch": get_batch(batch_code), "member": get_member_with_email()})
|
||||
if len(membership):
|
||||
return True
|
||||
return False
|
||||
|
||||
def redirect_if_not_a_member(course,batch_code):
|
||||
if not is_member_of_batch(batch_code):
|
||||
frappe.local.flags.redirect_location = "/courses/" + course
|
||||
raise frappe.Redirect
|
||||
|
||||
def get_course(slug):
|
||||
try:
|
||||
return frappe.db.get_value("LMS Course", {"slug": slug}, "name", as_dict=True)
|
||||
except frappe.DoesNotExistError:
|
||||
return
|
||||
Reference in New Issue
Block a user