This function returns an action that display existing procurement orders
of same procurement group of given ids.
'''
- mod_obj = self.pool.get('ir.model.data')
act_obj = self.pool.get('ir.actions.act_window')
- result = mod_obj.get_object_reference(cr, uid, 'procurement', 'do_view_procurements')
- id = result and result[1] or False
- result = act_obj.read(cr, uid, [id], context=context)[0]
+ action_id = self.pool.get('ir.model.data').xmlid_to_res_id(cr, uid, 'procurement.do_view_procurements', raise_if_not_found=True)
+ result = act_obj.read(cr, uid, [action_id], context=context)[0]
group_ids = set([proc.group_id.id for proc in self.browse(cr, uid, ids, context=context) if proc.group_id])
result['domain'] = "[('group_id','in',[" + ','.join(map(str, list(group_ids))) + "])]"
return result
+++ /dev/null
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import threading
-from openerp.osv import fields, osv
-
-class procurement_compute(osv.osv_memory):
- _name = 'procurement.order.compute'
- _description = 'Compute Procurement'
-
- def _procure_calculation_procure(self, cr, uid, ids, context=None):
- try:
- proc_obj = self.pool.get('procurement.order')
- proc_obj._procure_confirm(cr, uid, use_new_cursor=cr.dbname, context=context)
- finally:
- pass
- return {}
-
- def procure_calculation(self, cr, uid, ids, context=None):
- """
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of IDs selected
- @param context: A standard dictionary
- """
- threaded_calculation = threading.Thread(target=self._procure_calculation_procure, args=(cr, uid, ids, context))
- threaded_calculation.start()
- return {}
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <!-- Compute Procurement -->
-
- <record id="view_compute_procurment_wizard" model="ir.ui.view">
- <field name="name">Compute Procurements</field>
- <field name="model">procurement.order.compute</field>
- <field name="arch" type="xml">
- <form string="Parameters" version="7.0">
- <group>
- <label string="This wizard will schedule procurements."/>
- </group>
- <footer>
- <button name="procure_calculation" string="Compute Procurements"
- type="object" class="oe_highlight" />
- or
- <button string="Cancel" class="oe_link" special="cancel" />
- </footer>
- </form>
- </field>
- </record>
-
- </data>
-</openerp>