diff --git a/community/lms/doctype/invite_request/invite_request.js b/community/lms/doctype/invite_request/invite_request.js index 9f9006b7..1d4e0738 100644 --- a/community/lms/doctype/invite_request/invite_request.js +++ b/community/lms/doctype/invite_request/invite_request.js @@ -2,7 +2,7 @@ // For license information, please see license.txt frappe.ui.form.on('Invite Request', { - // refresh: function(frm) { + // refresh: function(frm) { - // } + // } }); diff --git a/community/lms/doctype/invite_request/invite_request.json b/community/lms/doctype/invite_request/invite_request.json index 636c44b8..ad4cfa41 100644 --- a/community/lms/doctype/invite_request/invite_request.json +++ b/community/lms/doctype/invite_request/invite_request.json @@ -85,4 +85,4 @@ "sort_order": "DESC", "title_field": "invite_email", "track_changes": 1 -} \ No newline at end of file +} diff --git a/community/lms/doctype/invite_request/invite_request.py b/community/lms/doctype/invite_request/invite_request.py index ce977f59..5b422643 100644 --- a/community/lms/doctype/invite_request/invite_request.py +++ b/community/lms/doctype/invite_request/invite_request.py @@ -10,69 +10,69 @@ import json from frappe.utils.password import get_decrypted_password class InviteRequest(Document): - def on_update(self): - if self.has_value_changed('status') and self.status == "Approved": - self.send_email() + def on_update(self): + if self.has_value_changed('status') and self.status == "Approved": + self.send_email() - def create_user(self, password): - full_name_split = self.full_name.split(" ") - user = frappe.get_doc({ - "doctype": "User", - "email": self.signup_email, - "first_name": full_name_split[0], - "last_name": full_name_split[1] if len(full_name_split) > 1 else "", - "username": self.username, - "send_welcome_email": 0, - "user_type": "Website User", - "new_password": password - }) - user.save(ignore_permissions=True) - return user + def create_user(self, password): + full_name_split = self.full_name.split(" ") + user = frappe.get_doc({ + "doctype": "User", + "email": self.signup_email, + "first_name": full_name_split[0], + "last_name": full_name_split[1] if len(full_name_split) > 1 else "", + "username": self.username, + "send_welcome_email": 0, + "user_type": "Website User", + "new_password": password + }) + user.save(ignore_permissions=True) + return user - def send_email(self): - subject = _("Your request has been approved.") - args = { - "full_name": self.full_name, - "signup_form_link": "/new-sign-up?invite_code={0}".format(self.name), - "site_url": frappe.utils.get_url() - } - frappe.sendmail( - recipients=self.invite_email, - sender=frappe.db.get_single_value("LMS Settings", "email_sender"), - subject=subject, - header=[subject, "green"], - template = "lms_invite_request_approved", - args=args) + def send_email(self): + subject = _("Your request has been approved.") + args = { + "full_name": self.full_name, + "signup_form_link": "/new-sign-up?invite_code={0}".format(self.name), + "site_url": frappe.utils.get_url() + } + frappe.sendmail( + recipients=self.invite_email, + sender=frappe.db.get_single_value("LMS Settings", "email_sender"), + subject=subject, + header=[subject, "green"], + template = "lms_invite_request_approved", + args=args) @frappe.whitelist(allow_guest=True) def create_invite_request(invite_email): - try: - frappe.get_doc({ - "doctype": "Invite Request", - "invite_email": invite_email - }).save(ignore_permissions=True) - return "OK" - except frappe.UniqueValidationError: - frappe.throw(_("Email {0} has already been used to request an invite").format(invite_email)) + try: + frappe.get_doc({ + "doctype": "Invite Request", + "invite_email": invite_email + }).save(ignore_permissions=True) + return "OK" + except frappe.UniqueValidationError: + frappe.throw(_("Email {0} has already been used to request an invite").format(invite_email)) @frappe.whitelist(allow_guest=True) def update_invite(data): - data = frappe._dict(json.loads(data)) if type(data) == str else frappe._dict(data) + data = frappe._dict(json.loads(data)) if type(data) == str else frappe._dict(data) - try: - doc = frappe.get_doc("Invite Request", data.invite_code) - except frappe.DoesNotExistError: - frappe.throw(_("Invalid Invite Code.")) + try: + doc = frappe.get_doc("Invite Request", data.invite_code) + except frappe.DoesNotExistError: + frappe.throw(_("Invalid Invite Code.")) - doc.signup_email = data.signup_email - doc.username = data.username - doc.full_name = data.full_name - doc.invite_code = data.invite_code - doc.save(ignore_permissions=True) + doc.signup_email = data.signup_email + doc.username = data.username + doc.full_name = data.full_name + doc.invite_code = data.invite_code + doc.save(ignore_permissions=True) - user = doc.create_user(data.password) - if user: - doc.status = "Registered" - doc.save(ignore_permissions=True) + user = doc.create_user(data.password) + if user: + doc.status = "Registered" + doc.save(ignore_permissions=True) - return "OK" + return "OK" diff --git a/community/lms/doctype/invite_request/test_invite_request.py b/community/lms/doctype/invite_request/test_invite_request.py index eedfe2a8..e7ff5787 100644 --- a/community/lms/doctype/invite_request/test_invite_request.py +++ b/community/lms/doctype/invite_request/test_invite_request.py @@ -7,63 +7,63 @@ import frappe import unittest class TestInviteRequest(unittest.TestCase): - - @classmethod - def setUpClass(self): - create_invite_request("test_invite@example.com") - def test_create_invite_request(self): - if frappe.db.exists("Invite Request", {"invite_email": "test_invite@example.com"}): - invite = frappe.db.get_value("Invite Request", - filters={"invite_email": "test_invite@example.com"}, - fieldname=["invite_email", "status", "signup_email"], - as_dict=True) - self.assertEqual(invite.status, "Pending") - self.assertEqual(invite.signup_email, None) + @classmethod + def setUpClass(self): + create_invite_request("test_invite@example.com") - def test_create_invite_request_update(self): - if frappe.db.exists("Invite Request", {"invite_email": "test_invite@example.com"}): + def test_create_invite_request(self): + if frappe.db.exists("Invite Request", {"invite_email": "test_invite@example.com"}): + invite = frappe.db.get_value("Invite Request", + filters={"invite_email": "test_invite@example.com"}, + fieldname=["invite_email", "status", "signup_email"], + as_dict=True) + self.assertEqual(invite.status, "Pending") + self.assertEqual(invite.signup_email, None) - data = { - "signup_email": "test_invite@example.com", - "username": "test_invite", - "full_name": "Test Invite", - "password": "Test@invite", - "invite_code": frappe.db.get_value("Invite Request", {"invite_email": "test_invite@example.com"}, "name") - } + def test_create_invite_request_update(self): + if frappe.db.exists("Invite Request", {"invite_email": "test_invite@example.com"}): - update_invite(data) - invite = frappe.db.get_value("Invite Request", - filters={"invite_email": "test_invite@example.com"}, - fieldname=["invite_email", "status", "signup_email", "full_name", "username", "invite_code", "name"], - as_dict=True) - self.assertEqual(invite.signup_email, "test_invite@example.com") - self.assertEqual(invite.full_name, "Test Invite") - self.assertEqual(invite.username, "test_invite") - self.assertEqual(invite.invite_code, invite.name) - self.assertEqual(invite.status, "Registered") + data = { + "signup_email": "test_invite@example.com", + "username": "test_invite", + "full_name": "Test Invite", + "password": "Test@invite", + "invite_code": frappe.db.get_value("Invite Request", {"invite_email": "test_invite@example.com"}, "name") + } - user = frappe.db.get_value("User", "test_invite@example.com", - fieldname=["first_name", "username", "send_welcome_email", "user_type"], - as_dict=True) - self.assertTrue(user) - self.assertEqual(user.first_name, invite.full_name.split(" ")[0]) - self.assertEqual(user.username, invite.username) - self.assertEqual(user.send_welcome_email, 0) - self.assertEqual(user.user_type, "Website User") + update_invite(data) + invite = frappe.db.get_value("Invite Request", + filters={"invite_email": "test_invite@example.com"}, + fieldname=["invite_email", "status", "signup_email", "full_name", "username", "invite_code", "name"], + as_dict=True) + self.assertEqual(invite.signup_email, "test_invite@example.com") + self.assertEqual(invite.full_name, "Test Invite") + self.assertEqual(invite.username, "test_invite") + self.assertEqual(invite.invite_code, invite.name) + self.assertEqual(invite.status, "Registered") - member = frappe.db.get_value("Community Member", {"email": "test_invite@example.com"}) - self.assertTrue(member) + user = frappe.db.get_value("User", "test_invite@example.com", + fieldname=["first_name", "username", "send_welcome_email", "user_type"], + as_dict=True) + self.assertTrue(user) + self.assertEqual(user.first_name, invite.full_name.split(" ")[0]) + self.assertEqual(user.username, invite.username) + self.assertEqual(user.send_welcome_email, 0) + self.assertEqual(user.user_type, "Website User") - @classmethod - def tearDownClass(self): + member = frappe.db.get_value("Community Member", {"email": "test_invite@example.com"}) + self.assertTrue(member) - if frappe.db.exists("Community Member", {"email": "test_invite@example.com"}): - frappe.delete_doc("Community Member", {"email": "test_invite@example.com"}) + @classmethod + def tearDownClass(self): - if frappe.db.exists("User", "test_invite@example.com"): - frappe.delete_doc("User", "test_invite@example.com") + if frappe.db.exists("Community Member", {"email": "test_invite@example.com"}): + frappe.delete_doc("Community Member", {"email": "test_invite@example.com"}) - invite_request = frappe.db.exists("Invite Request", {"invite_email": "test_invite@example.com"}) - if invite_request: - frappe.delete_doc("Invite Request", invite_request) + if frappe.db.exists("User", "test_invite@example.com"): + frappe.delete_doc("User", "test_invite@example.com") + + invite_request = frappe.db.exists("Invite Request", {"invite_email": "test_invite@example.com"}) + if invite_request: + frappe.delete_doc("Invite Request", invite_request) diff --git a/community/lms/web_form/add_a_new_batch/add_a_new_batch.js b/community/lms/web_form/add_a_new_batch/add_a_new_batch.js index 7ffcc114..8e45c529 100644 --- a/community/lms/web_form/add_a_new_batch/add_a_new_batch.js +++ b/community/lms/web_form/add_a_new_batch/add_a_new_batch.js @@ -1,43 +1,43 @@ frappe.ready(function () { - frappe.web_form.after_save = () => { - let data = frappe.web_form.get_values(); - frappe.call({ - "method": "community.lms.doctype.lms_batch_membership.lms_batch_membership.create_membership", - "args": { - "batch": data.title, - "member_type": "Mentor", - "course": data.course - }, - "callback": (data) => { - if (data.message) { - window.location.href = `courses/${data.message}` - } - } - }) - } + frappe.web_form.after_save = () => { + let data = frappe.web_form.get_values(); + frappe.call({ + "method": "community.lms.doctype.lms_batch_membership.lms_batch_membership.create_membership", + "args": { + "batch": data.title, + "member_type": "Mentor", + "course": data.course + }, + "callback": (data) => { + if (data.message) { + window.location.href = `courses/${data.message}` + } + } + }) + } - frappe.web_form.validate = () => { - let sysdefaults = frappe.boot.sysdefaults; - let time_format = sysdefaults && sysdefaults.time_format ? sysdefaults.time_format : 'HH:mm:ss'; - let data = frappe.web_form.get_values(); + frappe.web_form.validate = () => { + let sysdefaults = frappe.boot.sysdefaults; + let time_format = sysdefaults && sysdefaults.time_format ? sysdefaults.time_format : 'HH:mm:ss'; + let data = frappe.web_form.get_values(); - data.start_time = moment(data.start_time,time_format).format(time_format) - data.end_time = moment(data.end_time,time_format).format(time_format) + data.start_time = moment(data.start_time,time_format).format(time_format) + data.end_time = moment(data.end_time,time_format).format(time_format) - if (!frappe.datetime.validate(data.start_time) || !frappe.datetime.validate(data.end_time)) { - frappe.msgprint(__('Invalid Start or End Time.')); - return false; - } + if (!frappe.datetime.validate(data.start_time) || !frappe.datetime.validate(data.end_time)) { + frappe.msgprint(__('Invalid Start or End Time.')); + return false; + } - if (data.start_time > data.end_time) { - frappe.msgprint(__('Start Time should be less than End Time.')); - return false; - } + if (data.start_time > data.end_time) { + frappe.msgprint(__('Start Time should be less than End Time.')); + return false; + } - if (data.start_date < date.nowdate()) { - frappe.msgprint(__('Start date cannot be a past date.')) - return false; - } - return true; - }; -}) \ No newline at end of file + if (data.start_date < date.nowdate()) { + frappe.msgprint(__('Start date cannot be a past date.')) + return false; + } + return true; + }; +}) diff --git a/community/lms/web_form/add_a_new_batch/add_a_new_batch.json b/community/lms/web_form/add_a_new_batch/add_a_new_batch.json index 8d384728..e1785069 100644 --- a/community/lms/web_form/add_a_new_batch/add_a_new_batch.json +++ b/community/lms/web_form/add_a_new_batch/add_a_new_batch.json @@ -111,4 +111,4 @@ "show_in_filter": 0 } ] -} \ No newline at end of file +} diff --git a/community/lms/web_form/add_a_new_batch/add_a_new_batch.py b/community/lms/web_form/add_a_new_batch/add_a_new_batch.py index 2334f8b2..96e8cb34 100644 --- a/community/lms/web_form/add_a_new_batch/add_a_new_batch.py +++ b/community/lms/web_form/add_a_new_batch/add_a_new_batch.py @@ -3,5 +3,5 @@ from __future__ import unicode_literals import frappe def get_context(context): - # do your magic here - pass + # do your magic here + pass diff --git a/community/lms/widgets/RequestInvite.html b/community/lms/widgets/RequestInvite.html index 2c17a465..3a32ee02 100644 --- a/community/lms/widgets/RequestInvite.html +++ b/community/lms/widgets/RequestInvite.html @@ -1,4 +1,25 @@
\ No newline at end of file + + Request Invite + + diff --git a/community/www/courses/course.html b/community/www/courses/course.html index ef365089..5989e0f6 100644 --- a/community/www/courses/course.html +++ b/community/www/courses/course.html @@ -111,11 +111,11 @@ {% endfor %} - Add a new batch + Add a new batch {% else %} {% endif %} {% endmacro %} diff --git a/community/www/home/index.js b/community/www/home/index.js deleted file mode 100644 index 9eb0aefd..00000000 --- a/community/www/home/index.js +++ /dev/null @@ -1,19 +0,0 @@ -frappe.ready(() => { - $("#submit").click(function () { - frappe.call({ - method: "community.lms.doctype.invite_request.invite_request.create_invite_request", - args: { - invite_email: $("#invite_email").val() - }, - callback: (data) => { - if (data.message == "OK") { - $("#invite-request-form").hide(); - var message = `Thanks for your interest in Mon School. We have recorded your interest and we will get back to you shortly.
-