Skip to Content
Menu
This question has been flagged

Python code for the Action To Approve All leaves:

Model: Leaves

button: Approve

Code : self.write(cr, uid, ids, {'state': 'validate'}, context= None)


Avatar
Discard
Best Answer

Hi i try this ..

You have to define new .py and .xml file ..

in .xml file input this code 

<?xml version="1.0" encoding="utf-8"?>

<openerp>

<data>

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

<field name="name">Approve Timesheet</field>

<field name="model">approve.leave</field>

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

<form string="Approve">

<group>

<separator string="Are you sure you want to approve these Leave?"/>

</group>

<footer>

<button name="approve" string="Approve" type="object" class="oe_highlight"/>

or

<button string="Cancel" class="oe_link" special="cancel" />

</footer>

</form>

</field>

</record>

<act_window name="Approve"

res_model="approve.leave"

src_model="hr.holidays"

view_mode="form"

            view_id="view_approve_leaves"

target="new"

key2="client_action_multi"

id="action_view_approve_leaves"/>

</data>

</openerp>


in .py file input this code :

from openerp.osv import osv,fields

class approve_leave(osv.osv_memory):

_name = 'approve.leave'

_description = 'Approve Leaves'

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

active_ids = context.get('active_ids')

if active_ids :

self.pool.get('hr.holidays').signal_workflow(cr, uid, active_ids, 'validate' )

return True

You have to sent signal_workflow instead write the state.

Hope this help !

Avatar
Discard

If in "More" the button approve doesn't show up, try to see the "Action" menu.

Related Posts Replies Views Activity
1
Feb 20
1929
1
Aug 19
5763
2
Feb 19
2586
1
Nov 19
3025
3
Jun 18
9014