Odoo Help

2

How do I write server action with new api?

By
Mandeep
on 10/29/14, 12:43 AM 2,016 views

I am trying to change an existing server action to new api using the code as follows

    <record id="change_article" model="ir.actions.server">
      <field name="name">Change Article</field>
      <field name="type">ir.actions.server</field>
      <field name="model_id" ref="model_article"/>
      <field name="state">code</field>
      <field name="code">self.change_article()</field>
    </record>

But this does not work. It was working earlier when i was passing cr, uid, context etc to self.change_article(). Shouldnt these be available now from env object or am i still required to pass these from the view

 

 

change_article(cr=cr, uid=uid, ids=context.get('active_ids'), context=context) worked

Mandeep
on 11/22/14, 12:38 AM
1

use @api.model in the method "def change_article(..."

from openerp import models, fields, api

    @api.model
    def change_article(self):
        print "hello"

Thanks. I have already used it. But what about the signature in xml. self.change_article(). Does this remain like this or does it have to confirm to old api like self.change_article(cr, uid, ids, context...)

Mandeep
on 10/29/14, 3:21 AM

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: 10/29/14, 12:43 AM
Seen: 2016 times
Last updated: 5/14/15, 5:04 AM