You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# -*- coding: utf-8 -*- # Copyright 2016 LasLabs Inc. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp import api from lxml import etree from openerp.addons.base.res.res_config import \ res_config_settings
class ResConfigSettings(res_config_settings):
@api.model def fields_view_get(self, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
ret_val = super(ResConfigSettings, self).fields_view_get( view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu, )
doc = etree.XML(ret_val['arch'])
# Remove Individual Elements xpath_specific_queries = [ # Sale "//div[field[@name='module_sale_contract']] \
/preceding-sibling::label[1]", # Inventory "//div[div[field[@name='module_delivery_dhl']]] \
/preceding-sibling::label[1]", "//div[div[field[@name='module_stock_barcode']]] \
/preceding-sibling::label[1]", # Invoicing "//a[@href='https://www.odoo.com/page/accounting-features']", "//div[@name='bank_statement_import_options'] \
/preceding-sibling::label[1]", "//div[@name='bank_payments']/preceding-sibling::label[1]", # Project "//div[div[field[@name='module_project_forecast']]] \
/preceding-sibling::label[1]", "//div[field[@name='module_project_timesheet_synchro']] \
/preceding-sibling::label[1]", # WebsiteAdmin "//div[div[field[@name='module_website_form_editor']]] \
/preceding-sibling::label[1]", ]
for query in xpath_specific_queries: items = doc.xpath("%s" % query) for item in items: item.getparent().remove(item)
# Bulk Remove Fields and Labels upgrade_fields = doc.xpath("//field[@widget='upgrade_boolean']") for field in upgrade_fields: for label in doc.xpath("//label[@for='%s']" % field.get('name')): label.getparent().remove(label) field.getparent().remove(field)
# Clean Up Empty Divs complete = False while not complete: divs = doc.xpath("//div[not(*)]") if not divs: complete = True else: for div in divs: div.getparent().remove(div)
ret_val['arch'] = etree.tostring(doc) return ret_val
|