48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import unicode_literals
 | |
| install_docs = [
 | |
| 	{"doctype":"Role", "role_name":"Blogger", "name":"Blogger"},
 | |
| 	{"doctype":"Role", "role_name":"Website Manager", "name":"Website Manager"},
 | |
| ]
 | |
| 
 | |
| import webnotes
 | |
| 
 | |
| max_tickets_per_hour = 200
 | |
| 
 | |
| @webnotes.whitelist(allow_guest=True)
 | |
| def send_message():
 | |
| 	from webnotes.model.doc import Document
 | |
| 	args = webnotes.form_dict
 | |
| 	
 | |
| 	d = Document('Support Ticket')
 | |
| 	d.subject = webnotes.form_dict.get('subject', 'Website Query')
 | |
| 	d.description = webnotes.form_dict.get('message')
 | |
| 	d.raised_by = webnotes.form_dict.get('sender')
 | |
| 	
 | |
| 	if not d.description:
 | |
| 		webnotes.response["message"] = 'Please write something'
 | |
| 		return
 | |
| 		
 | |
| 	if not d.raised_by:
 | |
| 		webnotes.response["message"] = 'Email Id Required'
 | |
| 		return
 | |
| 	
 | |
| 	# guest method, cap max writes per hour
 | |
| 	if webnotes.conn.sql("""select count(*) from `tabSupport Ticket`
 | |
| 		where TIMEDIFF(NOW(), modified) < '01:00:00'""")[0][0] > max_tickets_per_hour:
 | |
| 		webnotes.response["message"] = "Sorry: we believe we have received an unreasonably high number of requests of this kind. Please try later"
 | |
| 		return
 | |
| 	
 | |
| 	d.save()
 | |
| 	webnotes.response["message"] = 'Thank You'
 | |
| 	
 | |
| def get_site_address():
 | |
| 	from webnotes.utils import get_request_site_address
 | |
| 	url = get_request_site_address()
 | |
| 
 | |
| 	if not url or url=='http://localhost':
 | |
| 		new_url = webnotes.conn.get_value('Website Settings', 'Website Settings',
 | |
| 			'subdomain')
 | |
| 		if new_url:
 | |
| 			url = "http://" + new_url
 | |
| 			
 | |
| 	return url |