~vauxoo/addons-vauxoo/6.0-trunk

« back to all changes in this revision

Viewing changes to mrp_account_variation/mrp_account_variation.py

  • Committer: Moises Lopez
  • Date: 2014-10-09 21:30:17 UTC
  • mfrom: (879.1.7 trunk-addons-vauxoo)
  • Revision ID: moylop260@vauxoo.com-20141009213017-u3jicyg8xery3r8c
[MERGE] upforward 7.0
-Fix unused import
-Fix relative import
-Fix full path import
-Fix trailing whitespace pylint error C0303
-Fix autopep8 ignoring E501 & E128
-Fix reimported
-Fix __openerp__.py files
-Translate update

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
24
24
#
25
25
##############################################################################
26
 
from openerp.osv import osv, fields
 
26
from openerp.osv import osv
27
27
from openerp.tools.translate import _
28
28
 
29
 
import openerp.netsvc as netsvc
30
29
import time
31
30
 
32
31
 
46
45
            for prod_variation in production.variation_ids:
47
46
                context['type'] = 'consumed'
48
47
                if prod_variation.product_id and\
49
 
                prod_variation.product_id.valuation == 'real_time' and\
50
 
                prod_variation.quantity != 0:
 
48
                        prod_variation.product_id.valuation == 'real_time' and\
 
49
                        prod_variation.quantity != 0:
51
50
                    j_id, src_acc, dest_acc, reference_amount =\
52
51
                        self.get_journal_accounts(cr, uid, prod_variation,
53
52
                            production, context=context)
54
53
                    account_moves += [(j_id,
55
54
                        self.create_account_variation_move_line(
56
 
                        cr, uid, prod_variation, src_acc, dest_acc,
57
 
                        reference_amount))]
 
55
                            cr, uid, prod_variation, src_acc, dest_acc,
 
56
                            reference_amount))]
58
57
 
59
58
            for prod_variation in production.variation_finished_product_ids:
60
59
                context['type'] = 'produced'
61
60
                if prod_variation.product_id and\
62
 
                prod_variation.product_id.valuation == 'real_time' and\
63
 
                prod_variation.quantity != 0:
 
61
                        prod_variation.product_id.valuation == 'real_time' and\
 
62
                        prod_variation.quantity != 0:
64
63
                    j_id, src_acc, dest_acc, reference_amount =\
65
64
                        self.get_journal_accounts(cr, uid, prod_variation,
66
65
                        production, context=context)
67
66
                    account_moves += [(j_id,
68
67
                        self.create_account_variation_move_line(
69
 
                        cr, uid, prod_variation, src_acc, dest_acc,
70
 
                        reference_amount))]
 
68
                            cr, uid, prod_variation, src_acc, dest_acc,
 
69
                            reference_amount))]
71
70
 
72
71
            if account_moves:
73
72
                for j_id, move_lines in account_moves:
74
73
                    move_obj.create(cr, uid,
75
74
                                    {
76
 
                                    'journal_id': j_id,
77
 
                                    'line_id': move_lines,
78
 
                                    'ref': 'PROD: ' + production.name})
 
75
                                        'journal_id': j_id,
 
76
                                        'line_id': move_lines,
 
77
                                        'ref': 'PROD: ' + production.name})
79
78
 
80
79
        return True
81
80
 
93
92
                    src_acc = production.product_id.property_stock_production.valuation_in_account_id.id
94
93
                if product.product_id.type == 'service':
95
94
                    dest_acc = product.product_id.categ_id.property_stock_valuation_account_id and\
96
 
                    product.product_id.categ_id.property_stock_valuation_account_id.id or False
 
95
                        product.product_id.categ_id.property_stock_valuation_account_id.id or False
97
96
                elif production.product_id.property_stock_production.variation_in_account_id:
98
97
                    dest_acc = production.product_id.property_stock_production.variation_in_account_id.id
99
98
                reference_amount = product.cost_variation
101
100
            if product.quantity < 0:
102
101
                if product.product_id.type == 'service':
103
102
                    src_acc = product.product_id.categ_id.property_stock_valuation_account_id and\
104
 
                    product.product_id.categ_id.property_stock_valuation_account_id.id or False
 
103
                        product.product_id.categ_id.property_stock_valuation_account_id.id or False
105
104
                elif production.product_id.property_stock_production.variation_in_account_id:
106
105
                    src_acc = production.product_id.property_stock_production.variation_in_account_id.id
107
106
                if production.product_id.property_stock_production.valuation_in_account_id:
108
107
                    dest_acc = production.product_id.property_stock_production.valuation_in_account_id.id
109
 
                reference_amount = product.cost_variation*-1
 
108
                reference_amount = product.cost_variation * -1
110
109
 
111
110
        if context.get('type', False) == 'produced':
112
111
            if product.quantity > 0:
120
119
                    src_acc = production.product_id.property_stock_production.valuation_out_account_id.id
121
120
                if production.product_id.property_stock_production.valuation_out_account_id:
122
121
                    dest_acc = production.product_id.property_stock_production.variation_out_account_id.id
123
 
                reference_amount = product.cost_variation*-1
 
122
                reference_amount = product.cost_variation * -1
124
123
 
125
124
        journal_id = product.product_id.categ_id.property_stock_journal.id
126
125
        if not src_acc or not dest_acc:
127
 
            raise osv.except_osv(_('Error!'), 
 
126
            raise osv.except_osv(_('Error!'),
128
127
                    _('There is no account defined for this location: "%s" ') %
129
 
                    (production.product_id.property_stock_production.name,))
 
128
                (production.product_id.property_stock_production.name,))
130
129
 
131
130
        if not journal_id:
132
131
            raise osv.except_osv(_('Error!'),
140
139
    def create_account_variation_move_line(self, cr, uid, prod_variation,
141
140
            src_account_id, dest_account_id, reference_amount, context=None):
142
141
        debit_line_vals = {
143
 
            'name': 'PROD: ' + prod_variation.production_id.name + ' - ' +\
144
 
                            (prod_variation.product_id and
145
 
                            prod_variation.product_id.name or ''),
146
 
                    'product_id': prod_variation.product_id and
147
 
                            prod_variation.product_id.id or False,
148
 
                    'quantity': prod_variation.quantity,
 
142
            'name': 'PROD: ' + prod_variation.production_id.name + ' - ' +
 
143
            (prod_variation.product_id and
 
144
             prod_variation.product_id.name or ''),
 
145
            'product_id': prod_variation.product_id and
 
146
            prod_variation.product_id.id or False,
 
147
            'quantity': prod_variation.quantity,
149
148
            #                   'ref': 'prueba',
150
 
                    'date': time.strftime('%Y-%m-%d'),
151
 
#                    'partner_id': partner_id,
152
 
                    'debit': reference_amount,
153
 
                    'account_id': dest_account_id,
 
149
            'date': time.strftime('%Y-%m-%d'),
 
150
            #                    'partner_id': partner_id,
 
151
            'debit': reference_amount,
 
152
            'account_id': dest_account_id,
154
153
        }
155
154
        credit_line_vals = {
156
 
            'name': 'PROD: ' + prod_variation.production_id.name + ' - ' +\
157
 
                (prod_variation.product_id and
 
155
            'name': 'PROD: ' + prod_variation.production_id.name + ' - ' +
 
156
            (prod_variation.product_id and
158
157
                prod_variation.product_id.name or ''),
159
158
            'product_id': prod_variation.product_id and
160
 
                prod_variation.product_id.id or False,
 
159
            prod_variation.product_id.id or False,
161
160
            'quantity': prod_variation.quantity,
162
 
    #                 'ref': 'prueba',
 
161
            #                 'ref': 'prueba',
163
162
            'date': time.strftime('%Y-%m-%d'),
164
 
    #                   'partner_id': partner_id,
 
163
            #                   'partner_id': partner_id,
165
164
            'credit': reference_amount,
166
165
            'account_id': src_account_id,
167
166
        }