Kanchan Chauhan | e0818f8 | 2016-04-22 14:39:02 +0530 | [diff] [blame] | 1 | # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors |
| 2 | # License: GNU General Public License v3. See license.txt |
| 3 | |
Chillar Anand | 915b343 | 2021-09-02 16:44:59 +0530 | [diff] [blame] | 4 | |
Kanchan Chauhan | e0818f8 | 2016-04-22 14:39:02 +0530 | [diff] [blame] | 5 | import frappe |
Kanchan Chauhan | e0818f8 | 2016-04-22 14:39:02 +0530 | [diff] [blame] | 6 | |
| 7 | no_cache = 1 |
Kanchan Chauhan | e0818f8 | 2016-04-22 14:39:02 +0530 | [diff] [blame] | 8 | |
Anand Doshi | e3bd78e | 2016-04-22 18:53:21 +0530 | [diff] [blame] | 9 | def get_context(context): |
| 10 | homepage = frappe.get_doc('Homepage') |
Rushabh Mehta | 4b9238a | 2016-05-12 15:22:59 +0530 | [diff] [blame] | 11 | |
Kanchan Chauhan | 239b351 | 2016-05-02 11:43:44 +0530 | [diff] [blame] | 12 | for item in homepage.products: |
Anand Doshi | 771ab0c | 2016-06-27 12:04:13 +0530 | [diff] [blame] | 13 | route = frappe.db.get_value('Item', item.item_code, 'route') |
| 14 | if route: |
| 15 | item.route = '/' + route |
Rushabh Mehta | 4b9238a | 2016-05-12 15:22:59 +0530 | [diff] [blame] | 16 | |
Faris Ansari | 5f8b358 | 2019-03-19 11:48:32 +0530 | [diff] [blame] | 17 | homepage.title = homepage.title or homepage.company |
| 18 | context.title = homepage.title |
Rushabh Mehta | ec2d09c | 2016-08-09 16:43:15 +0530 | [diff] [blame] | 19 | context.homepage = homepage |
Faris Ansari | 5f8b358 | 2019-03-19 11:48:32 +0530 | [diff] [blame] | 20 | |
| 21 | if homepage.hero_section_based_on == 'Homepage Section' and homepage.hero_section: |
| 22 | homepage.hero_section_doc = frappe.get_doc('Homepage Section', homepage.hero_section) |
| 23 | |
| 24 | if homepage.slideshow: |
| 25 | doc = frappe.get_doc('Website Slideshow', homepage.slideshow) |
| 26 | context.slideshow = homepage.slideshow |
| 27 | context.slideshow_header = doc.header |
| 28 | context.slides = doc.slideshow_items |
| 29 | |
| 30 | context.blogs = frappe.get_all('Blog Post', |
| 31 | fields=['title', 'blogger', 'blog_intro', 'route'], |
| 32 | filters={ |
| 33 | 'published': 1 |
| 34 | }, |
| 35 | order_by='modified desc', |
| 36 | limit=3 |
| 37 | ) |
| 38 | |
| 39 | # filter out homepage section which is used as hero section |
| 40 | homepage_hero_section = homepage.hero_section_based_on == 'Homepage Section' and homepage.hero_section |
| 41 | homepage_sections = frappe.get_all('Homepage Section', |
| 42 | filters=[['name', '!=', homepage_hero_section]] if homepage_hero_section else None, |
| 43 | order_by='section_order asc' |
| 44 | ) |
| 45 | context.homepage_sections = [frappe.get_doc('Homepage Section', name) for name in homepage_sections] |
| 46 | |
| 47 | context.metatags = context.metatags or frappe._dict({}) |
| 48 | context.metatags.image = homepage.hero_image or None |
| 49 | context.metatags.description = homepage.description or None |
| 50 | |
| 51 | context.explore_link = '/all-products' |