OpenERP: How to override an inherited view’s action

By | October 22, 2023

I’d like to supress the display of the Stock Value Variation chart on the default view of the Manufacturing page. I’m using inheritance to modify the form. Right now I can inherit the form and get additional actions to show up. However, I’m not able to use position=”replace” for an action, form, or on the “arch” field. So how do I stop display of the Stock Value Variation, or the other graphs?

I’m new to OpenERP, and I’m trying to use the Manufacturing module to create a custom app for tracking prototype hardware development. Much of the functionality I want is already there, so OpenERP is a natural fit. However, the first step is to disable anything unnecessary. Inheriting and replacing fields to stop them from showing up hasn’t been a problem, but I’m not having any luck getting rid of the actions that create reports and graphs.

Related questions:

  • Would it be better to leave the Manufacturing pages alone, and create
    a whole new “Prototypes” module? In other words, right now I’m trying
    to change the behavior of the Manufacturing pages — would it be
    better to create a new module and add a “Prototypes” button along
    with Sales/Purchase/Warehouse/Manufacturing/Accounting/Settings at
    the top of the default page?

  • I’m not sure where the extra “Change Layout” button at the top of the
    default Manufacturing page is comming from, or how to get rid of
    that. Any ideas?

  • Is the problem I’m having derived from the dynamic names and refering
    to them in another module? (E.g. the
    name=”%(procurement.procurement_exceptions)d” in mrp_boot_view.xml).

OpenERP 6.1 on Windows, install everything locally.

Here’s the code:

    "name" : "prototyping tool",
    "version" : "0.1",
    "author" : "",
    "website" : "",
    "category" : "Manufacturing",
    "sequence": 19,
    "images" : [],
    "depends" : ["mrp", "base"],
    "description": """initial version doesn't do much, simplifies MRP views.""",
    'init_xml': [],
    'update_xml': ["mrp_boot_view.xml"],
    'demo_xml': [],
    'test': [],
    'installable': True,
    'application': True,
    'auto_install': False,
    'certificate': '',
    import mrp_boot
    import mrp

# None of this functionality is currently used

import mrp_boot
import mrp

from osv import fields, osv

class mrp_boot(osv.osv):
   _name = "mrp_boot"
   _inherit = "purchase.order"

   def _get_boot_expense_category(self, cursor, user_id, context=None):
       return (
           ('NRE', 'NRE'),
           ('MatProto', 'Materials / Prototype'),
           ('Capital', 'Capital'),
           ('Loaner', 'Loaner'))

   _columns = {
           fields.selection( _get_boot_expense_category
                           , 'Expense Category'
                           , help="How the equipment for the entire PO is to be expensed. If multiple methods will be used, multiple POs must be created"),



# I'd like to supress the display of the charts generated by the actions 
<?xml version="1.0" ?>

     <record id="board_mrp_manager_form" model="ir.ui.view">
          <field name="name">board.mrp.manager.form</field>
          <field name="model">board.board</field>
          <field name="inherit_id" ref="mrp.board_mrp_manager_form" />
          <field name="type">form</field>
          <field name="priority" eval="15"/>
          <field name="arch" type="xml">

               <form string="Manufacturing board">
                    <board style="2-1">
                            <action name="%(procurement.procurement_exceptions)d" string="New Prototype Outlook" domain="[('state','=','exception')]"/>


Best Solution

You can not use replace attribute to modify anything in action.

To inherit action or make changes in action you can override action’s id.

For Example I want to override action of procurement module, then I can change view_type or view_mode or context or search_view_id as per my requirement:

<record id="procurement.procurement_exceptions" model="ir.actions.act_window">
        <field name="name">Procurement Exceptions</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">procurement.order</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="context">{'search_default_perm_exceptions':1}</field>
        <field name="search_view_id" ref="procurement.view_procurement_filter"/>

To remove extra stuff from inherited view (taken from comment):

<record id="my_customized_board_mrp_manager_form" model="ir.ui.view">
    <field name="name">board.mrp.manager.form</field>
    <field name="model">board.board</field>
    <field name="inherit_id" ref="mrp.board_mrp_manager_form" />
    <field name="type">form</field>
    <field name="arch" type="xml">
        <action name="%(mrp.action_report_in_out_picking_tree)d" position="replace"/>

Category: Uncategorized