diff --git a/lms/lms/doctype/cohort/__init__.py b/lms/lms/doctype/cohort/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lms/lms/doctype/cohort/cohort.js b/lms/lms/doctype/cohort/cohort.js deleted file mode 100644 index 682895d6..00000000 --- a/lms/lms/doctype/cohort/cohort.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) 2021, FOSS United and contributors -// For license information, please see license.txt - -frappe.ui.form.on("Cohort", { - // refresh: function(frm) { - // } -}); diff --git a/lms/lms/doctype/cohort/cohort.json b/lms/lms/doctype/cohort/cohort.json deleted file mode 100644 index 33b33549..00000000 --- a/lms/lms/doctype/cohort/cohort.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "autoname": "format:{course}/{slug}", - "creation": "2021-11-19 11:45:31.016097", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "course", - "title", - "slug", - "section_break_2", - "instructor", - "status", - "column_break_4", - "begin_date", - "end_date", - "duration", - "section_break_8", - "description", - "pages" - ], - "fields": [ - { - "fieldname": "description", - "fieldtype": "Markdown Editor", - "label": "Description" - }, - { - "fieldname": "instructor", - "fieldtype": "Link", - "label": "Instructor", - "options": "User", - "reqd": 1 - }, - { - "fieldname": "status", - "fieldtype": "Select", - "label": "Status", - "options": "Upcoming\nLive\nCompleted\nCancelled", - "reqd": 1 - }, - { - "fieldname": "begin_date", - "fieldtype": "Date", - "label": "Begin Date" - }, - { - "fieldname": "end_date", - "fieldtype": "Date", - "label": "End Date" - }, - { - "fieldname": "duration", - "fieldtype": "Data", - "label": "Duration" - }, - { - "fieldname": "slug", - "fieldtype": "Data", - "in_list_view": 1, - "label": "Slug", - "reqd": 1, - "unique": 1 - }, - { - "fieldname": "column_break_4", - "fieldtype": "Column Break" - }, - { - "fieldname": "section_break_8", - "fieldtype": "Section Break" - }, - { - "fieldname": "section_break_2", - "fieldtype": "Section Break" - }, - { - "fieldname": "title", - "fieldtype": "Data", - "in_list_view": 1, - "label": "Title", - "reqd": 1 - }, - { - "fieldname": "course", - "fieldtype": "Link", - "in_list_view": 1, - "label": "Course", - "options": "LMS Course", - "reqd": 1 - }, - { - "fieldname": "pages", - "fieldtype": "Table", - "label": "Pages", - "options": "Cohort Web Page" - } - ], - "index_web_pages_for_search": 1, - "links": [ - { - "group": "Links", - "link_doctype": "Cohort Subgroup", - "link_fieldname": "cohort" - } - ], - "modified": "2022-10-13 15:46:32.322926", - "modified_by": "Administrator", - "module": "LMS", - "name": "Cohort", - "naming_rule": "Expression", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "share": 1, - "write": 1 - } - ], - "sort_field": "modified", - "sort_order": "DESC", - "states": [], - "track_changes": 1 -} \ No newline at end of file diff --git a/lms/lms/doctype/cohort/cohort.py b/lms/lms/doctype/cohort/cohort.py deleted file mode 100644 index 2d5c32ab..00000000 --- a/lms/lms/doctype/cohort/cohort.py +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (c) 2021, FOSS United and contributors -# For license information, please see license.txt - -import frappe -from frappe.model.document import Document - - -class Cohort(Document): - def get_url(self): - return f"{frappe.utils.get_url()}/lms/courses/{self.course}/cohorts/{self.slug}" - - def get_subgroups(self, include_counts=False, sort_by=None): - names = frappe.get_all("Cohort Subgroup", filters={"cohort": self.name}, pluck="name") - subgroups = [frappe.get_cached_doc("Cohort Subgroup", name) for name in names] - subgroups = sorted(subgroups, key=lambda sg: sg.title) - - if include_counts: - mentors = self._get_subgroup_counts("Cohort Mentor") - students = self._get_subgroup_counts("LMS Enrollment") - join_requests = self._get_subgroup_counts("Cohort Join Request", status="Pending") - for s in subgroups: - s.num_mentors = mentors.get(s.name, 0) - s.num_students = students.get(s.name, 0) - s.num_join_requests = join_requests.get(s.name, 0) - - if sort_by: - subgroups.sort(key=lambda sg: getattr(sg, sort_by), reverse=True) - return subgroups - - def _get_subgroup_counts(self, doctype, **kw): - rows = frappe.get_all( - doctype, - filters={"cohort": self.name, **kw}, - fields=["subgroup", "count(*) as count"], - group_by="subgroup", - ) - return {row["subgroup"]: row["count"] for row in rows} - - def _get_count(self, doctype, **kw): - filters = {"cohort": self.name, **kw} - return frappe.db.count(doctype, filters=filters) - - def get_page_template(self, slug, scope=None): - p = self.get_page(slug, scope=scope) - return p and p.get_template_html() - - def get_page(self, slug, scope=None): - for p in self.pages: - if p.slug == slug and scope in [p.scope, None]: - return p - - def get_pages(self, scope=None): - return [p for p in self.pages if scope in [p.scope, None]] - - def get_stats(self): - return { - "subgroups": self._get_count("Cohort Subgroup"), - "mentors": self._get_count("Cohort Mentor"), - "students": self._get_count("LMS Enrollment"), - "join_requests": self._get_count("Cohort Join Request", status="Pending"), - } - - def get_subgroup(self, slug): - q = dict(cohort=self.name, slug=slug) - name = frappe.db.get_value("Cohort Subgroup", q, "name") - return name and frappe.get_doc("Cohort Subgroup", name) - - def get_mentor(self, email): - q = dict(cohort=self.name, email=email) - name = frappe.db.get_value("Cohort Mentor", q, "name") - return name and frappe.get_doc("Cohort Mentor", name) - - def is_mentor(self, email): - q = {"doctype": "Cohort Mentor", "cohort": self.name, "email": email} - return frappe.db.exists(q) - - def is_admin(self, email): - q = {"doctype": "Cohort Staff", "cohort": self.name, "email": email, "role": "Admin"} - return frappe.db.exists(q) diff --git a/lms/lms/doctype/cohort/test_cohort.py b/lms/lms/doctype/cohort/test_cohort.py deleted file mode 100644 index 72bc1a78..00000000 --- a/lms/lms/doctype/cohort/test_cohort.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021, FOSS United and Contributors -# See license.txt - -# import frappe -import unittest - - -class TestCohort(unittest.TestCase): - pass diff --git a/lms/lms/doctype/cohort_join_request/__init__.py b/lms/lms/doctype/cohort_join_request/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lms/lms/doctype/cohort_join_request/cohort_join_request.js b/lms/lms/doctype/cohort_join_request/cohort_join_request.js deleted file mode 100644 index a00e2eae..00000000 --- a/lms/lms/doctype/cohort_join_request/cohort_join_request.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) 2021, FOSS United and contributors -// For license information, please see license.txt - -frappe.ui.form.on("Cohort Join Request", { - // refresh: function(frm) { - // } -}); diff --git a/lms/lms/doctype/cohort_join_request/cohort_join_request.json b/lms/lms/doctype/cohort_join_request/cohort_join_request.json deleted file mode 100644 index 587d988c..00000000 --- a/lms/lms/doctype/cohort_join_request/cohort_join_request.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "creation": "2021-11-19 16:27:41.716509", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "cohort", - "email", - "column_break_3", - "subgroup", - "status" - ], - "fields": [ - { - "fieldname": "cohort", - "fieldtype": "Link", - "label": "Cohort", - "options": "Cohort", - "reqd": 1 - }, - { - "fieldname": "subgroup", - "fieldtype": "Link", - "in_list_view": 1, - "label": "Subgroup", - "options": "Cohort Subgroup", - "reqd": 1 - }, - { - "fieldname": "email", - "fieldtype": "Link", - "in_list_view": 1, - "label": "E-Mail", - "options": "User", - "reqd": 1 - }, - { - "default": "Pending", - "fieldname": "status", - "fieldtype": "Select", - "in_list_view": 1, - "label": "Status", - "options": "Pending\nAccepted\nRejected" - }, - { - "fieldname": "column_break_3", - "fieldtype": "Column Break" - } - ], - "index_web_pages_for_search": 1, - "links": [], - "modified": "2023-09-29 17:08:18.950560", - "modified_by": "Administrator", - "module": "LMS", - "name": "Cohort Join Request", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "share": 1, - "write": 1 - }, - { - "create": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "LMS Student", - "share": 1, - "write": 1 - } - ], - "sort_field": "modified", - "sort_order": "DESC", - "states": [], - "track_changes": 1 -} \ No newline at end of file diff --git a/lms/lms/doctype/cohort_join_request/cohort_join_request.py b/lms/lms/doctype/cohort_join_request/cohort_join_request.py deleted file mode 100644 index de53e06e..00000000 --- a/lms/lms/doctype/cohort_join_request/cohort_join_request.py +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (c) 2021, FOSS United and contributors -# For license information, please see license.txt - -import frappe -from frappe.model.document import Document - - -class CohortJoinRequest(Document): - def on_update(self): - if self.status == "Accepted": - self.ensure_student() - - def ensure_student(self): - # case 1 - user is already a member - q = { - "doctype": "LMS Enrollment", - "cohort": self.cohort, - "subgroup": self.subgroup, - "member": self.email, - "member_type": "Student", - } - if frappe.db.exists(q): - return - - # case 2 - user has signed up for this course, possibly not this cohort - cohort = frappe.get_doc("Cohort", self.cohort) - - q = { - "doctype": "LMS Enrollment", - "course": cohort.course, - "member": self.email, - "member_type": "Student", - } - name = frappe.db.exists(q) - if name: - doc = frappe.get_doc("LMS Enrollment", name) - doc.cohort = self.cohort - doc.subgroup = self.subgroup - doc.save(ignore_permissions=True) - else: - # case 3 - user has not signed up for this course yet - data = { - "doctype": "LMS Enrollment", - "course": cohort.course, - "cohort": self.cohort, - "subgroup": self.subgroup, - "member": self.email, - "member_type": "Student", - "role": "Member", - } - doc = frappe.get_doc(data) - doc.insert(ignore_permissions=True) diff --git a/lms/lms/doctype/cohort_join_request/test_cohort_join_request.py b/lms/lms/doctype/cohort_join_request/test_cohort_join_request.py deleted file mode 100644 index dcc41a01..00000000 --- a/lms/lms/doctype/cohort_join_request/test_cohort_join_request.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021, FOSS United and Contributors -# See license.txt - -# import frappe -import unittest - - -class TestCohortJoinRequest(unittest.TestCase): - pass diff --git a/lms/lms/doctype/cohort_mentor/__init__.py b/lms/lms/doctype/cohort_mentor/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lms/lms/doctype/cohort_mentor/cohort_mentor.js b/lms/lms/doctype/cohort_mentor/cohort_mentor.js deleted file mode 100644 index 94603ed9..00000000 --- a/lms/lms/doctype/cohort_mentor/cohort_mentor.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) 2021, FOSS United and contributors -// For license information, please see license.txt - -frappe.ui.form.on("Cohort Mentor", { - // refresh: function(frm) { - // } -}); diff --git a/lms/lms/doctype/cohort_mentor/cohort_mentor.json b/lms/lms/doctype/cohort_mentor/cohort_mentor.json deleted file mode 100644 index 42aade7a..00000000 --- a/lms/lms/doctype/cohort_mentor/cohort_mentor.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "creation": "2021-11-19 15:31:47.129156", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "cohort", - "email", - "subgroup", - "course" - ], - "fields": [ - { - "fieldname": "cohort", - "fieldtype": "Link", - "in_list_view": 1, - "in_standard_filter": 1, - "label": "Cohort", - "options": "Cohort", - "reqd": 1 - }, - { - "fieldname": "email", - "fieldtype": "Link", - "in_list_view": 1, - "label": "E-mail", - "options": "User", - "reqd": 1 - }, - { - "fieldname": "subgroup", - "fieldtype": "Link", - "in_list_view": 1, - "label": "Primary Subgroup", - "options": "Cohort Subgroup", - "reqd": 1 - }, - { - "fetch_from": "cohort.course", - "fieldname": "course", - "fieldtype": "Link", - "label": "Course", - "options": "LMS Course", - "read_only": 1 - } - ], - "index_web_pages_for_search": 1, - "links": [], - "modified": "2021-11-29 16:32:33.235281", - "modified_by": "Administrator", - "module": "LMS", - "name": "Cohort Mentor", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "share": 1, - "write": 1 - } - ], - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1 -} \ No newline at end of file diff --git a/lms/lms/doctype/cohort_mentor/cohort_mentor.py b/lms/lms/doctype/cohort_mentor/cohort_mentor.py deleted file mode 100644 index e0212e05..00000000 --- a/lms/lms/doctype/cohort_mentor/cohort_mentor.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2021, FOSS United and contributors -# For license information, please see license.txt - -import frappe -from frappe.model.document import Document - - -class CohortMentor(Document): - def get_subgroup(self): - return frappe.get_doc("Cohort Subgroup", self.subgroup) - - def get_user(self): - return frappe.get_doc("User", self.email) diff --git a/lms/lms/doctype/cohort_mentor/test_cohort_mentor.py b/lms/lms/doctype/cohort_mentor/test_cohort_mentor.py deleted file mode 100644 index 7ec0cdca..00000000 --- a/lms/lms/doctype/cohort_mentor/test_cohort_mentor.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021, FOSS United and Contributors -# See license.txt - -# import frappe -import unittest - - -class TestCohortMentor(unittest.TestCase): - pass diff --git a/lms/lms/doctype/cohort_staff/__init__.py b/lms/lms/doctype/cohort_staff/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lms/lms/doctype/cohort_staff/cohort_staff.js b/lms/lms/doctype/cohort_staff/cohort_staff.js deleted file mode 100644 index 5e5bdec3..00000000 --- a/lms/lms/doctype/cohort_staff/cohort_staff.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) 2021, FOSS United and contributors -// For license information, please see license.txt - -frappe.ui.form.on("Cohort Staff", { - // refresh: function(frm) { - // } -}); diff --git a/lms/lms/doctype/cohort_staff/cohort_staff.json b/lms/lms/doctype/cohort_staff/cohort_staff.json deleted file mode 100644 index dca4e0f9..00000000 --- a/lms/lms/doctype/cohort_staff/cohort_staff.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "creation": "2021-11-19 15:35:00.551949", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "cohort", - "course", - "column_break_3", - "email", - "role" - ], - "fields": [ - { - "fieldname": "cohort", - "fieldtype": "Link", - "in_list_view": 1, - "label": "Cohort", - "options": "Cohort", - "reqd": 1 - }, - { - "fieldname": "email", - "fieldtype": "Link", - "in_list_view": 1, - "label": "User", - "options": "User", - "reqd": 1 - }, - { - "fieldname": "role", - "fieldtype": "Select", - "in_list_view": 1, - "label": "Role", - "options": "Admin\nManager\nStaff", - "reqd": 1 - }, - { - "fetch_from": "cohort.course", - "fieldname": "course", - "fieldtype": "Link", - "label": "Course", - "options": "LMS Course", - "read_only": 1 - }, - { - "fieldname": "column_break_3", - "fieldtype": "Column Break" - } - ], - "index_web_pages_for_search": 1, - "links": [], - "modified": "2021-12-16 15:16:04.042372", - "modified_by": "Administrator", - "module": "LMS", - "name": "Cohort Staff", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "share": 1, - "write": 1 - } - ], - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1 -} \ No newline at end of file diff --git a/lms/lms/doctype/cohort_staff/cohort_staff.py b/lms/lms/doctype/cohort_staff/cohort_staff.py deleted file mode 100644 index f3055bc0..00000000 --- a/lms/lms/doctype/cohort_staff/cohort_staff.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021, FOSS United and contributors -# For license information, please see license.txt - -# import frappe -from frappe.model.document import Document - - -class CohortStaff(Document): - pass diff --git a/lms/lms/doctype/cohort_staff/test_cohort_staff.py b/lms/lms/doctype/cohort_staff/test_cohort_staff.py deleted file mode 100644 index 25b2fa72..00000000 --- a/lms/lms/doctype/cohort_staff/test_cohort_staff.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021, FOSS United and Contributors -# See license.txt - -# import frappe -import unittest - - -class TestCohortStaff(unittest.TestCase): - pass diff --git a/lms/lms/doctype/cohort_subgroup/__init__.py b/lms/lms/doctype/cohort_subgroup/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lms/lms/doctype/cohort_subgroup/cohort_subgroup.js b/lms/lms/doctype/cohort_subgroup/cohort_subgroup.js deleted file mode 100644 index 366a6465..00000000 --- a/lms/lms/doctype/cohort_subgroup/cohort_subgroup.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) 2021, FOSS United and contributors -// For license information, please see license.txt - -frappe.ui.form.on("Cohort Subgroup", { - // refresh: function(frm) { - // } -}); diff --git a/lms/lms/doctype/cohort_subgroup/cohort_subgroup.json b/lms/lms/doctype/cohort_subgroup/cohort_subgroup.json deleted file mode 100644 index 06bc00ab..00000000 --- a/lms/lms/doctype/cohort_subgroup/cohort_subgroup.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "autoname": "format:{title} ({cohort})", - "creation": "2021-11-19 11:50:27.312434", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "cohort", - "slug", - "title", - "column_break_4", - "invite_code", - "course", - "section_break_7", - "description" - ], - "fields": [ - { - "fieldname": "cohort", - "fieldtype": "Link", - "in_list_view": 1, - "in_preview": 1, - "in_standard_filter": 1, - "label": "Cohort", - "options": "Cohort", - "reqd": 1 - }, - { - "fieldname": "title", - "fieldtype": "Data", - "in_list_view": 1, - "in_preview": 1, - "in_standard_filter": 1, - "label": "Title", - "reqd": 1 - }, - { - "fieldname": "description", - "fieldtype": "Markdown Editor", - "label": "Description" - }, - { - "fieldname": "invite_code", - "fieldtype": "Data", - "label": "Invite Code", - "read_only": 1 - }, - { - "fieldname": "slug", - "fieldtype": "Data", - "label": "Slug", - "reqd": 1 - }, - { - "fetch_from": "cohort.course", - "fieldname": "course", - "fieldtype": "Link", - "label": "Course", - "options": "LMS Course", - "read_only": 1 - }, - { - "fieldname": "column_break_4", - "fieldtype": "Column Break" - }, - { - "fieldname": "section_break_7", - "fieldtype": "Section Break" - } - ], - "index_web_pages_for_search": 1, - "links": [ - { - "group": "Links", - "link_doctype": "Cohort Join Request", - "link_fieldname": "subgroup" - } - ], - "modified": "2021-12-16 15:12:42.504883", - "modified_by": "Administrator", - "module": "LMS", - "name": "Cohort Subgroup", - "naming_rule": "Expression", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "share": 1, - "write": 1 - } - ], - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1 -} \ No newline at end of file diff --git a/lms/lms/doctype/cohort_subgroup/cohort_subgroup.py b/lms/lms/doctype/cohort_subgroup/cohort_subgroup.py deleted file mode 100644 index fbb693bf..00000000 --- a/lms/lms/doctype/cohort_subgroup/cohort_subgroup.py +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (c) 2021, FOSS United and contributors -# For license information, please see license.txt - -import frappe -from frappe.model.document import Document -from frappe.utils import random_string - - -class CohortSubgroup(Document): - def before_save(self): - if not self.invite_code: - self.invite_code = random_string(8) - - def get_url(self): - cohort = frappe.get_doc("Cohort", self.cohort) - return f"{frappe.utils.get_url()}/lms/courses/{self.course}/subgroups/{cohort.slug}/{self.slug}" - - def get_invite_link(self): - cohort = frappe.get_doc("Cohort", self.cohort) - return f"{frappe.utils.get_url()}/lms/courses/{self.course}/join/{cohort.slug}/{self.slug}/{self.invite_code}" - - def has_student(self, email): - """Check if given user is a student of this subgroup.""" - q = {"doctype": "LMS Enrollment", "subgroup": self.name, "member": email} - return frappe.db.exists(q) - - def has_join_request(self, email): - """Check if given user is a student of this subgroup.""" - q = {"doctype": "Cohort Join Request", "subgroup": self.name, "email": email} - return frappe.db.exists(q) - - def get_join_requests(self, status="Pending"): - q = {"subgroup": self.name, "status": status} - return frappe.get_all("Cohort Join Request", filters=q, fields=["*"], order_by="creation desc") - - def get_mentors(self): - emails = frappe.get_all( - "Cohort Mentor", filters={"subgroup": self.name}, fields=["email"], pluck="email" - ) - return self._get_users(emails) - - def get_students(self): - emails = frappe.get_all( - "LMS Enrollment", - filters={"subgroup": self.name}, - fields=["member"], - pluck="member", - page_length=1000, - ) - return self._get_users(emails) - - def _get_users(self, emails): - users = [frappe.get_cached_doc("User", email) for email in emails] - return sorted(users, key=lambda user: user.full_name) - - def is_mentor(self, email): - q = {"doctype": "Cohort Mentor", "subgroup": self.name, "email": email} - return frappe.db.exists(q) - - def is_manager(self, email): - """Returns True if the given user is a manager of this subgroup. - - Mentors of the subgroup, admins of the Cohort are considered as managers. - """ - return self.is_mentor(email) or self.get_cohort().is_admin(email) - - def get_cohort(self): - return frappe.get_doc("Cohort", self.cohort) - - def add_mentor(self, email): - d = { - "doctype": "Cohort Mentor", - "subgroup": self.name, - "cohort": self.cohort, - "email": email, - } - if frappe.db.exists(d): - return - doc = frappe.get_doc(d) - doc.insert(ignore_permissions=True) - - -# def after_doctype_insert(): -# frappe.db.add_unique("Cohort Subgroup", ("cohort", "slug")) diff --git a/lms/lms/doctype/cohort_subgroup/test_cohort_subgroup.py b/lms/lms/doctype/cohort_subgroup/test_cohort_subgroup.py deleted file mode 100644 index a46aa304..00000000 --- a/lms/lms/doctype/cohort_subgroup/test_cohort_subgroup.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021, FOSS United and Contributors -# See license.txt - -# import frappe -import unittest - - -class TestCohortSubgroup(unittest.TestCase): - pass diff --git a/lms/lms/doctype/cohort_web_page/__init__.py b/lms/lms/doctype/cohort_web_page/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lms/lms/doctype/cohort_web_page/cohort_web_page.json b/lms/lms/doctype/cohort_web_page/cohort_web_page.json deleted file mode 100644 index fac05f0e..00000000 --- a/lms/lms/doctype/cohort_web_page/cohort_web_page.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "creation": "2021-12-04 23:28:40.429867", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "slug", - "title", - "template", - "scope", - "required_role" - ], - "fields": [ - { - "fieldname": "title", - "fieldtype": "Data", - "in_list_view": 1, - "label": "Title", - "reqd": 1 - }, - { - "fieldname": "template", - "fieldtype": "Link", - "in_list_view": 1, - "label": "Template", - "options": "Web Template", - "reqd": 1 - }, - { - "default": "Cohort", - "fieldname": "scope", - "fieldtype": "Select", - "label": "Scope", - "options": "Cohort\nSubgroup" - }, - { - "default": "Public", - "fieldname": "required_role", - "fieldtype": "Select", - "label": "Required Role", - "options": "Public\nStudent\nMentor\nAdmin" - }, - { - "fieldname": "slug", - "fieldtype": "Data", - "in_list_view": 1, - "label": "Slug", - "reqd": 1 - } - ], - "index_web_pages_for_search": 1, - "istable": 1, - "links": [], - "modified": "2021-12-04 23:33:03.954128", - "modified_by": "Administrator", - "module": "LMS", - "name": "Cohort Web Page", - "owner": "Administrator", - "permissions": [], - "sort_field": "modified", - "sort_order": "DESC" -} \ No newline at end of file diff --git a/lms/lms/doctype/cohort_web_page/cohort_web_page.py b/lms/lms/doctype/cohort_web_page/cohort_web_page.py deleted file mode 100644 index 53bcbc6e..00000000 --- a/lms/lms/doctype/cohort_web_page/cohort_web_page.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright (c) 2021, Frappe and contributors -# For license information, please see license.txt - -import frappe -from frappe.model.document import Document - - -class CohortWebPage(Document): - def get_template_html(self): - return frappe.get_doc("Web Template", self.template).template