From 59b3b68bde21da836538de824fe531c1bd8cd479 Mon Sep 17 00:00:00 2001 From: Anand Chitipothu Date: Thu, 9 Dec 2021 18:21:29 +0530 Subject: [PATCH] fix: fixed the issue of duplicate join requests Someone was spamming mon.school by generating thousands of join requests. Added to fix to avoid creating duplicate requests. --- school/lms/api.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/school/lms/api.py b/school/lms/api.py index 7e60cbb7..f6aee823 100644 --- a/school/lms/api.py +++ b/school/lms/api.py @@ -65,11 +65,16 @@ def join_cohort(course, cohort, subgroup, invite_code): "doctype": "Cohort Join Request", "cohort": cohort_doc.name, "subgroup": subgroup_doc.name, - "email": frappe.session.user + "email": frappe.session.user, + "status": "Pending" } - doc = frappe.get_doc(data) - doc.insert(ignore_permissions=True) - return {"ok": True} + # Don't insert duplicate records + if frappe.db.exists(data): + return {"ok": True, "status": "record found"} + else: + doc = frappe.get_doc(data) + doc.insert(ignore_permissions=True) + return {"ok": True, "status": "record created"} @frappe.whitelist() def approve_cohort_join_request(join_request):