Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
8152 Visualizzazioni

Python code for the Action To Approve All leaves:

Model: Leaves

button: Approve

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


Avatar
Abbandona
Risposta migliore

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
Abbandona

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

Post correlati Risposte Visualizzazioni Attività
1
feb 20
2390
1
ago 19
6511
2
feb 19
3078
1
mag 25
372
1
nov 19
3525