| # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. |
| # License: GNU General Public License v3. See license.txt |
| |
| from __future__ import unicode_literals |
| import webnotes |
| from webnotes.utils import cint, formatdate |
| import json |
| |
| def get_transaction_list(doctype, start, additional_fields=None): |
| # find customer id |
| customer = webnotes.conn.get_value("Contact", {"email_id": webnotes.session.user}, |
| "customer") |
| |
| if customer: |
| if additional_fields: |
| additional_fields = ", " + ", ".join(("`%s`" % f for f in additional_fields)) |
| else: |
| additional_fields = "" |
| |
| transactions = webnotes.conn.sql("""select name, creation, currency, grand_total_export |
| %s |
| from `tab%s` where customer=%s and docstatus=1 |
| order by creation desc |
| limit %s, 20""" % (additional_fields, doctype, "%s", "%s"), |
| (customer, cint(start)), as_dict=True) |
| for doc in transactions: |
| items = webnotes.conn.sql_list("""select item_name |
| from `tab%s Item` where parent=%s limit 6""" % (doctype, "%s"), doc.name) |
| doc.items = ", ".join(items[:5]) + ("..." if (len(items) > 5) else "") |
| doc.creation = formatdate(doc.creation) |
| return transactions |
| else: |
| return [] |
| |
| def get_currency_context(): |
| return { |
| "global_number_format": webnotes.conn.get_default("number_format") or "#,###.##", |
| "currency": webnotes.conn.get_default("currency"), |
| "currency_symbols": json.dumps(dict(webnotes.conn.sql("""select name, symbol |
| from tabCurrency where ifnull(enabled,0)=1"""))) |
| } |
| |
| def get_transaction_context(doctype, name): |
| customer = webnotes.conn.get_value("Contact", {"email_id": webnotes.session.user}, |
| "customer") |
| |
| bean = webnotes.bean(doctype, name) |
| if bean.doc.customer != customer: |
| return { |
| "doc": {"name": "Not Allowed"} |
| } |
| else: |
| return { |
| "doc": bean.doc, |
| "doclist": bean.doclist, |
| "webnotes": webnotes, |
| "utils": webnotes.utils |
| } |
| |
| @webnotes.whitelist(allow_guest=True) |
| def send_message(subject="Website Query", message="", sender="", status="Open"): |
| from website.doctype.contact_us_settings.templates.pages.contact \ |
| import send_message as website_send_message |
| |
| if not website_send_message(subject, message, sender): |
| return |
| |
| # make lead / communication |
| from selling.doctype.lead.get_leads import add_sales_communication |
| add_sales_communication(subject or "Website Query", message, sender, sender, |
| mail=None, status=status) |
| |