feat: notify me
This commit is contained in:
@@ -58,6 +58,12 @@
|
||||
Continue Learning <img class="ml-2" src="/assets/community/icons/white-arrow.svg" />
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if course.upcoming %}
|
||||
<button class="button wide-button is-default" id="notify-me" data-course="{{course.name | urlencode}}"
|
||||
{% if is_user_interested %} disabled="disabled" title="Your interest has already been noted." {% endif %} >
|
||||
Notify me when available
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if course.video_link %}
|
||||
<div class="button wide-button is-secondary video-preview">
|
||||
Watch Video Preview
|
||||
|
||||
@@ -41,6 +41,10 @@ frappe.ready(() => {
|
||||
submit_review(e);
|
||||
})
|
||||
|
||||
$("#notify-me").click((e) => {
|
||||
notify_user(e);
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
var check_mentor_request = () => {
|
||||
@@ -209,3 +213,23 @@ var submit_review = (e) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var notify_user = (e) => {
|
||||
e.preventDefault();
|
||||
var course = decodeURIComponent($(e.currentTarget).attr("data-course"));
|
||||
if (frappe.session.user == "Guest") {
|
||||
window.location.href = `/login?redirect-to=/courses/${course}`;
|
||||
return;
|
||||
}
|
||||
|
||||
frappe.call({
|
||||
method: "community.lms.doctype.lms_course_interest.lms_course_interest.capture_interest",
|
||||
args: {
|
||||
"course": course
|
||||
},
|
||||
callback: (data) => {
|
||||
frappe.msgprint(__("Your interest has been noted. We'll notify you via email when this course becomes available."));
|
||||
$("#notify-me").attr("disabled", true).attr("title", "Your interest has already been noted");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -18,9 +18,18 @@ def get_context(context):
|
||||
membership = course.get_membership(frappe.session.user)
|
||||
context.course.query_parameter = "?batch=" + membership.batch if membership and membership.batch else ""
|
||||
context.membership = membership
|
||||
if context.course.upcoming:
|
||||
context.is_user_interested = get_user_interest(context.course.name)
|
||||
context.metatags = {
|
||||
"title": course.title,
|
||||
"image": course.image,
|
||||
"description": course.short_introduction,
|
||||
"keywords": course.title
|
||||
}
|
||||
|
||||
def get_user_interest(course):
|
||||
return frappe.db.count("LMS Course Interest",
|
||||
{
|
||||
"course": course,
|
||||
"user": frappe.session.user
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user