Compare commits
20 Commits
cleanup
...
upcoming-c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
709f0c2274 | ||
|
|
be47700e7c | ||
|
|
40842830a4 | ||
|
|
11d070fa0d | ||
|
|
dd2f830a33 | ||
|
|
324033e9ee | ||
|
|
86596d0cfe | ||
|
|
9323cfd748 | ||
|
|
d125b02cec | ||
|
|
276d64a66a | ||
|
|
79eb381a41 | ||
|
|
44f9c0dfd3 | ||
|
|
0ca4cd724e | ||
|
|
8a3e31f021 | ||
|
|
9be8a1af0b | ||
|
|
b9cac20613 | ||
|
|
e6d5e6d37b | ||
|
|
0abfcac7da | ||
|
|
b70e8b9acc | ||
|
|
3b1e1aa3c3 |
@@ -9,7 +9,6 @@
|
|||||||
"course",
|
"course",
|
||||||
"title",
|
"title",
|
||||||
"description",
|
"description",
|
||||||
"locked",
|
|
||||||
"index_"
|
"index_"
|
||||||
],
|
],
|
||||||
"fields": [
|
"fields": [
|
||||||
@@ -24,12 +23,6 @@
|
|||||||
"fieldtype": "Markdown Editor",
|
"fieldtype": "Markdown Editor",
|
||||||
"label": "Description"
|
"label": "Description"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"default": "0",
|
|
||||||
"fieldname": "locked",
|
|
||||||
"fieldtype": "Check",
|
|
||||||
"label": "Locked"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"fieldname": "course",
|
"fieldname": "course",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
@@ -52,7 +45,7 @@
|
|||||||
"link_fieldname": "chapter"
|
"link_fieldname": "chapter"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2021-05-13 21:05:20.531890",
|
"modified": "2021-07-23 19:03:57.946831",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "LMS",
|
"module": "LMS",
|
||||||
"name": "Chapter",
|
"name": "Chapter",
|
||||||
|
|||||||
@@ -30,10 +30,13 @@ class InviteRequest(Document):
|
|||||||
return user
|
return user
|
||||||
|
|
||||||
def send_email(self):
|
def send_email(self):
|
||||||
subject = _("Your request has been approved.")
|
site_name = "Mon.School"
|
||||||
|
subject = _("Welcome to {0}!").format(site_name)
|
||||||
|
|
||||||
args = {
|
args = {
|
||||||
"full_name": self.full_name,
|
"full_name": self.full_name,
|
||||||
"signup_form_link": "/new-sign-up?invite_code={0}".format(self.name),
|
"signup_form_link": "/new-sign-up?invite_code={0}".format(self.name),
|
||||||
|
"site_name": site_name,
|
||||||
"site_url": frappe.utils.get_url()
|
"site_url": frappe.utils.get_url()
|
||||||
}
|
}
|
||||||
frappe.sendmail(
|
frappe.sendmail(
|
||||||
@@ -42,7 +45,8 @@ class InviteRequest(Document):
|
|||||||
subject=subject,
|
subject=subject,
|
||||||
header=[subject, "green"],
|
header=[subject, "green"],
|
||||||
template = "lms_invite_request_approved",
|
template = "lms_invite_request_approved",
|
||||||
args=args)
|
args=args,
|
||||||
|
now=True)
|
||||||
|
|
||||||
@frappe.whitelist(allow_guest=True)
|
@frappe.whitelist(allow_guest=True)
|
||||||
def create_invite_request(invite_email):
|
def create_invite_request(invite_email):
|
||||||
|
|||||||
@@ -21,14 +21,14 @@
|
|||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"field_order": [
|
"field_order": [
|
||||||
"title",
|
"title",
|
||||||
"short_code",
|
|
||||||
"video_link",
|
"video_link",
|
||||||
"column_break_3",
|
|
||||||
"is_published",
|
|
||||||
"disable_self_learning",
|
|
||||||
"image",
|
"image",
|
||||||
"section_break_5",
|
"column_break_3",
|
||||||
"tags",
|
"tags",
|
||||||
|
"is_published",
|
||||||
|
"upcoming",
|
||||||
|
"disable_self_learning",
|
||||||
|
"section_break_5",
|
||||||
"short_introduction",
|
"short_introduction",
|
||||||
"description"
|
"description"
|
||||||
],
|
],
|
||||||
@@ -53,11 +53,6 @@
|
|||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"label": "Published"
|
"label": "Published"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"fieldname": "short_code",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"label": "Short Code"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"fieldname": "column_break_3",
|
"fieldname": "column_break_3",
|
||||||
"fieldtype": "Column Break"
|
"fieldtype": "Column Break"
|
||||||
@@ -92,6 +87,12 @@
|
|||||||
"fieldname": "tags",
|
"fieldname": "tags",
|
||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"label": "Tags"
|
"label": "Tags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "0",
|
||||||
|
"fieldname": "upcoming",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Is an Upcoming Course"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
@@ -118,7 +119,7 @@
|
|||||||
"link_fieldname": "course"
|
"link_fieldname": "course"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2021-07-09 15:05:05.372430",
|
"modified": "2021-07-23 19:01:29.765570",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "LMS",
|
"module": "LMS",
|
||||||
"name": "LMS Course",
|
"name": "LMS Course",
|
||||||
@@ -141,6 +142,5 @@
|
|||||||
"sort_field": "creation",
|
"sort_field": "creation",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
"title_field": "title",
|
"title_field": "title",
|
||||||
"track_changes": 1,
|
"track_changes": 1
|
||||||
"track_views": 1
|
|
||||||
}
|
}
|
||||||
@@ -27,12 +27,13 @@
|
|||||||
"fieldname": "lesson",
|
"fieldname": "lesson",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"label": "Lesson",
|
"label": "Lesson",
|
||||||
"options": "Lesson"
|
"options": "Lesson",
|
||||||
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2021-06-23 17:58:57.642873",
|
"modified": "2021-07-23 19:06:12.551633",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "LMS",
|
"module": "LMS",
|
||||||
"name": "LMS Quiz",
|
"name": "LMS Quiz",
|
||||||
|
|||||||
@@ -8,9 +8,11 @@
|
|||||||
|
|
||||||
<div class="chapter-content collapse navbar-collapse" id="{{ chapter.get_slugified_chapter_title() }}">
|
<div class="chapter-content collapse navbar-collapse" id="{{ chapter.get_slugified_chapter_title() }}">
|
||||||
|
|
||||||
|
{% if chapter.description %}
|
||||||
<div class="chapter-description muted-text">
|
<div class="chapter-description muted-text">
|
||||||
{{ chapter.description }}
|
{{ chapter.description }}
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="lessons">
|
<div class="lessons">
|
||||||
|
|
||||||
|
|||||||
@@ -53,15 +53,19 @@
|
|||||||
|
|
||||||
{% set query_parameter = "?batch=" + membership.batch if membership and membership.batch else "" %}
|
{% set query_parameter = "?batch=" + membership.batch if membership and membership.batch else "" %}
|
||||||
|
|
||||||
{% if membership %}
|
{% if course.upcoming %}
|
||||||
|
<div class="view-course-link is-default">
|
||||||
|
Upcoming Course <img class="ml-3" src="/assets/community/icons/black-arrow.svg" />
|
||||||
|
</div>
|
||||||
|
<a class="stretched-link" href="/courses/{{ course.name }}"></a>
|
||||||
|
|
||||||
|
{% elif membership %}
|
||||||
<div class="view-course-link is-primary">
|
<div class="view-course-link is-primary">
|
||||||
Continue Course <img class="ml-3" src="/assets/community/icons/white-arrow.svg" />
|
Continue Course <img class="ml-3" src="/assets/community/icons/white-arrow.svg" />
|
||||||
</div>
|
</div>
|
||||||
<a class="stretched-link" href="{{ course.get_learn_url(lesson_index) }}{{ query_parameter }}"></a>
|
<a class="stretched-link" href="{{ course.get_learn_url(lesson_index) }}{{ query_parameter }}"></a>
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
<div class="view-course-link">
|
<div class="view-course-link">
|
||||||
View Course <img class="ml-3" src="/assets/community/icons/black-arrow.svg" />
|
View Course <img class="ml-3" src="/assets/community/icons/black-arrow.svg" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ class CustomUser(User):
|
|||||||
"""
|
"""
|
||||||
return frappe.get_all(
|
return frappe.get_all(
|
||||||
'LMS Course', {
|
'LMS Course', {
|
||||||
'owner': self.name
|
'owner': self.name,
|
||||||
|
'is_published': True
|
||||||
})
|
})
|
||||||
|
|
||||||
def get_palette(self):
|
def get_palette(self):
|
||||||
@@ -62,9 +63,16 @@ class CustomUser(User):
|
|||||||
|
|
||||||
def get_mentored_courses(self):
|
def get_mentored_courses(self):
|
||||||
""" Returns all courses mentored by this user """
|
""" Returns all courses mentored by this user """
|
||||||
return frappe.get_all("LMS Course Mentor Mapping",
|
mentored_courses = []
|
||||||
|
mapping = frappe.get_all("LMS Course Mentor Mapping",
|
||||||
{
|
{
|
||||||
"mentor": self.name
|
"mentor": self.name,
|
||||||
},
|
},
|
||||||
["name", "course"]
|
["name", "course"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
for map in mapping:
|
||||||
|
if frappe.db.get_value("LMS Course", map.course, "is_published"):
|
||||||
|
mentored_courses.append(map)
|
||||||
|
|
||||||
|
return mentored_courses
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
@import "./style.css";
|
@import "./style.css";
|
||||||
@import "./vars.css";
|
@import "./vars.css";
|
||||||
@import "./style.less";
|
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ input[type=checkbox] {
|
|||||||
letter-spacing: -0.0175em
|
letter-spacing: -0.0175em
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 576px) {
|
@media (min-width: 576px) and (max-width: 992px) {
|
||||||
.container {
|
.container {
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
padding-right: 1rem;
|
padding-right: 1rem;
|
||||||
@@ -653,9 +653,14 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.is-default {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #C8CFD5;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
.course-home-outline {
|
.course-home-outline {
|
||||||
margin-top: 3rem;
|
margin-top: 3rem;
|
||||||
flex: 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.small-title {
|
.small-title {
|
||||||
@@ -673,6 +678,7 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
.chapter-description {
|
.chapter-description {
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chapter-icon {
|
.chapter-icon {
|
||||||
@@ -680,26 +686,39 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.course-outline-instructor-parent {
|
.course-outline-instructor-parent {
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: space-between;
|
grid-gap: 2rem;
|
||||||
|
grid-template-columns: 4fr 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.course-outline-instructor-parent {
|
||||||
|
grid-gap: 1rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
.course-outline-instructor-parent {
|
.course-outline-instructor-parent {
|
||||||
flex-direction: column;
|
|
||||||
padding: 0px 24px 0px;
|
padding: 0px 24px 0px;
|
||||||
|
grid-template-columns: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.profile-parent-section {
|
.profile-parent-section {
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: space-between;
|
grid-gap: 2rem;
|
||||||
|
grid-template-columns: 4fr 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.profile-parent-section {
|
||||||
|
grid-gap: 1rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
.profile-parent-section {
|
.profile-parent-section {
|
||||||
flex-direction: column;
|
grid-template-columns: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -731,18 +750,6 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
margin-top: 3rem;
|
margin-top: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1024px) {
|
|
||||||
.course-overview-section {
|
|
||||||
margin-left: 2rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 600px) {
|
|
||||||
.course-overview-section {
|
|
||||||
margin-left: 1rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lesson-info {
|
.lesson-info {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 250%;
|
line-height: 250%;
|
||||||
@@ -900,14 +907,18 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.description-card {
|
.description-card {
|
||||||
padding: 24px;
|
padding: 1.5rem;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.overview-card {
|
.overview-card {
|
||||||
padding: 24px 26px 24px;
|
padding: 1.5rem;
|
||||||
width: 256px;
|
width: 256px;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
display: grid;
|
||||||
|
-moz-column-gap: 1rem;
|
||||||
|
column-gap: 1rem;
|
||||||
|
row-gap: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
@@ -940,10 +951,6 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.overtime-item {
|
|
||||||
margin: 16px 0px 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-all-mentors {
|
.view-all-mentors {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1012,8 +1019,7 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.course-details-outline {
|
.course-details-outline {
|
||||||
margin-top: 16px;
|
margin-top: 1rem;
|
||||||
flex: 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lesson-content-card {
|
.lesson-content-card {
|
||||||
@@ -1022,14 +1028,15 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.course-content-parent {
|
.course-content-parent {
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: space-between;
|
grid-gap: 2rem;
|
||||||
|
grid-template-columns: 2fr minmax(600px, 5fr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 1024px) {
|
||||||
.course-content-parent {
|
.course-content-parent {
|
||||||
|
display: flex;
|
||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
justify-content: center;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1044,8 +1051,7 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.lesson-pagination-parent {
|
.lesson-pagination-parent {
|
||||||
margin: 1rem 0px 0px 2rem;
|
margin-top: 1rem;
|
||||||
flex: 3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
@@ -1129,7 +1135,7 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
line-height: 156%;
|
line-height: 156%;
|
||||||
letter-spacing: -0.0175em;
|
letter-spacing: -0.0175em;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.64);
|
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.64);
|
||||||
padding: 20px;
|
padding: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 375px) {
|
@media (max-width: 375px) {
|
||||||
@@ -1153,7 +1159,7 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
height: fit-content;
|
height: fit-content;
|
||||||
box-shadow: 0px 1px 1px rgb(0 0 0 / 16%);
|
box-shadow: 0px 1px 1px rgb(0 0 0 / 16%);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-top: 25px;
|
margin-top: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 375px) {
|
@media (max-width: 375px) {
|
||||||
@@ -1169,6 +1175,7 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
left: 174px;
|
left: 174px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 165%;
|
line-height: 165%;
|
||||||
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
@@ -1186,7 +1193,6 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.social-icons {
|
.social-icons {
|
||||||
float: right;
|
|
||||||
margin: 16px;
|
margin: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1216,12 +1222,6 @@ div.custom-checkbox>label>input:checked+img {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 600px) {
|
|
||||||
.course-creator-progress-parent {
|
|
||||||
margin-left: 2rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-creator-section {
|
.course-creator-section {
|
||||||
margin-top: 3rem;
|
margin-top: 3rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,307 +0,0 @@
|
|||||||
h2 {
|
|
||||||
margin: 20px 0px;
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.teaser {
|
|
||||||
background: white;
|
|
||||||
border-radius: 9px;
|
|
||||||
border: 1px solid #C4C4C4;
|
|
||||||
|
|
||||||
.teaser-body {
|
|
||||||
padding: 20px;
|
|
||||||
box-shadow: 0px 5px 10px rgb(0 0 0 / 10%)
|
|
||||||
}
|
|
||||||
.teaser-footer {
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.sketch-teaser {
|
|
||||||
.teaser();
|
|
||||||
width: 220px;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
margin-top: 30px;
|
|
||||||
|
|
||||||
svg {
|
|
||||||
width: 200px;
|
|
||||||
height: 200px;
|
|
||||||
}
|
|
||||||
.sketch-image {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
.sketch-footer {
|
|
||||||
border-top: 1px solid#C4C4C4;
|
|
||||||
padding: 10px;
|
|
||||||
background: #F6F6F6;
|
|
||||||
border-radius: 0px 0px 10px 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-teaser {
|
|
||||||
.teaser();
|
|
||||||
color: #444;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
margin-top: 20px;
|
|
||||||
|
|
||||||
h3, h4 {
|
|
||||||
color: black;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-body, .course-footer {
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-body {
|
|
||||||
min-height: 8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-footer {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
a, a:hover {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.anchor_style {
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.anchor_style:hover {
|
|
||||||
text-decoration: none
|
|
||||||
}
|
|
||||||
|
|
||||||
section {
|
|
||||||
padding: 60px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
section h2 {
|
|
||||||
margin-bottom: 40px;
|
|
||||||
font-size: 48px;
|
|
||||||
line-height: 58px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.lightgray {
|
|
||||||
background: #F6F6F6;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hero .jumbotron {
|
|
||||||
background: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.chapter-teaser {
|
|
||||||
.teaser();
|
|
||||||
color: #444;
|
|
||||||
margin: 20px 0px;
|
|
||||||
|
|
||||||
h3, h4 {
|
|
||||||
color: black;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.field-width {
|
|
||||||
width: 40%;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-grouped-links {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-info {
|
|
||||||
border-top: 0px;
|
|
||||||
margin-top: 0px;
|
|
||||||
|
|
||||||
.footer-col-right {
|
|
||||||
padding-top: 1.8rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.web-footer {
|
|
||||||
border-top: 1px solid #E2E6E9;
|
|
||||||
padding: 0px;
|
|
||||||
padding: 2rem 0px;
|
|
||||||
margin-top: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-type {
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1.0em;
|
|
||||||
font-weight: bold;
|
|
||||||
color: var(--tag-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.instructor-title {
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.instructor-subtitle {
|
|
||||||
font-size: 0.8em;
|
|
||||||
color: var(--text-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
// .mentors-wrapper {
|
|
||||||
// .gray-section();
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
.chapter-number {
|
|
||||||
background: var(--text-color);
|
|
||||||
color: white;
|
|
||||||
height: 24px;
|
|
||||||
min-width: 24px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar {
|
|
||||||
background: var(--sidebar-bg);
|
|
||||||
border: 1px solid var(--sidebar-border);
|
|
||||||
margin: 20px 0px;
|
|
||||||
border-radius: 10px;
|
|
||||||
padding: 1px 20px 20px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3 {
|
|
||||||
margin-top: 20px;
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-batch {
|
|
||||||
background: var(--sidebar-bg);
|
|
||||||
color: var(--text-color);
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-batch a {
|
|
||||||
padding: 16px 8px 8px 16px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.sidebar .notice {
|
|
||||||
margin-top: 10px;
|
|
||||||
padding: 10px;
|
|
||||||
border-radius: 10px;
|
|
||||||
border: 1px dashed var(--text-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar .notice a {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
// LiveCode editor
|
|
||||||
|
|
||||||
.livecode-editor {
|
|
||||||
|
|
||||||
.CodeMirror {
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
background: #ffe;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
.CodeMirror-scroll {
|
|
||||||
max-height: 310px;
|
|
||||||
min-height: 310px;
|
|
||||||
}
|
|
||||||
.controls {
|
|
||||||
padding: 10px 0px;
|
|
||||||
}
|
|
||||||
canvas {
|
|
||||||
border: 5px solid #ddd;
|
|
||||||
position: relative;
|
|
||||||
z-index: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.output {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 1;
|
|
||||||
width: 300px;
|
|
||||||
left: 0px;
|
|
||||||
top: 0px;
|
|
||||||
background-color: rgba(255, 255, 255, 0);
|
|
||||||
max-height: 300px;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
word-wrap: break-word;
|
|
||||||
margin: 0px;
|
|
||||||
margin-left: 20px;
|
|
||||||
padding: 4px;
|
|
||||||
color: #888;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.canvas-wrapper {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
.code-wrapper {
|
|
||||||
min-height: 50px;
|
|
||||||
}
|
|
||||||
.CodeMirror {
|
|
||||||
min-height: 50px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.sketch-header {
|
|
||||||
input#sketch-title {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lesson-teaser {
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hero h1 {
|
|
||||||
color: black !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lesson-page {
|
|
||||||
margin: 20px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.exercise-image svg {
|
|
||||||
width: 200px;
|
|
||||||
height: 200px;
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-200 svg {
|
|
||||||
width: 200px;
|
|
||||||
height: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.livecode-editor-small .livecode-editor {
|
|
||||||
.CodeMirror-scroll {
|
|
||||||
max-height: 160px;
|
|
||||||
min-height: 160px;
|
|
||||||
}
|
|
||||||
|
|
||||||
canvas {
|
|
||||||
width: 150px;
|
|
||||||
height: 150px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.mentor-dashboard {
|
|
||||||
margin-top: 20px;
|
|
||||||
|
|
||||||
.submission {
|
|
||||||
margin: 40px 0px 0px 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-preview-message {
|
|
||||||
width: fit-content;
|
|
||||||
margin: 50px 0px 50px;
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
<div>
|
<div>
|
||||||
{% set site_link = "<a href='" + site_url + "'>" + site_url + "</a>" %}
|
{% set site_link = "<a href='" + site_url + "'>" + site_name + "</a>" %}
|
||||||
<p>{{_("Dear Community Member,")}}</p>
|
<p>{{_("Hi,")}}</p>
|
||||||
<p>{{_("Your Invite Request to be a part of {0} has
|
<p>{{_("Welcome to {0}!").format(site_name)}}</p>
|
||||||
been approved.").format(site_link)}}</p>
|
<p>Click on the link below to complete your sign up and set a new password</p>
|
||||||
<p>Click on the link below to complete your Sign up and set a new password</p>
|
|
||||||
<p style="margin: 15px 0px;">
|
<p style="margin: 15px 0px;">
|
||||||
<a href="{{ signup_form_link }}" rel="nofollow" class="btn btn-primary">{{ _("Complete Sign Up") }}</a>
|
<a href="{{ signup_form_link }}" rel="nofollow" class="btn btn-primary">{{ _("Complete Sign Up") }}</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -14,5 +13,5 @@
|
|||||||
</p>
|
</p>
|
||||||
<br>
|
<br>
|
||||||
<p>Thanks and Regards,</p>
|
<p>Thanks and Regards,</p>
|
||||||
<p>Your Community.</p>
|
<p>{{site_name}}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -5,7 +5,7 @@ def get_context(context):
|
|||||||
context.courses = get_courses()
|
context.courses = get_courses()
|
||||||
|
|
||||||
def get_courses():
|
def get_courses():
|
||||||
course_names = frappe.get_all("LMS Course", pluck="name")
|
course_names = frappe.get_all("LMS Course", filters={"is_published": True}, pluck="name")
|
||||||
courses = []
|
courses = []
|
||||||
for course in course_names:
|
for course in course_names:
|
||||||
courses.append(frappe.get_doc("LMS Course", course))
|
courses.append(frappe.get_doc("LMS Course", course))
|
||||||
|
|||||||
@@ -29,10 +29,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="profile-info">
|
<div class="profile-info">
|
||||||
|
<div class="profile-profession">
|
||||||
{% if member.profession %}
|
{% if member.profession %}
|
||||||
<span class="profile-profession"> {{ member.profession }} </span>
|
<span class=""> {{ member.profession }} </span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="social-icons">
|
<span class="social-icons">
|
||||||
{% if member.linkedin %}
|
{% if member.linkedin %}
|
||||||
<a class="linkedin" href="{{ member.linkedin }}">
|
<a class="linkedin" href="{{ member.linkedin }}">
|
||||||
<img src="/assets/community/images/linkedin.png">
|
<img src="/assets/community/images/linkedin.png">
|
||||||
@@ -48,6 +49,7 @@
|
|||||||
<img src="/assets/community/icons/github.svg">
|
<img src="/assets/community/icons/github.svg">
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user