29 lines
		
	
	
		
			904 B
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			904 B
		
	
	
	
		
			Python
		
	
	
| # Copyright 2018 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
 | |
| # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
 | |
| 
 | |
| from odoo.http import request, route
 | |
| from odoo.addons.website.controllers.main import Website
 | |
| 
 | |
| 
 | |
| class WebsiteMultiTheme(Website):
 | |
| 
 | |
|     def _xml_id2key(self, xml_id):
 | |
|         view = request.env.ref(xml_id, raise_if_not_found=False)
 | |
|         if view:
 | |
|             return view.key
 | |
|         return None
 | |
| 
 | |
|     @route()
 | |
|     def theme_customize_get(self, xml_ids):
 | |
|         """Extend in order to replace xml_id to key, because
 | |
|         view.xml_id is 'website_multi_theme.auto_view_ID_WEBSITE',
 | |
|         while client works with original IDs.
 | |
| 
 | |
|         """
 | |
|         res = super(WebsiteMultiTheme, self).theme_customize_get(xml_ids)
 | |
|         res = [[
 | |
|             self._xml_id2key(xml_id) or xml_id
 | |
|             for xml_id in group
 | |
|         ] for group in res]
 | |
|         return res
 |