da486eeebd
* First Cut for the Loyalty Program * finished the collection part * redmeption for the loyalty point update the loyalty point entry in the FIFO style make the accounting entry knocking the debtors account against the expense account selected in the loyalty program update the outstanding balance in the client side * completed for the desk viewe * wrap up for the desk and shopping cart * pos * fix and test the travis
47 lines
1.9 KiB
Python
47 lines
1.9 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 import _
|
|
from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import show_attachments
|
|
|
|
def get_context(context):
|
|
context.no_cache = 1
|
|
context.show_sidebar = True
|
|
context.doc = frappe.get_doc(frappe.form_dict.doctype, frappe.form_dict.name)
|
|
if hasattr(context.doc, "set_indicator"):
|
|
context.doc.set_indicator()
|
|
|
|
if show_attachments():
|
|
context.attachments = get_attachments(frappe.form_dict.doctype, frappe.form_dict.name)
|
|
|
|
context.parents = frappe.form_dict.parents
|
|
context.title = frappe.form_dict.name
|
|
context.payment_ref = frappe.db.get_value("Payment Request",
|
|
{"reference_name": frappe.form_dict.name}, "name")
|
|
|
|
context.enabled_checkout = frappe.get_doc("Shopping Cart Settings").enable_checkout
|
|
|
|
default_print_format = frappe.db.get_value('Property Setter', dict(property='default_print_format', doc_type=frappe.form_dict.doctype), "value")
|
|
if default_print_format:
|
|
context.print_format = default_print_format
|
|
else:
|
|
context.print_format = "Standard"
|
|
|
|
if not frappe.has_website_permission(context.doc):
|
|
frappe.throw(_("Not Permitted"), frappe.PermissionError)
|
|
|
|
# check for the loyalty program of the customer
|
|
customer_loyalty_program = frappe.db.get_value("Customer", context.doc.customer, "loyalty_program")
|
|
if customer_loyalty_program:
|
|
from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details
|
|
loyalty_program_details = get_loyalty_program_details(context.doc.customer, customer_loyalty_program)
|
|
context.available_loyalty_points = int(loyalty_program_details.get("loyalty_points"))
|
|
|
|
def get_attachments(dt, dn):
|
|
return frappe.get_all("File",
|
|
fields=["name", "file_name", "file_url", "is_private"],
|
|
filters = {"attached_to_name": dn, "attached_to_doctype": dt, "is_private":0})
|