blob: 158173f2af02c8a03007104f6c516052fb72883d [file] [log] [blame]
Rushabh Mehta3daa49a2014-10-21 16:16:30 +05301# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
2# License: GNU General Public License v3. See license.txt
3
4from __future__ import unicode_literals
5import frappe
6from frappe.utils import cint, formatdate
7
8no_cache = 1
9no_sitemap = 1
10
11def get_context(context):
12 return {
13 "title": "My Tickets",
14 "method": "shopping_cart.templates.pages.tickets.get_tickets",
15 "icon": "icon-ticket",
16 "empty_list_message": "No Tickets Raised",
17 "page": "ticket"
18 }
19
20@frappe.whitelist()
21def get_tickets(start=0):
22 tickets = frappe.db.sql("""select name, subject, status, creation
23 from `tabSupport Ticket` where raised_by=%s
24 order by modified desc
25 limit %s, 20""", (frappe.session.user, cint(start)), as_dict=True)
26 for t in tickets:
27 t.creation = formatdate(t.creation)
28
29 return tickets
30
31@frappe.whitelist()
32def make_new_ticket(subject, message):
33 if not (subject and message):
34 raise frappe.throw(_("Please write something in subject and message!"))
35
36 ticket = frappe.get_doc({
37 "doctype":"Support Ticket",
38 "subject": subject,
39 "raised_by": frappe.session.user,
40 })
41 ticket.insert(ignore_permissions=True)
42
43 comm = frappe.get_doc({
44 "doctype":"Communication",
45 "subject": subject,
46 "content": message,
47 "sender": frappe.session.user,
48 "sent_or_received": "Received",
49 "reference_doctype": "Support Ticket",
50 "reference_name": ticket.name
51 })
52 comm.insert(ignore_permissions=True)
53
54 return ticket.name