Skip to Content
Menu
This question has been flagged


Hi all,

i want to create an ir.actions.server action to open a form with a new record after login

for testing purpose i coded a function in my class  

class kskassenbuch(models.Model): 
_name = 'ks_sale.kskassenbuch'


@api.model    
def serveraction(self):        
​raise Warning(_('Test action!'))


and in xml:

           how can i post xml code? my code is not displayed after saving this post


record id="action_new_kassenbuch" model="ir.actions.server

field name="name">Kassenbuch_Actionfield name="type">ir.actions.server

field name="model_id" ref="model_ks_sale_kskassenbuch"
field name="binding_model_id" ref="model_ks_sale_kskassenbuch"
field name="code">records.serveraction()

record

(i could not post xml code here, so i wrote the xml lines without brackets, sorry)


after running this code i always get the error:

 ValueError: : "'NoneType' object has no attribute 'serveraction'" while evaluating 'records.serveraction()'

for me it looks that the class is bind in the action, but i dont know what i've made wrong.

thx for any help


Avatar
Discard
Best Answer

Hi,

You can add the following xml code,

<record id="action_new_kassenbuch" model="ir.actions.server">
<field name="name">assenbuch_Action</field>
<field name="model_id" ref="module_name.model_ks_sale_kskassenbuch"/>

        <field name="binding_model_id" ref="module_name.model_ks_sale_kskassenbuch"/>
        <field name="state">code</field>
        <field name="code">action = model.serveraction()</field>
    </record>


For more details, refer to the blog:
https://www.cybrosys.com/blog/type-of-actions-in-odoo-16-erp

Hope it helps

Avatar
Discard
Author

hi Cybrosys,
thanks for your answer.
your code is working. i call this ir.actions.server at the home_action i give to the user after login.
i put a logging in the function and i see that serveraction() is called.
but then i get a blank page.
i want to run my custom code and then redirect to a menu e.g. to the pipeline.
i dont know how to realize a call to crm_lead
thx for helping

Author Best Answer

i solved it by adding  from odoo import _ in the .py file

Avatar
Discard
Related Posts Replies Views Activity
1
Nov 23
6
0
Nov 23
1244
1
May 25
1258
1
Apr 25
2578
1
Apr 25
3327