Skip to content

Commit 7362ccc

Browse files
authored
Merge pull request #275 from AyshaHakeem/edit-feedback
feat(wiki): add rate limiting for feedback submissions
2 parents 993b354 + b58e9bc commit 7362ccc

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

wiki/wiki/doctype/wiki_feedback/wiki_feedback.py

+7
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,21 @@
33

44
import frappe
55
from frappe.model.document import Document
6+
from frappe.rate_limiter import rate_limit
67
from frappe.utils import validate_email_address
78

89

910
class WikiFeedback(Document):
1011
pass
1112

1213

14+
def get_feedback_limit():
15+
wiki_settings = frappe.get_single("Wiki Settings")
16+
return wiki_settings.feedback_submission_limit or 3
17+
18+
1319
@frappe.whitelist(allow_guest=True)
20+
@rate_limit(limit=get_feedback_limit, seconds=60 * 60)
1421
def submit_feedback(name, feedback, rating, email=None, feedback_index=None):
1522
email = validate_email_address(email)
1623
doc = frappe.get_doc(

wiki/wiki/doctype/wiki_settings/wiki_settings.json

+11-2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"feedback_tab",
2525
"feedback_section",
2626
"enable_feedback",
27+
"feedback_submission_limit",
2728
"ask_for_contact_details",
2829
"section_break_mmtu",
2930
"javascript"
@@ -140,7 +141,6 @@
140141
},
141142
{
142143
"default": "0",
143-
"depends_on": "eval:doc.enable_feedback",
144144
"fieldname": "ask_for_contact_details",
145145
"fieldtype": "Check",
146146
"label": "Ask for contact details"
@@ -149,12 +149,21 @@
149149
"fieldname": "feedback_tab",
150150
"fieldtype": "Tab Break",
151151
"label": "Feedback"
152+
},
153+
{
154+
"default": "3",
155+
"depends_on": "enable_feedback",
156+
"description": "Hourly rate limit on submitting feedbacks",
157+
"fieldname": "feedback_submission_limit",
158+
"fieldtype": "Int",
159+
"label": "Feedback Submission Limit",
160+
"non_negative": 1
152161
}
153162
],
154163
"index_web_pages_for_search": 1,
155164
"issingle": 1,
156165
"links": [],
157-
"modified": "2024-06-03 16:19:02.137667",
166+
"modified": "2024-09-29 14:05:32.587922",
158167
"modified_by": "Administrator",
159168
"module": "Wiki",
160169
"name": "Wiki Settings",

0 commit comments

Comments
 (0)