72 lines
2.3 KiB
Python
72 lines
2.3 KiB
Python
# 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)
|
|
|