2010-03-09 08:54:06 +00:00
# -*- 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 osv import osv , fields
2010-05-27 05:45:42 +00:00
class procurement_compute_all ( osv . osv_memory ) :
2010-05-27 12:47:06 +00:00
_name = ' procurement.order.compute.all '
2010-03-09 08:54:06 +00:00
_description = ' Compute all schedulers '
2010-06-24 08:18:20 +00:00
2010-03-09 08:54:06 +00:00
_columns = {
' automatic ' : fields . boolean ( ' Automatic orderpoint ' , help = ' Triggers an automatic procurement for all products that have a virtual stock under 0. You should probably not use this option, we suggest using a MTO configuration on products. ' ) ,
}
2010-06-24 08:18:20 +00:00
2010-08-13 12:20:05 +00:00
_defaults = {
2010-03-09 08:54:06 +00:00
' automatic ' : lambda * a : False ,
}
2010-06-24 08:18:20 +00:00
2010-03-09 08:54:06 +00:00
def _procure_calculation_all ( self , cr , uid , ids , context ) :
2010-06-24 08:18:20 +00:00
"""
2010-04-05 12:28:03 +00:00
@param self : The object pointer .
@param cr : A database cursor
@param uid : ID of the user currently logged in
2010-06-24 08:18:20 +00:00
@param ids : List of IDs selected
@param context : A standard dictionary
2010-03-10 06:59:59 +00:00
"""
2010-05-27 12:47:06 +00:00
proc_obj = self . pool . get ( ' procurement.order ' )
2010-03-09 08:54:06 +00:00
for proc in self . browse ( cr , uid , ids ) :
proc_obj . run_scheduler ( cr , uid , automatic = proc . automatic , use_new_cursor = cr . dbname , \
2010-06-24 08:18:20 +00:00
context = context )
2010-03-09 08:54:06 +00:00
return { }
2010-06-14 10:28:26 +00:00
2010-03-09 08:54:06 +00:00
def procure_calculation ( self , cr , uid , ids , context ) :
2010-06-24 08:18:20 +00:00
"""
2010-04-05 12:28:03 +00:00
@param self : The object pointer .
@param cr : A database cursor
@param uid : ID of the user currently logged in
2010-06-24 08:18:20 +00:00
@param ids : List of IDs selected
@param context : A standard dictionary
2010-03-10 06:59:59 +00:00
"""
2010-03-09 08:54:06 +00:00
threaded_calculation = threading . Thread ( target = self . _procure_calculation_all , args = ( cr , uid , ids , context ) )
threaded_calculation . start ( )
return { }
2010-06-24 08:18:20 +00:00
procurement_compute_all ( )
2010-03-09 08:54:06 +00:00
2010-06-24 08:18:20 +00:00
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: