blob: 158173f2af02c8a03007104f6c516052fb72883d [file] [log] [blame]
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe.utils import cint, formatdate
no_cache = 1
no_sitemap = 1
def get_context(context):
return {
"title": "My Tickets",
"method": "shopping_cart.templates.pages.tickets.get_tickets",
"icon": "icon-ticket",
"empty_list_message": "No Tickets Raised",
"page": "ticket"
}
@frappe.whitelist()
def get_tickets(start=0):
tickets = frappe.db.sql("""select name, subject, status, creation
from `tabSupport Ticket` where raised_by=%s
order by modified desc
limit %s, 20""", (frappe.session.user, cint(start)), as_dict=True)
for t in tickets:
t.creation = formatdate(t.creation)
return tickets
@frappe.whitelist()
def make_new_ticket(subject, message):
if not (subject and message):
raise frappe.throw(_("Please write something in subject and message!"))
ticket = frappe.get_doc({
"doctype":"Support Ticket",
"subject": subject,
"raised_by": frappe.session.user,
})
ticket.insert(ignore_permissions=True)
comm = frappe.get_doc({
"doctype":"Communication",
"subject": subject,
"content": message,
"sender": frappe.session.user,
"sent_or_received": "Received",
"reference_doctype": "Support Ticket",
"reference_name": ticket.name
})
comm.insert(ignore_permissions=True)
return ticket.name