odoo/doc/howtos/backend/exercise-model-inheritance

79 lines
3.1 KiB
Plaintext

# HG changeset patch
# Parent d903c828fb10f2b38e5f43e9ceaeae0a9db7f858
Index: addons/openacademy/__init__.py
===================================================================
--- addons.orig/openacademy/__init__.py 2014-08-26 17:26:01.227783353 +0200
+++ addons/openacademy/__init__.py 2014-08-26 17:26:01.219783354 +0200
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from . import controllers
from . import models
+from . import partner
Index: addons/openacademy/__manifest__.py
===================================================================
--- addons.orig/openacademy/__manifest__.py 2014-08-26 17:26:01.227783353 +0200
+++ addons/openacademy/__manifest__.py 2014-08-26 17:26:01.223783354 +0200
@@ -28,6 +28,7 @@
# 'security/ir.model.access.csv',
'templates.xml',
'views/openacademy.xml',
+ 'views/partner.xml',
],
# only loaded in demonstration mode
'demo': [
Index: addons/openacademy/partner.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ addons/openacademy/partner.py 2014-08-26 17:26:01.223783354 +0200
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+from odoo import fields, models
+
+class Partner(models.Model):
+ _inherit = 'res.partner'
+
+ # Add a new column to the res.partner model, by default partners are not
+ # instructors
+ instructor = fields.Boolean("Instructor", default=False)
+
+ session_ids = fields.Many2many('openacademy.session',
+ string="Attended Sessions", readonly=True)
Index: addons/openacademy/views/partner.xml
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ addons/openacademy/views/partner.xml 2014-08-26 17:26:01.223783354 +0200
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <odoo>
+ <data>
+ <!-- Add instructor field to existing view -->
+ <record model="ir.ui.view" id="partner_instructor_form_view">
+ <field name="name">partner.instructor</field>
+ <field name="model">res.partner</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <notebook position="inside">
+ <page string="Sessions">
+ <group>
+ <field name="instructor"/>
+ <field name="session_ids"/>
+ </group>
+ </page>
+ </notebook>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="contact_list_action">
+ <field name="name">Contacts</field>
+ <field name="res_model">res.partner</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+ <menuitem id="configuration_menu" name="Configuration"
+ parent="main_openacademy_menu"/>
+ <menuitem id="contact_menu" name="Contacts"
+ parent="configuration_menu"
+ action="contact_list_action"/>
+ </data>
+</odoo>