38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
# Part of BrowseInfo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models
|
|
|
|
class StockMove(models.Model):
|
|
_inherit = 'stock.move'
|
|
|
|
branch_id = fields.Many2one('res.branch')
|
|
|
|
def _assign_picking(self):
|
|
branch_id = self.group_id.sale_id.branch_id.id if self.group_id.sale_id and self.group_id.sale_id.branch_id else False
|
|
self.write({'branch_id': branch_id})
|
|
return super(StockMove, self)._assign_picking()
|
|
|
|
def _get_new_picking_values(self):
|
|
vals = super(StockMove, self)._get_new_picking_values()
|
|
vals['branch_id'] = self.group_id.sale_id.branch_id.id
|
|
return vals
|
|
|
|
def _prepare_account_move_vals(self, credit_account_id, debit_account_id, journal_id, qty, description, svl_id, cost):
|
|
res = super(StockMove, self)._prepare_account_move_vals(credit_account_id, debit_account_id, journal_id, qty, description, svl_id, cost)
|
|
res['branch_id'] = self.picking_id.branch_id.id or self.branch_id.id or False
|
|
return res
|
|
|
|
def _generate_valuation_lines_data(self, partner_id, qty, debit_value, credit_value, debit_account_id, credit_account_id, description):
|
|
# This method returns a dictionary to provide an easy extension hook to modify the valuation lines (see purchase for an example)
|
|
result = super(StockMove, self)._generate_valuation_lines_data(partner_id, qty, debit_value, credit_value, debit_account_id, credit_account_id, description)
|
|
|
|
branch_id = False
|
|
if self.branch_id:
|
|
branch_id = self.branch_id.id
|
|
elif self.env.user.branch_id:
|
|
branch_id = self.env.user.branch_id.id
|
|
|
|
for res in result.keys():
|
|
result[res].update({'branch_id' : branch_id})
|
|
|
|
return result |