Odoo Help

1

{SOLVED] Odoo 8 : Add a custom field into any Module

By
NhuVanTran
on 2/4/15, 10:55 PM 2,752 views

Hi all,

I'm beginer in Odoo v8.0. I want to add a custom field into module "sale". The Error is "Field `type_customer` does not exist"

So my code here.

__init__.py

from . import modify_type_quotation

__openerp__.py

{
   'name' : "Modify report template",
   'description' : """Modify report template for Quotation/Sale report""",
   'author' : "Nhu Van Tran",
   'category' : "Tools",
   'depends' : ['sale'],
   'data' : ['modify_create_quotation.xml'],
   'demo' : [],
   'installable' : True,
}

modify_type_quotation.py

# -*- coding: utf-8 -*-

from openerp import models, fields

class modify_print_content(models.Model):

   _inherit = "sale.order"
   _description = "Modify Print Content"

   type_customer = fields.selection([
                 ('Commercial', 'Commercial Customer'),
                 ('Residential', 'Risidential Customer'),
                 ], string = "Type of Customer", help = "Type of Customer", default = "Commercial", required = True)

and modify_create_quotation.xml here

<?xml version="1.0" encoding="utf-8"?>
<openerp>
   <data>
      <record model = "ir.ui.view" id = "modify_view_sale">
         <field name ="name">sale.order.form</field>
         <field name = "model">sale.order</field>
         <field name = "inherit_id" ref="sale.view_order_form"></field>
         <field name="arch" type="xml">
            <xpath expr="/form/sheet/group/group[2]/field[@name='client_order_ref']" position="after">
                <field name="type_customer">Type customer</field>
            </xpath>
        </field>
      </record>
   </data>
</openerp>

That seem very simple but please help me. Thank you so much

--------

SOLVE : My bad. The mistake is "selection" and "Selection"

change Type customer into

aci aisha
on 2/4/15, 11:27 PM

Hi if our answer is helpful ..please upvote...

Odoo
on 2/4/15, 11:59 PM
0
NhuVanTran
On 2/4/15, 11:40 PM

Hi Emipro

Thanks for your help. But It's not work. I try to fields.Text too, and It's also not work.

Please correct your xpath

Odoo
on 2/4/15, 11:42 PM
0
Odoo
On 2/4/15, 11:35 PM

Try This code in your Py file

class modify_print_content(models.Model):

   _inherit = "sale.order"
   _description = "Modify Print Content"

   type_customer = fields.Selection([
                 ('Commercial', 'Commercial Customer'),
                 ('Residential', 'Risidential Customer'),
                 ], string = "Type of Customer", help = "Type of Customer", default = "Commercial", required = True)

Please check your xpath also 

 

0

Hello,

The reason of why "type_customer" field not available because it is not registered in Database table.

When you inherit models.Model class, it means you have used V8 API. So you have to declare field as follows,

( use Capital "Selection" instead of "selection" )

type_customer = fields.Selection([
                 ('Commercial', 'Commercial Customer'),
                 ('Residential', 'Risidential Customer'),
                 ], string = "Type of Customer", help = "Type of Customer", default = "Commercial", required = True)

Once do any change in py file, please restart your server,

Hope this helps,

In V7 is it small letter "selection"

aci aisha
on 2/4/15, 11:28 PM

@aisha, Its not like V7, but when you specially inherit class from models.Model, it will be indeed written in V8.

Emipro Technologies Pvt. Ltd.
on 2/4/15, 11:36 PM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)

Stats

Asked: 2/4/15, 10:55 PM
Seen: 2752 times
Last updated: 3/17/15, 5:22 AM