diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml index 0711e073928..673cdfab8e1 100644 --- a/addons/account/board_account_view.xml +++ b/addons/account/board_account_view.xml @@ -12,7 +12,6 @@ form graph,tree [('type','=','receivable')] - Income Accounts @@ -20,7 +19,6 @@ form graph,tree [('type','=','income')] - Company Analysis @@ -29,7 +27,6 @@ tree,graph {'group_by':['user_type'], 'group_by_no_leaf':1} - Treasury @@ -38,7 +35,6 @@ graph,tree [('type','=','liquidity')] - board.account.form @@ -49,11 +45,11 @@ - + - - + + diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index fe98ef7a403..83efe67f103 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -98,6 +98,7 @@ "access_account_bank_statement_manager","account.bank.statement manager","model_account_bank_statement","account.group_account_manager",1,1,1,1 "access_account_entries_report_manager","account.entries.report","model_account_entries_report","account.group_account_manager",1,1,1,1 "access_account_entries_report_user","account.entries.report","model_account_entries_report","account.group_account_user",1,0,0,0 +"access_account_entries_report_employee","account.entries.report employee","model_account_entries_report","base.group_user",1,0,0,0 "access_analytic_entries_report_manager","analytic.entries.report","model_analytic_entries_report","account.group_account_manager",1,0,0,0 "access_account_cashbox_line","account.cashbox.line","model_account_cashbox_line","account.group_account_manager",1,1,1,1 "access_account_cashbox_line","account.cashbox.line","model_account_cashbox_line","account.group_account_user",1,1,1,1 diff --git a/addons/board/board.py b/addons/board/board.py index 8662aa5bff2..7de35fcc5f8 100644 --- a/addons/board/board.py +++ b/addons/board/board.py @@ -120,7 +120,6 @@ class board_board(osv.osv): @return: Dictionary of Fields, arch and toolbar. """ - res = {} res = super(board_board, self).fields_view_get(cr, user, view_id, view_type,\ context, toolbar=toolbar, submenu=submenu) @@ -131,9 +130,31 @@ class board_board(osv.osv): view_id = vids[0] arch = self.pool.get('ir.ui.view.custom').browse(cr, user, view_id, context=context) res['arch'] = arch.arch - + res['arch'] = self._arch_preprocessing(cr, user, res['arch'], context=context) res['toolbar'] = {'print': [], 'action': [], 'relate': []} return res + + + def _arch_preprocessing(self, cr, user, arch, context=None): + from lxml import etree + def remove_unauthorized_children(node): + for child in node.iterchildren(): + if child.tag=='action' and child.get('invisible'): + node.remove(child) + else: + child=remove_unauthorized_children(child) + return node + + def encode(s): + if isinstance(s, unicode): + return s.encode('utf8') + return s + + archnode = etree.fromstring(encode(arch)) + return etree.tostring(remove_unauthorized_children(archnode),pretty_print=True) + + + _columns = { 'name': fields.char('Dashboard', size=64, required=True),