chore: remove old lms files
diff --git a/erpnext/www/lms_legacy.py b/erpnext/www/lms_legacy.py
deleted file mode 100644
index 7561d73..0000000
--- a/erpnext/www/lms_legacy.py
+++ /dev/null
@@ -1,242 +0,0 @@
-from __future__ import unicode_literals
-import erpnext.education.utils as utils
-import frappe
-from frappe import _
-
-# LMS Utils to Update State for Vue Store
-@frappe.whitelist()
-def get_program_enrollments():
- student = utils.get_current_student()
- if student == None:
- return None
- return student.get_program_enrollments()
-
-@frappe.whitelist()
-def get_all_course_enrollments():
- student = utils.get_current_student()
- if student == None:
- return None
- return student.get_all_course_enrollments()
-
-# Vue Client Functions
-@frappe.whitelist(allow_guest=True)
-def get_portal_details():
- """
- Returns portal details from Education Settings Doctype. This contains the Title and Description for LMS amoung other things.
- """
- from erpnext import get_default_company
-
- settings = frappe.get_doc("Education Settings")
- title = settings.portal_title or get_default_company()
- description = settings.description
- return dict(title=title, description=description)
-
-@frappe.whitelist(allow_guest=True)
-def get_featured_programs():
- featured_program_names = frappe.get_all("Program", filters={"is_published": True, "is_featured": True})
- if featured_program_names:
- featured_list = [utils.get_program_and_enrollment_status(program['name']) for program in featured_program_names]
- return featured_list
- else:
- return get_all_programs()[:2]
-
-@frappe.whitelist(allow_guest=True)
-def get_all_programs():
- program_names = frappe.get_all("Program", filters={"is_published": True})
- if program_names:
- program_list = [utils.get_program_and_enrollment_status(program['name']) for program in program_names]
- return program_list
-
-@frappe.whitelist(allow_guest=True)
-def get_program(program_name):
- try:
- return frappe.get_doc('Program', program_name)
- except frappe.DoesNotExistError:
- frappe.throw(_("Program {0} does not exist.".format(program_name)))
-
-# Functions to get program & course details
-@frappe.whitelist(allow_guest=True)
-def get_courses(program_name):
- program = frappe.get_doc('Program', program_name)
- courses = program.get_course_list()
- return courses
-
-@frappe.whitelist()
-def get_next_content(current_content, current_content_type, topic):
- if frappe.session.user == "Guest":
- return None
- topic = frappe.get_doc("Topic", topic)
- content_list = [{'content_type':item.doctype, 'content':item.name} for item in topic.get_contents()]
- current_index = content_list.index({'content': current_content, 'content_type': current_content_type})
- try:
- return content_list[current_index + 1]
- except IndexError:
- return None
-
-def get_quiz_with_answers(quiz_name):
- try:
- quiz = frappe.get_doc("Quiz", quiz_name).get_questions()
- quiz_output = [{'name':question.name, 'question':question.question, 'options':[{'name': option.name, 'option':option.option, 'is_correct':option.is_correct} for option in question.options]} for question in quiz]
- return quiz_output
- except:
- frappe.throw("Quiz {0} does not exist".format(quiz_name))
- return None
-
-@frappe.whitelist()
-def get_quiz_without_answers(quiz_name, course_name):
- try:
- quiz = frappe.get_doc("Quiz", quiz_name)
- questions = quiz.get_questions()
- except:
- frappe.throw("Quiz {0} does not exist".format(quiz_name))
- return None
-
- if utils.check_super_access():
- quiz_output = [{'name':question.name, 'question':question.question, 'type': question.type, 'options':[{'name': option.name, 'option':option.option} for option in question.options]} for question in questions]
- return { 'quizData': quiz_output, 'status': None}
-
- enrollment = utils.get_course_enrollment(course_name).name
- quiz_progress = {}
- quiz_progress['is_complete'], quiz_progress['score'], quiz_progress['result'] = utils.check_quiz_completion(quiz, enrollment)
- quiz_output = [{'name':question.name, 'question':question.question, 'type': question.type, 'options':[{'name': option.name, 'option':option.option} for option in question.options]} for question in questions]
- return { 'quizData': quiz_output, 'status': quiz_progress}
-
-@frappe.whitelist()
-def evaluate_quiz(course, quiz_response, quiz_name):
- """LMS Function: Evaluates a simple multiple choice quiz.
- :param course: name of the course
- :param quiz_response: contains user selected choices for a quiz in the form of a string formatted as a dictionary. The function uses `json.loads()` to convert it to a python dictionary.
- :param quiz_name: Name of the quiz attempted
- """
- import json
- quiz_response = json.loads(quiz_response)
- quiz = frappe.get_doc("Quiz", quiz_name)
- answers, score, status = quiz.evaluate(quiz_response, quiz_name)
- print(answers)
-
- course_enrollment = utils.get_course_enrollment(course)
- if course_enrollment:
- course_enrollment.add_quiz_activity(quiz_name, quiz_response, answers, score, status)
-
- return score
-
-@frappe.whitelist()
-def enroll_in_program(program_name):
- student = utils.get_current_student()
- if not student:
- student = utils.create_student_from_current_user()
- program_enrollment = student.enroll_in_program(program_name)
- return program_name
-
-# Academdy Activity
-@frappe.whitelist()
-def add_activity(course, content_type, content):
- if not utils.get_current_student():
- return
- enrollment = utils.get_course_enrollment(course)
- enrollment.add_activity(content_type, content)
-
-@frappe.whitelist()
-def get_student_course_details(course_name, program_name):
- """
- Return the porgress of a course in a program as well as the content to continue from.
- :param course_name:
- :param program_name:
- """
- student = utils.get_current_student()
- if not student:
- return {'flag':'Start Course' }
-
- course_enrollment = utils.get_course_enrollment(course_name)
- program_enrollment = utils.get_program_enrollment(program_name)
-
- if not program_enrollment:
- return None
-
- if not course_enrollment:
- course_enrollment = utils.enroll_in_course(course_name, program_name)
-
- progress = course_enrollment.get_progress(student)
- count = sum([activity['is_complete'] for activity in progress])
- if count == 0:
- return {'flag':'Start Course'}
- elif count == len(progress):
- return {'flag':'Completed'}
- elif count < len(progress):
- next_item = next(item for item in progress if item['is_complete']==False)
- return {'flag':'Continue'}
-
-@frappe.whitelist()
-def get_student_topic_details(topic_name, course_name):
- """
- Return the porgress of a course in a program as well as the content to continue from.
- :param topic_name:
- :param course_name:
- """
- topic = frappe.get_doc("Topic", topic_name)
- student = utils.get_current_student()
- if not student:
- topic_content = topic.get_all_children()
- if topic_content:
- return {'flag':'Start Course', 'content_type': topic_content[0].content_type, 'content': topic_content[0].content}
- else:
- return None
- course_enrollment = utils.get_course_enrollment(course_name)
- progress = student.get_topic_progress(course_enrollment.name, topic)
- if not progress:
- return { 'flag':'Start Topic', 'content_type': None, 'content': None }
- count = sum([activity['is_complete'] for activity in progress])
- if count == 0:
- return {'flag':'Start Topic', 'content_type': progress[0]['content_type'], 'content': progress[0]['content']}
- elif count == len(progress):
- return {'flag':'Completed', 'content_type': progress[0]['content_type'], 'content': progress[0]['content']}
- elif count < len(progress):
- next_item = next(item for item in progress if item['is_complete']==False)
- return {'flag':'Continue', 'content_type': next_item['content_type'], 'content': next_item['content']}
-
-@frappe.whitelist()
-def get_program_progress(program_name):
- program_enrollment = frappe.get_doc("Program Enrollment", utils.get_program_enrollment(program_name))
- if not program_enrollment:
- return None
- else:
- return program_enrollment.get_program_progress()
-
-@frappe.whitelist()
-def get_joining_date():
- student = utils.get_current_student()
- if student:
- return student.joining_date
-
-@frappe.whitelist()
-def get_quiz_progress_of_program(program_name):
- program_enrollment = frappe.get_doc("Program Enrollment", utils.get_program_enrollment(program_name))
- if not program_enrollment:
- return None
- else:
- return program_enrollment.get_quiz_progress()
-
-
-@frappe.whitelist(allow_guest=True)
-def get_course_details(course_name):
- try:
- course = frappe.get_doc('Course', course_name)
- return course
- except:
- return None
-
-# Functions to get program & course details
-@frappe.whitelist(allow_guest=True)
-def get_topics(course_name):
- try:
- course = frappe.get_doc('Course', course_name)
- return course.get_topics()
- except frappe.DoesNotExistError:
- frappe.throw(_("Course {0} does not exist.".format(course_name)))
-
-@frappe.whitelist()
-def get_content(content_type, content):
- try:
- return frappe.get_doc(content_type, content)
- except frappe.DoesNotExistError:
- frappe.throw(_("{0} {1} does not exist.".format(content_type, content)))
\ No newline at end of file
diff --git a/erpnext/www/lms_old.html b/erpnext/www/lms_old.html
deleted file mode 100644
index aa76ca0..0000000
--- a/erpnext/www/lms_old.html
+++ /dev/null
@@ -1,39 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block title %}{{ heading or "LMS"}}{% endblock %}
-
-{% block navbar %}{% endblock %}
-
-{% block content %}
-{% if lms_enabled %}
-<div id="lms-app"></div>
-<script type="text/javascript" src="/assets/js/lms.min.js"></script>
-{% else %}
-<style>
-.hero-and-content {
- background-color: #f5f7fa;
-}
-header, footer {
- display: none;
-}
-html, body {
- background-color: #f5f7fa;
-}
-{% include "templates/styles/card_style.css" %}
-</style>
-
-<div class='page-card'>
- <div class='page-card-head'>
- <span class='indicator darkgrey'>{{_("Page Missing or Moved")}}</span>
- </div>
- <p>{{_("The page you are looking for is missing. This could be because it is moved or there is a typo in the link.")}}</p>
- <div><a href='/' class='btn btn-primary btn-sm'>{{ _("Home") }}</a></div>
-</div>
-<p class='text-muted text-center small' style='margin-top: -20px;'>{{ _("Error Code: {0}").format('404') }}</p>
-<style>
-.hero-and-content {
- background-color: #f5f7fa;
-}
-</style>
-{% endif %}
-{% endblock %}
\ No newline at end of file
diff --git a/erpnext/www/test_lms.py b/erpnext/www/test_lms.py
deleted file mode 100644
index e63f4c9..0000000
--- a/erpnext/www/test_lms.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2018, Frappe Technologies and Contributors
-# See license.txt
-from __future__ import unicode_literals
-from erpnext.education.doctype.program.test_program import make_program_and_linked_courses
-
-import frappe
-import unittest
-
-class TestLms(unittest.TestCase):
- pass
\ No newline at end of file