Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
4769 มุมมอง

I've wrote a custom module to enable confirming selected delivery orders in a list view.

When I use it, I don't get an error but nothing happens  to my orders.

Here's the code: delivery_order_confirm.py

class delivery_order_confirm(osv.osv_memory):
    """
    This wizard will confirm all the selected delivery orders.
    """

    _name = "delivery.order.confirm"
    _description = "Confirm the selected delivery orders"

    def delivery_order_confirm(self, cr, uid, ids, context=None):
        
        if context is None:
            context = {}
        wf_service = netsvc.LocalService('workflow')
        orders = self.pool.get('stock.picking').read(cr, uid,
                                                      context['active_ids'],
                                                      ['state', 'name'],
                                                      context=context)

        for record in orders:
            if not record['state'] == 'draft':
                raise orm.except_orm(_('Warning!'),
                    _("Selected delivery order cannot be confirmed because it isn't in 'Draft' state: %s."
                      %record['name']))
            wf_service.trg_validate(uid, 'stock.picking', record['id'],
                                    'action_confirm', cr)
        return {'type': 'ir.actions.act_window_close'}

delivery_order_confirm()

delivery_order_confirm_view.xml

<openerp>
    <data>

        <record id="delivery_order_confirm_view" model="ir.ui.view">
            <field name="name">delivery.order.confirm.form</field>
            <field name="model">delivery.order.confirm</field>
            <field name="arch" type="xml">
                <form string="Confirm selected delivery orders" version="7.0">
                    <p>Do you want to confirm selected delivery orders?</p>
                    <footer>
                        <button string="Confirm orders" name="delivery_order_confirm" type="object" default_focus="1" class="oe_highlight"/>
                        or
                        <button string="Cancel" class="oe_link" special="cancel"/>
                    </footer>
                </form>
            </field>
        </record>

 

        <act_window id="action_delivery_order_confirm"
            multi="True"
            key2="client_action_multi" name="Confirm orders"
            res_model="delivery.order.confirm" src_model="stock.picking"
            view_mode="form" target="new" view_type="form" />

    </data>
</openerp>

 

อวตาร
ละทิ้ง

Could you try to select a delivery which is not in Draft State, and see if the error message "WARNING" is triggered ?

ผู้เขียน

Thanks for your answer Med Said, the error message is triggered, I've also added a print line inside this method to be sure that the code is being read, and it's read but not executed :o

What do you get in your openerp-server.log?

ผู้เขียน

Thank you very much, it worked!

คำตอบที่ดีที่สุด

Could you try by changing 'action_confirm' to 'button_confirm'

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
0
มี.ค. 15
5159
1
ก.ย. 16
6538
0
มี.ค. 15
4120
1
มี.ค. 15
9057
1
มี.ค. 15
4375