feat: content not visible to guest users
diff --git a/erpnext/www/lms/content.html b/erpnext/www/lms/content.html
index 3e00c79..a908d85 100644
--- a/erpnext/www/lms/content.html
+++ b/erpnext/www/lms/content.html
@@ -1,5 +1,5 @@
{% extends "templates/base.html" %}
-{% block title %}{% endblock %}
+{% block title %}{{ content.name or 'Content Page' }}{% endblock %}
{% block head_include %}
<style>
@@ -73,30 +73,6 @@
<div class="my-5">
{{ content.description }}
</div>
-
-{% block script %}
- <script src="https://cdn.plyr.io/3.5.3/plyr.js"></script>
- <script>
- const player = new Plyr('#player');
-
- frappe.ready(() => {
- next = document.getElementById('nextButton')
- next.disabled = false;
- })
-
- function handle(url) {
- frappe.call('ping').then((r) => {
- frappe.call("add_activity",
- {
- course: {{ course }},
- content_type: {{ content_type }},
- content: {{ content.name }},
- }
- )
- })
- }
- </script>
-{% endblock %}
{% endmacro %}
{% macro article() %}
@@ -133,4 +109,30 @@
</div>
</div>
</section>
+{% endblock %}
+
+{% block script %}
+ {% if content_type=='Video' %}
+ <script src="https://cdn.plyr.io/3.5.3/plyr.js"></script>
+ {% endif %}
+ <script>
+ {% if content_type=='Video' %}
+ const player = new Plyr('#player');
+ {% endif %}
+
+ frappe.ready(() => {
+ next = document.getElementById('nextButton')
+ next.disabled = false;
+ })
+
+ function handle(url) {
+ frappe.call("add_activity",
+ {
+ course: "{{ course }}",
+ content_type: "{{ content_type }}",
+ content: "{{ content.name }}",
+ }
+ )
+ }
+ </script>
{% endblock %}
\ No newline at end of file
diff --git a/erpnext/www/lms/content.py b/erpnext/www/lms/content.py
index 9d26a32..78b02e2 100644
--- a/erpnext/www/lms/content.py
+++ b/erpnext/www/lms/content.py
@@ -5,15 +5,17 @@
no_cache = 1
def get_context(context):
+ if frappe.session.user == "Guest":
+ frappe.local.flags.redirect_location = '/lms'
+ raise frappe.Redirect
+
context.course = frappe.form_dict['course']
context.topic = frappe.form_dict['topic']
content = frappe.form_dict['content']
context.content_type = frappe.form_dict['type']
context.content = frappe.get_doc(context.content_type, content).as_dict()
-
context.previous = get_previous_content(context.topic, context.course, context.content, context.content_type)
-
context.next = get_next_content(context.topic, context.course, context.content, context.content_type)
def get_next_content(topic, course, content, content_type):
diff --git a/erpnext/www/lms/course.html b/erpnext/www/lms/course.html
index 68128dc..30b594d 100644
--- a/erpnext/www/lms/course.html
+++ b/erpnext/www/lms/course.html
@@ -35,7 +35,11 @@
{% macro card(topic, index, length) %}
<div class="col-sm-{{ 12 if length%3 == 1 and index == 1 else 6 if length%3 == 2 and index in [1,2] else 4}} mb-4 text-left">
<div class="card h-100">
- <a href="/lms/content?course={{ course.name }}&topic={{ topic.name }}&type={{ topic.topic_content[0].content_type }}&content={{ topic.topic_content[0].content }}" class="no-decoration no-underline">
+ {% if frappe.session.user == 'Guest' %}
+ <div>
+ {% else %}
+ <a href="/lms/content?course={{ course.name }}&topic={{ topic.name }}&type={{ topic.topic_content[0].content_type }}&content={{ topic.topic_content[0].content }}" class="no-decoration no-underline">
+ {% endif %}
{% if topic.hero_image %}
<div class="card-hero-img" style="background-image: url({{ topic.hero_image }})"></div>
{% else %}
@@ -48,21 +52,29 @@
<div>
<ol class="list-unstyled">
{% for content in topic.topic_content %}
- <li><a class="text-muted" href="/lms/content?course={{ course.name }}&topic={{ topic.name }}&type={{ content.content_type }}&content={{ content.content }}">{{ content.content }}</li></a>
+ <li>
+ {% if frappe.session.user == 'Guest' %}
+ <span class="text-muted">{{ content.content }}</span>
+ {% else %}
+ <a class="text-muted" href="/lms/content?course={{ course.name }}&topic={{ topic.name }}&type={{ content.content_type }}&content={{ content.content }}">
+ {{ content.content }}
+ </a>
+ {% endif %}
+ </li>
{% endfor %}
</ol>
</div>
</div>
- {% if index==1 %}
- <div class='card-footer'>
- <i class="fa fa-check-circle text-success"></i> Completed
+ {% if frappe.session.user == 'Guest' %}
</div>
- {% else %}
+ {% else %}
<div class='card-footer'>
- <i class="fa fa-circle-o text-warning"></i> In Progress
+ {% if index==1 %} <span class="indicator green"> Completed </span>
+ {% else %} <span class="indicator orange"> Completed </span>
+ {% endif %}
</div>
- {% endif %}
- </a>
+ </a>
+ {% endif %}
</div>
</div>
{% endmacro %}
diff --git a/erpnext/www/lms/index.html b/erpnext/www/lms/index.html
index f475699..be536ff 100644
--- a/erpnext/www/lms/index.html
+++ b/erpnext/www/lms/index.html
@@ -62,7 +62,7 @@
<h1>{{ education_settings.portal_title }}</h1>
<p class='lead'>{{ education_settings.description }}</p>
<p class="mt-4">
- <a class="btn btn-primary btn-lg" style="width: 170px;" href="/pricing">Start Learning</a>
+ <a class="btn btn-primary btn-lg" style="width: 170px;" href="{{ '/login#signup' if frappe.session.user == 'Guest' else '/lms/all-programs' }}">Start Learning</a>
</p>
<a href="https://erpnext.com" target="blank" class="mt-0 small text-muted">Go to erpnext.com</a>
</div>
diff --git a/erpnext/www/lms/macros/hero.html b/erpnext/www/lms/macros/hero.html
index 080221b..f837b5c 100644
--- a/erpnext/www/lms/macros/hero.html
+++ b/erpnext/www/lms/macros/hero.html
@@ -3,7 +3,9 @@
<h1>{{ title}}</h1>
<p class='lead' style="max-width: 100%;">{{ description }}</p>
<p class="mt-4">
+ {% if frappe.session.user == 'Guest' %}
<a id="signup" class="btn btn-primary btn-lg" style="width: 170px;" href="/login#signup" hidden=true>Sign Up</a>
+ {% endif %}
</p>
</div>