Compare commits

..

7 Commits

Author SHA1 Message Date
Anand Chitipothu
8d7963fc60 feat: added "Resume Course" button to course teaser
Closes #102
2021-05-24 09:55:35 +05:30
Anand Chitipothu
38938ac14b feat: added ability to find the batch of a student
Added the course field and member_email fields to LMS Batch Membership
to allow the possibility of querying if a user is a student of a course.

Closes #101
2021-05-24 09:55:13 +05:30
Anand Chitipothu
4a2ecff15d Merge pull request #98 from fossunited/remove-primary-color-from-app
fix: removed primary color from app
2021-05-21 13:26:38 +05:30
Jannat Patel
f8d6b5b949 Merge pull request #99 from fossunited/mentor-dashboard
Refactored batch pages and added batch progress page
2021-05-21 13:25:56 +05:30
pateljannat
7a650b46ac fix: removed primary color from app 2021-05-21 11:06:37 +05:30
Jannat Patel
b61ca1d7a2 Merge pull request #97 from fossunited/gitignore-build-file
fix: gitignore dist folder
2021-05-21 10:31:40 +05:30
pateljannat
573019bbcc fix: added build dist folder to gitignore 2021-05-21 10:23:44 +05:30
7 changed files with 39 additions and 29 deletions

3
.gitignore vendored
View File

@@ -3,4 +3,5 @@
*.egg-info *.egg-info
*.swp *.swp
tags tags
community/docs/current community/docs/current
community/public/dist

View File

@@ -6,11 +6,13 @@
"engine": "InnoDB", "engine": "InnoDB",
"field_order": [ "field_order": [
"batch", "batch",
"role",
"column_break_3",
"member", "member",
"member_name", "member_name",
"member_type" "member_email",
"column_break_3",
"course",
"member_type",
"role"
], ],
"fields": [ "fields": [
{ {
@@ -30,6 +32,7 @@
"options": "Community Member" "options": "Community Member"
}, },
{ {
"default": "Student",
"fieldname": "member_type", "fieldname": "member_type",
"fieldtype": "Select", "fieldtype": "Select",
"in_list_view": 1, "in_list_view": 1,
@@ -37,6 +40,7 @@
"options": "\nStudent\nMentor\nStaff" "options": "\nStudent\nMentor\nStaff"
}, },
{ {
"default": "Member",
"fieldname": "role", "fieldname": "role",
"fieldtype": "Select", "fieldtype": "Select",
"in_standard_filter": 1, "in_standard_filter": 1,
@@ -54,11 +58,28 @@
{ {
"fieldname": "column_break_3", "fieldname": "column_break_3",
"fieldtype": "Column Break" "fieldtype": "Column Break"
},
{
"fetch_from": "member.email",
"fieldname": "member_email",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Member Email",
"read_only": 1,
"read_only_depends_on": "member.email"
},
{
"fetch_from": "batch.course",
"fieldname": "course",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Course",
"read_only": 1
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"links": [], "links": [],
"modified": "2021-04-26 12:52:59.826509", "modified": "2021-05-24 09:32:04.128620",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "LMS", "module": "LMS",
"name": "LMS Batch Membership", "name": "LMS Batch Membership",

View File

@@ -109,28 +109,17 @@ class LMSCourse(Document):
Returns None if the student is not part of any batch. Returns None if the student is not part of any batch.
""" """
if not email: if not email:
return False return
member = self.get_community_member(email)
result = frappe.db.get_all(
"LMS Batch Membership",
filters={
"member": member,
"member_type": "Student",
},
fields=['batch']
)
batches = [row['batch'] for row in result]
# filter the batches that are for this course batch_name = frappe.get_value(
result = frappe.db.get_all( doctype="LMS Batch Membership",
"LMS Batch",
filters={ filters={
"course": self.name, "course": self.name,
"name": ["IN", batches] "member_type": "Student",
}) "member_email": email
batches = [row['name'] for row in result] },
if batches: fieldname="batch")
return frappe.get_doc("LMS Batch", batches[0]) return batch_name and frappe.get_doc("LMS Batch", batch_name)
def get_instructor(self): def get_instructor(self):
member_name = self.get_community_member(self.owner) member_name = self.get_community_member(self.owner)

View File

@@ -6,6 +6,10 @@
</div> </div>
</div> </div>
<div class="course-footer"> <div class="course-footer">
{% set batch = course.get_student_batch(frappe.session.user) %}
{% if batch %}
<a class="btn btn-secondary pull-right" href="/courses/{{course.name}}/{{batch.name}}/learn">Resume Course</a>
{% endif %}
<div class="course-author"> <div class="course-author">
{% with author = course.get_instructor() %} {% with author = course.get_instructor() %}
{{ widgets.Avatar(member=author, avatar_class="avatar-medium") }} <a href="/{{author.username}}">{{ author.full_name }}</a> {{ widgets.Avatar(member=author, avatar_class="avatar-medium") }} <a href="/{{author.username}}">{{ author.full_name }}</a>

View File

@@ -23,8 +23,6 @@
--cta-color: var(--c4); --cta-color: var(--c4);
--send-message: var(--c7); --send-message: var(--c7);
--received-message: var(--c8); --received-message: var(--c8);
--primary-color: #08B74F !important;
} }
body { body {

View File

@@ -1,5 +1,3 @@
@primary-color: #08B74F;
h2 { h2 {
margin: 20px 0px; margin: 20px 0px;
color: black; color: black;

View File

@@ -1,6 +1,5 @@
/* Define all your css variables here. */ /* Define all your css variables here. */
:root { :root {
--primary-color: #08B74F;
--tag-color: #737373; --tag-color: #737373;
--sidebar-bg: #F6F6F6; --sidebar-bg: #F6F6F6;
--sidebar-border: #C4C4C4; --sidebar-border: #C4C4C4;