91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import webnotes, conf, os
 | |
| from webnotes.utils import cint, cstr, encode
 | |
| 
 | |
| def get_templates_path():
 | |
| 	return os.path.join(os.path.dirname(conf.__file__), "app", "website", "templates")
 | |
| 
 | |
| def get_home_page():
 | |
| 	doc_name = webnotes.conn.get_value('Website Settings', None, 'home_page')
 | |
| 	if doc_name:
 | |
| 		page_name = webnotes.conn.get_value('Web Page', doc_name, 'page_name')
 | |
| 	else:
 | |
| 		page_name = 'login'
 | |
| 
 | |
| 	return page_name
 | |
| 
 | |
| def update_template_args(page_name, args):
 | |
| 	
 | |
| 	from webnotes.utils import get_request_site_address
 | |
| 	from urllib import quote
 | |
| 	
 | |
| 	all_top_items = webnotes.conn.sql("""\
 | |
| 		select * from `tabTop Bar Item`
 | |
| 		where parent='Website Settings' and parentfield='top_bar_items'
 | |
| 		order by idx asc""", as_dict=1)
 | |
| 	
 | |
| 	top_items = [d for d in all_top_items if not d['parent_label']]
 | |
| 	
 | |
| 	# attach child items to top bar
 | |
| 	for d in all_top_items:
 | |
| 		if d['parent_label']:
 | |
| 			for t in top_items:
 | |
| 				if t['label']==d['parent_label']:
 | |
| 					if not 'child_items' in t:
 | |
| 						t['child_items'] = []
 | |
| 					t['child_items'].append(d)
 | |
| 					break
 | |
| 			
 | |
| 	ret = webnotes._dict({
 | |
| 		'top_bar_items': top_items,
 | |
| 		'footer_items': webnotes.conn.sql("""\
 | |
| 			select * from `tabTop Bar Item`
 | |
| 			where parent='Website Settings' and parentfield='footer_items'
 | |
| 			order by idx asc""", as_dict=1),
 | |
| 			
 | |
| 		'int':int,
 | |
| 		"webnotes": webnotes,
 | |
| 		"utils": webnotes.utils
 | |
| 	})
 | |
| 	
 | |
| 	args.update(ret)
 | |
| 	
 | |
| 	settings = webnotes.doc("Website Settings", "Website Settings")
 | |
| 	for k in ["banner_html", "brand_html", "copyright", "address", "twitter_share_via",
 | |
| 		"favicon", "facebook_share", "google_plus_one", "twitter_share", "linked_in_share",
 | |
| 		"disable_signup"]:
 | |
| 		if k in settings.fields:
 | |
| 			args[k] = settings.fields.get(k)
 | |
| 
 | |
| 	for k in ["facebook_share", "google_plus_one", "twitter_share", "linked_in_share",
 | |
| 		"disable_signup"]:
 | |
| 		args[k] = cint(args.get(k) or 0)
 | |
| 	
 | |
| 	args.url = quote(str(get_request_site_address(full_address=True)), str(""))
 | |
| 	args.encoded_title = quote(encode(args.title or ""), str(""))
 | |
| 	args.shopping_cart_enabled = cint(webnotes.conn.get_default("shopping_cart_enabled"))
 | |
| 	
 | |
| 	return args
 | |
| 	
 | |
| @webnotes.whitelist()
 | |
| def update_profile(fullname, password=None, company_name=None, mobile_no=None, phone=None):
 | |
| 	from website.helpers.cart import update_party
 | |
| 	update_party(fullname, company_name, mobile_no, phone)
 | |
| 	
 | |
| 	from core.doctype.profile import profile
 | |
| 	return profile.update_profile(fullname, password)
 | |
| 	
 | |
| def get_profile_args():
 | |
| 	from website.helpers.cart import get_lead_or_customer
 | |
| 	party = get_lead_or_customer()
 | |
| 	if party.doctype == "Lead":
 | |
| 		mobile_no = party.mobile_no
 | |
| 		phone = party.phone
 | |
| 	else:
 | |
| 		mobile_no, phone = webnotes.conn.get_value("Contact", {"email_id": webnotes.session.user, 
 | |
| 			"customer": party.name}, ["mobile_no", "phone"])
 | |
| 		
 | |
| 	return {
 | |
| 		"company_name": cstr(party.customer_name if party.doctype == "Customer" else party.company_name),
 | |
| 		"mobile_no": cstr(mobile_no),
 | |
| 		"phone": cstr(phone)
 | |
| 	} |