brotherton-erpnext/erpnext/templates/pages/tickets.py

55 lines
1.4 KiB
Python

# Copyright (c) 2015, Frappe 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": "erpnext.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 `tabIssue` 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":"Issue",
"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": "Issue",
"reference_name": ticket.name
})
comm.insert(ignore_permissions=True)
return ticket.name