Skip to Content
Menu
This question has been flagged
4 Replies
22941 Views

Hi,

I am new to odoo environment, so i am trying create a views and button but i am getting error in adding buttons in header to form view . i share my code below:


core py file: 

***********************************************

from openerp.osv import osv, fields

class qwerty(osv.osv):

     _name = 'menu.sale'

     _columns = {

         'customer_id':fields.text('Cus name'),

         'phone_no':fields.char('Phone',size=10),

         'trans_id':fields.text('Trans no'),

         'address_id':fields.char('Address',size=16),

         'note' : fields.text('Description'),

         'seq' : fields.integer('sequence No'),

         'date_start':fields.date('Start Date'),

         'date_stop':fields.date('End date'),

     }

    def set_open(self, cr, uid, ids, context=None):

        return self.write(cr, uid, ids, {'state': 'open'}, context=context)

    def set_template(self, cr, uid, ids, context=None):

        return self.setActive(cr, uid, ids, value=False, context=context)

qwerty()

******************************************

view.xml code:

******************************************

<record id="view_menu_sale_form" model="ir.ui.view">

     <field name="name">view.menu.sale.form</field>

     <field name="model">menu.sale</field>

     <field name="type">form</field>

     <field name="arch" type="xml">

     <form string="Edit Sales Menu">

          <header>

             <button name="set_open" string="Re-open project" type="object" states="open"/>

             <button name="set_template" string="Set as Template" type="object" states="open"/>

         </header>

         <sheet>

             <group>

                 <field name="customer_id"/>

                 <field name="trans_id"/>

                     <field name= "seq"/>

             </group>

                <notebook colspan="4">

                    <page string="Private Information">

                        <group>

                            <field name="address_id"/>

                            <field name="phone_no"/>

                        </group>

                    </page>

                     <page string="Public Information">

                         <group>

                             <field name="note"/>

                        </group>

                     </page>

                     <page string="Miscellaneous">             

                        <group>

                             <field name="date_start"/>

                        <field name="date_stop"/>

                         </group>     </page>     </notebook>     </sheet>     </form>     </field>     </record>



<record id="action_menu_sale_form" model="ir.actions.act_window">

    <field name="name">sales menu</field>

     <field name="res_model">menu.sale</field>

     <field name="view_mode">tree,form,calendar,gantt,graph</field>

</record>


<!-- Menu-->

        <menuitem id="menu_xml_id" name="My Menu" action="action_menu_sale_form" sequence="20"                                                                                                                                                                                        parent="base.menu_sales" />


Getting Error:     Uncaught Error: Unknown field state in domain [["state","not in",["open"]]]

                                http://localhost:8069/web/static/src/js/view_form.js:1702


Please someone help me.

Thanks,

Prakash

Avatar
Discard
Author Best Answer

Thank you guys.

Avatar
Discard
Best Answer

form view in create button 

view.xml  file 

<record id="teachar_form_view" model="ir.ui.view">

      <field name="name">teachar.details.form</field>

     <field name="model">teachars.teacher</field>

    <field name="type">form</field> <field name="arch" type="xml">

    <form string="terchar.details">

          <header>

               <button name="send_mail_template" string="Send e-mail" type="object" class="oe_highlight"/>

        </header>

 </form>

</field>

</record>

Avatar
Discard
Best Answer

the problem is with this line

<button name="set_open" string="Re-open project" type="object" states="open"/>

The error because when views getting rendered it will check for the state = open so that it can show the button in the form view, as there is not state field defined,

simply you can remove the condition and upgrade

<button name="set_open" string="Re-open project" type="object"/>

Avatar
Discard
Best Answer

Error message is telling you what's the problem.

The problem here.

def set_open(self, cr, uid, ids, context=None):
        return self.write(cr, uid, ids, {'state': 'open'}, context=context)

You have no field called 'state'. You may create this field or change the behavior of set_open method.


'state': fields.selection([('draft', 'Draft'), ('open', 'Open'), ('done', 'Done')])
Avatar
Discard

thanks a lot