Rushabh Mehta | 3daa49a | 2014-10-21 16:16:30 +0530 | [diff] [blame] | 1 | # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors |
| 2 | # License: GNU General Public License v3. See license.txt |
| 3 | |
| 4 | from __future__ import unicode_literals |
| 5 | import frappe |
| 6 | from frappe.utils import cint, formatdate |
| 7 | |
| 8 | no_cache = 1 |
| 9 | no_sitemap = 1 |
| 10 | |
| 11 | def get_context(context): |
| 12 | return { |
| 13 | "title": "My Tickets", |
Neil Trini Lasrado | d718c93 | 2014-10-22 15:56:38 +0530 | [diff] [blame] | 14 | "method": "erpnext.templates.pages.tickets.get_tickets", |
Rushabh Mehta | 3daa49a | 2014-10-21 16:16:30 +0530 | [diff] [blame] | 15 | "icon": "icon-ticket", |
| 16 | "empty_list_message": "No Tickets Raised", |
| 17 | "page": "ticket" |
| 18 | } |
| 19 | |
| 20 | @frappe.whitelist() |
| 21 | def get_tickets(start=0): |
| 22 | tickets = frappe.db.sql("""select name, subject, status, creation |
Rushabh Mehta | bd9b62f | 2014-11-28 11:45:02 +0530 | [diff] [blame] | 23 | from `tabIssue` where raised_by=%s |
Rushabh Mehta | 3daa49a | 2014-10-21 16:16:30 +0530 | [diff] [blame] | 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() |
| 32 | def 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({ |
Rushabh Mehta | bd9b62f | 2014-11-28 11:45:02 +0530 | [diff] [blame] | 37 | "doctype":"Issue", |
Rushabh Mehta | 3daa49a | 2014-10-21 16:16:30 +0530 | [diff] [blame] | 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", |
Rushabh Mehta | bd9b62f | 2014-11-28 11:45:02 +0530 | [diff] [blame] | 49 | "reference_doctype": "Issue", |
Rushabh Mehta | 3daa49a | 2014-10-21 16:16:30 +0530 | [diff] [blame] | 50 | "reference_name": ticket.name |
| 51 | }) |
| 52 | comm.insert(ignore_permissions=True) |
| 53 | |
| 54 | return ticket.name |