~pexego/openobject-addons/6.1-pexego-new-addons

« back to all changes in this revision

Viewing changes to product_lot_sequence/product.py

  • Committer: Omar (pexego)
  • Date: 2012-07-27 08:40:22 UTC
  • Revision ID: omar@pexego.es-20120727084022-qp3ludpr3vsuyuf6
[ADD] Traceability modules ported to 6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
4
#    OpenERP, Open Source Management Solution
 
5
#    Copyright (C) 2004-2011 Pexego (<www.pexego.es>). All Rights Reserved
 
6
#    $Omar Castiñeira Saavedra$
 
7
#
 
8
#    This program is free software: you can redistribute it and/or modify
 
9
#    it under the terms of the GNU General Public License as published by
 
10
#    the Free Software Foundation, either version 3 of the License, or
 
11
#    (at your option) any later version.
 
12
#
 
13
#    This program is distributed in the hope that it will be useful,
 
14
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
#    GNU General Public License for more details.
 
17
#
 
18
#    You should have received a copy of the GNU General Public License
 
19
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
20
#
 
21
##############################################################################
 
22
 
 
23
"""add lot sequence field in products"""
 
24
 
 
25
from osv import osv, fields
 
26
from stock_production_lot_sequence import get_default_seq_id
 
27
 
 
28
class product_product(osv.osv):
 
29
    """add lot sequence field in products"""
 
30
    
 
31
    _inherit = "product.product"
 
32
 
 
33
    _columns = {
 
34
                'sequence_id':fields.many2one('ir.sequence', 'Prodlots Serial'),
 
35
                }
 
36
 
 
37
    _defaults = {
 
38
                    'default_code': lambda *a: 'COD',
 
39
                    'sequence_id': lambda x, y, z, c: get_default_seq_id(y, z, company_id=x.pool.get('res.users').browse(y,z,z).company_id.id),
 
40
                 }
 
41
 
 
42
    def create(self, cr, uid, vals, context={}):
 
43
        """overwrites create method to create new sequence to production lots"""
 
44
        product_id = super(product_product, self).create(cr, uid, vals, context=context)
 
45
        product = self.browse(cr, uid, product_id)
 
46
        #Manages the sequence number
 
47
        if not vals.get('sequence_id'):
 
48
            sequence_id = get_default_seq_id(cr, uid, product.default_code, product.name, company_id=product.company_id and product.company_id.id or False)
 
49
            if sequence_id:
 
50
                self.write(cr, uid, [product_id], {'sequence_id': sequence_id})
 
51
 
 
52
        return product_id
 
53
 
 
54
product_product()
 
 
b'\\ No newline at end of file'