From 02cc08586b06131340b4ab9a0294bce86fedf06c Mon Sep 17 00:00:00 2001 From: Pankaj Joshi Date: Mon, 22 Dec 2014 18:44:01 +0530 Subject: [PATCH] [ADD] fa-icon for website applications dropdown menu --- addons/account/account_menuitem.xml | 1 + addons/account/account_view.xml | 2 +- addons/account_accountant/account_accountant_data.xml | 1 + addons/association/profile_association.xml | 1 + addons/fleet/fleet_view.xml | 2 +- addons/hr/hr_view.xml | 1 + addons/knowledge/knowledge_view.xml | 1 + addons/lunch/lunch_view.xml | 2 +- addons/mail/mail_thread_view.xml | 1 + addons/marketing/marketing_view.xml | 2 +- addons/mrp/mrp_view.xml | 1 + addons/point_of_sale/point_of_sale_view.xml | 1 + addons/portal/portal_view.xml | 1 + addons/project/project_view.xml | 1 + addons/purchase/purchase_view.xml | 1 + addons/sales_team/sales_team.xml | 1 + addons/stock/stock_view.xml | 1 + addons/web/views/webclient_templates.xml | 1 + addons/website/data/data.xml | 1 + openerp/addons/base/base_menu.xml | 2 ++ openerp/addons/base/ir/ir_ui_menu.py | 5 ++--- openerp/tools/convert.py | 10 ++++++++++ 22 files changed, 33 insertions(+), 7 deletions(-) diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml index d1d57db17e8..754dfc3b37c 100644 --- a/addons/account/account_menuitem.xml +++ b/addons/account/account_menuitem.xml @@ -6,6 +6,7 @@ diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 7bbb850a9da..8e00d4209fd 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -258,7 +258,7 @@

- + diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml index eda0f98fdf3..592a18c32f3 100644 --- a/addons/association/profile_association.xml +++ b/addons/association/profile_association.xml @@ -6,6 +6,7 @@ diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml index e1d66457e88..ea7964443dc 100644 --- a/addons/fleet/fleet_view.xml +++ b/addons/fleet/fleet_view.xml @@ -175,7 +175,7 @@ - + diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index c2e7515fc91..7c941f0699a 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -6,6 +6,7 @@ diff --git a/addons/knowledge/knowledge_view.xml b/addons/knowledge/knowledge_view.xml index 40b32861e49..8b06b71cb4b 100644 --- a/addons/knowledge/knowledge_view.xml +++ b/addons/knowledge/knowledge_view.xml @@ -6,6 +6,7 @@ - + diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml index d0c258a580e..4c4547964d1 100644 --- a/addons/mail/mail_thread_view.xml +++ b/addons/mail/mail_thread_view.xml @@ -132,6 +132,7 @@ diff --git a/addons/marketing/marketing_view.xml b/addons/marketing/marketing_view.xml index a5fe0af0cc9..1ab170f29d8 100644 --- a/addons/marketing/marketing_view.xml +++ b/addons/marketing/marketing_view.xml @@ -4,7 +4,7 @@ + groups="base.group_user" icon="fa-check-square-o"/> diff --git a/addons/portal/portal_view.xml b/addons/portal/portal_view.xml index a14a51fb02e..4e0f0df1344 100644 --- a/addons/portal/portal_view.xml +++ b/addons/portal/portal_view.xml @@ -6,6 +6,7 @@ diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 7ed6f0593c9..12a3f5cfb49 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -6,6 +6,7 @@ diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 97a5ccf194d..2b2f9794d0c 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -6,6 +6,7 @@ diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index 0e4bd883aee..7b39f452d2a 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -190,6 +190,7 @@ t-att-data-menu="menu['id']" t-att-data-action-model="menu['action'] and menu['action'].split(',')[0] or ''" t-att-data-action-id="menu['action'] and menu['action'].split(',')[1] or ''"> + diff --git a/addons/website/data/data.xml b/addons/website/data/data.xml index 1c1567a310c..97342561caf 100644 --- a/addons/website/data/data.xml +++ b/addons/website/data/data.xml @@ -85,6 +85,7 @@ Website + fa-home diff --git a/openerp/addons/base/base_menu.xml b/openerp/addons/base/base_menu.xml index 41c438ff6b7..8686f57defe 100644 --- a/openerp/addons/base/base_menu.xml +++ b/openerp/addons/base/base_menu.xml @@ -4,6 +4,7 @@ @@ -11,6 +12,7 @@ diff --git a/openerp/addons/base/ir/ir_ui_menu.py b/openerp/addons/base/ir/ir_ui_menu.py index 002d827fa64..b9acb5961d9 100644 --- a/openerp/addons/base/ir/ir_ui_menu.py +++ b/openerp/addons/base/ir/ir_ui_menu.py @@ -358,7 +358,7 @@ class ir_ui_menu(osv.osv): @api.cr_uid_context @tools.ormcache_context(accepted_keys=('lang',)) def load_menus_root(self, cr, uid, context=None): - fields = ['name', 'sequence', 'parent_id', 'action'] + fields = ['name', 'sequence', 'parent_id', 'action', 'icon'] menu_root_ids = self.get_user_roots(cr, uid, context=context) menu_roots = self.read(cr, uid, menu_root_ids, fields, context=context) if menu_root_ids else [] return { @@ -432,7 +432,7 @@ class ir_ui_menu(osv.osv): "If this field is empty, Odoo will compute visibility based on the related object's read access."), 'complete_name': fields.function(_get_full_name, string='Full Path', type='char', size=128), - 'icon': fields.selection(tools.icons, 'Icon', size=64), + 'icon': fields.char('Icon', size=64), 'icon_pict': fields.function(_get_icon_pict, type='char', size=32), 'web_icon': fields.char('Web Icon File'), 'web_icon_hover': fields.char('Web Icon File (hover)'), @@ -462,7 +462,6 @@ class ir_ui_menu(osv.osv): (osv.osv._check_recursion, _rec_message, ['parent_id']) ] _defaults = { - 'icon': 'STOCK_OPEN', 'icon_pict': ('stock', ('STOCK_OPEN', 'ICON_SIZE_MENU')), 'sequence': 10, } diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py index 560ed3f656a..7d94815be1d 100644 --- a/openerp/tools/convert.py +++ b/openerp/tools/convert.py @@ -560,6 +560,16 @@ form: module.record_id""" % (xml_id,) groups_value.append((4, group_id)) values['groups_id'] = groups_value + if not values.get('parent_id'): + if rec.get('icon'): + values['icon'] = rec.get('icon') + else: + default_icon = 'fa-cube' # default icon if not specified any for top-level menu + try: + values['icon'] = self.pool.get('ir.ui.menu').read(cr,self.uid,res,['icon'])[0].get('icon') + except: + values['icon'] = default_icon + pid = self.pool['ir.model.data']._update(cr, self.uid, 'ir.ui.menu', self.module, values, rec_id, noupdate=self.isnoupdate(data_node), mode=self.mode, res_id=res and res[0] or False) if rec_id and pid: