52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| 
 | |
| 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_with_points,
 | |
| 		)
 | |
| 		loyalty_program_details = get_loyalty_program_details_with_points(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})
 |