@@ -18,6 +18,7 @@
|
||||
row-key="batch_course"
|
||||
:options="{
|
||||
showTooltip: false,
|
||||
selectable: user.data?.is_student ? false : true,
|
||||
getRowRoute: (row) => ({
|
||||
name: 'CourseDetail',
|
||||
params: { courseName: row.name },
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<ListRow
|
||||
:row="row"
|
||||
v-for="row in feedbackList.data"
|
||||
class="group cursor-pointer"
|
||||
class="group cursor-pointer feedback-list"
|
||||
>
|
||||
<template #default="{ column, item }">
|
||||
<ListRowItem
|
||||
@@ -237,3 +237,9 @@ const feedbackColumns = computed(() => {
|
||||
]
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
.feedback-list > button > div {
|
||||
align-items: start;
|
||||
padding: 0.25rem 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Heatmap -->
|
||||
<StudentHeatmap :member="student.email" :base_days="120" />
|
||||
<StudentHeatmap :member="student.email" :days="120" />
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
@@ -27,7 +27,7 @@ const props = defineProps({
|
||||
member: {
|
||||
type: String,
|
||||
},
|
||||
base_days: {
|
||||
days: {
|
||||
type: Number,
|
||||
default: 200,
|
||||
},
|
||||
@@ -42,7 +42,7 @@ const heatmap = createResource({
|
||||
makeParams(values) {
|
||||
return {
|
||||
member: values.member,
|
||||
base_days: props.base_days,
|
||||
base_days: props.days,
|
||||
}
|
||||
},
|
||||
auto: false,
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</Button>
|
||||
</div>
|
||||
</header>
|
||||
<div v-if="batch.data" class="grid grid-cols-[75%,25%] h-screen">
|
||||
<div v-if="batch.data" class="grid grid-cols-[75%,25%]">
|
||||
<div class="border-r">
|
||||
<Tabs
|
||||
v-model="tabIndex"
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
"link_fieldname": "chapter"
|
||||
}
|
||||
],
|
||||
"modified": "2024-11-15 12:03:31.370943",
|
||||
"modified": "2025-02-03 15:23:17.125617",
|
||||
"modified_by": "Administrator",
|
||||
"module": "LMS",
|
||||
"name": "Course Chapter",
|
||||
@@ -139,6 +139,18 @@
|
||||
"role": "LMS Student",
|
||||
"select": 1,
|
||||
"share": 1
|
||||
},
|
||||
{
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"export": 1,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Course Creator",
|
||||
"share": 1,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"search_fields": "title",
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<div>
|
||||
<p>Hi {{ doc.member_name }},</p>
|
||||
<p>We noticed that you started enrolling in the {{ doc.payment_for_document_type.split(" ")[-1] }} {{ frappe.db.get_value(doc.payment_for_document_type, doc.payment_for_document, "title") }} but didn’t complete your payment.</p>
|
||||
<p>We have a limited number of seats, and they won't be available for long!</p>
|
||||
<p>Don’t miss this opportunity to enhance your skills. Click below to complete your enrollment:</p>
|
||||
<p>
|
||||
<a href="/lms/billing/{{ doc.payment_for_document_type.split(' ')[-1].lower() }}/{{ doc.payment_for_document }}">👉 Complete Your Enrollment</a>
|
||||
</p>
|
||||
<p>If you have any questions or need assistance, feel free to reach out to our support team.</p>
|
||||
<p>Looking forward to seeing you enrolled!</p>
|
||||
</div>
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"attach_print": 0,
|
||||
"channel": "Email",
|
||||
"condition": "doc.payment_received == 0",
|
||||
"creation": "2025-02-03 15:52:32.508093",
|
||||
"date_changed": "creation",
|
||||
"days_in_advance": 1,
|
||||
"docstatus": 0,
|
||||
"doctype": "Notification",
|
||||
"document_type": "LMS Payment",
|
||||
"enabled": 1,
|
||||
"event": "Days After",
|
||||
"idx": 0,
|
||||
"is_standard": 1,
|
||||
"message": "<div>\n <p>Hi {{ doc.member_name }},</p>\n <p>We noticed that you started enrolling in the {{ doc.payment_for_document_type.split(\" \")[-1] }} {{ frappe.db.get_value(doc.payment_for_document_type, doc.payment_for_document, \"title\") }} but didn\u2019t complete your payment.</p>\n <p>We have a limited number of seats, and they won't be available for long!</p>\n <p>Don\u2019t miss this opportunity to enhance your skills. Click below to complete your enrollment:</p>\n <p>\n <a href=\"/lms/billing/{{ doc.payment_for_document_type.split(' ')[-1].lower() }}/{{ doc.payment_for_document }}\">\ud83d\udc49 Complete Your Enrollment</a>\n </p>\n <p>If you have any questions or need assistance, feel free to reach out to our support team.</p>\n <p>Looking forward to seeing you enrolled!</p>\n</div>",
|
||||
"message_type": "HTML",
|
||||
"minutes_offset": 0,
|
||||
"modified": "2025-02-03 16:14:24.568958",
|
||||
"modified_by": "sayali@frappe.io",
|
||||
"module": "LMS",
|
||||
"name": "Payment Completion Reminder",
|
||||
"owner": "sayali@frappe.io",
|
||||
"recipients": [
|
||||
{
|
||||
"receiver_by_document_field": "member"
|
||||
},
|
||||
{
|
||||
"cc": "",
|
||||
"receiver_by_role": "Moderator"
|
||||
}
|
||||
],
|
||||
"send_system_notification": 0,
|
||||
"send_to_all_assignees": 0,
|
||||
"subject": " Complete Your Enrollment - Don't miss out!"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<p>Add your message here</p>
|
||||
@@ -0,0 +1,6 @@
|
||||
import frappe
|
||||
|
||||
|
||||
def get_context(context):
|
||||
# do your magic here
|
||||
pass
|
||||
@@ -0,0 +1,11 @@
|
||||
Hi {{ doc.member_name }},
|
||||
|
||||
We noticed that you started enrolling in the {{ doc.payment_for_document_type.split(" ")[-1] }} {{ frappe.db.get_value(doc.payment_for_document_type, doc.payment_for_document, "title") }} but didn’t complete your payment. We have limited number of seats and they won't be empty for long.
|
||||
|
||||
Don’t miss this opportunity to enhance your skills. Click below to complete your enrollment now:
|
||||
|
||||
[👉 Complete Your Enrollment](/lms/billing/{{ doc.payment_for_document_type.split(" ")[-1].lower()/doc.payment_for_document }})
|
||||
|
||||
If you have any questions or need assistance, feel free to reach out to our support team.
|
||||
|
||||
Looking forward to seeing you enrolled!
|
||||
Reference in New Issue
Block a user