Skip to content

Commit

Permalink
Merge b9c2f31 into 95feb0b
Browse files Browse the repository at this point in the history
  • Loading branch information
rdeheele committed Jun 4, 2015
2 parents 95feb0b + b9c2f31 commit c0abbe6
Show file tree
Hide file tree
Showing 2 changed files with 111 additions and 2 deletions.
107 changes: 105 additions & 2 deletions account_fiscal_position_rule_stock/stock.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ class stock_picking(osv.Model):
_description = "Picking List"
_columns = {
'fiscal_position': fields.many2one(
'account.fiscal.position', 'Fiscal Position',
domain="[('fiscal_operation_id','=',fiscal_operation_id)]"),
'account.fiscal.position', 'Fiscal Position'),
}

def _fiscal_position_map(self, cr, uid, result, **kwargs):
Expand Down Expand Up @@ -75,3 +74,107 @@ def _prepare_invoice(self, cr, uid, picking, partner, inv_type,
result['fiscal_position'] = picking.fiscal_position and \
picking.fiscal_position.id
return result


class stock_picking_out(osv.Model):
_inherit = "stock.picking.out"
_columns = {
'fiscal_position': fields.many2one(
'account.fiscal.position', 'Fiscal Position'),
}

def _fiscal_position_map(self, cr, uid, result, **kwargs):

if not kwargs.get('context', False):
kwargs['context'] = {}

kwargs['context'].update({'use_domain': ('use_picking', '=', True)})
fp_rule_obj = self.pool.get('account.fiscal.position.rule')
return fp_rule_obj.apply_fiscal_mapping(cr, uid, result, **kwargs)

def onchange_partner_in(self, cr, uid, ids, partner_id=None,
company_id=None, context=None, **kwargs):

result = super(stock_picking_out, self).onchange_partner_in(
cr, uid, partner_id, context)

if not result:
result = {'value': {'fiscal_position': False}}

if not partner_id or not company_id:
return result

partner_invoice_id = self.pool.get('res.partner').address_get(
cr, uid, [partner_id], ['invoice'])['invoice']
partner_shipping_id = self.pool.get('res.partner').address_get(
cr, uid, [partner_id], ['delivery'])['delivery']

kwargs.update({
'partner_id': partner_id,
'partner_invoice_id': partner_invoice_id,
'partner_shipping_id': partner_shipping_id,
'company_id': company_id,
'context': context,
})
return self._fiscal_position_map(cr, uid, result, **kwargs)

def _prepare_invoice(self, cr, uid, picking, partner, inv_type,
journal_id, context=None):
result = super(stock_picking_out, self).\
_prepare_invoice(cr, uid, picking, partner,
inv_type, journal_id, context)
result['fiscal_position'] = picking.fiscal_position and \
picking.fiscal_position.id
return result


class stock_picking_in(osv.Model):
_inherit = "stock.picking.in"
_columns = {
'fiscal_position': fields.many2one(
'account.fiscal.position', 'Fiscal Position'),
}

def _fiscal_position_map(self, cr, uid, result, **kwargs):

if not kwargs.get('context', False):
kwargs['context'] = {}

kwargs['context'].update({'use_domain': ('use_picking', '=', True)})
fp_rule_obj = self.pool.get('account.fiscal.position.rule')
return fp_rule_obj.apply_fiscal_mapping(cr, uid, result, **kwargs)

def onchange_partner_in(self, cr, uid, ids, partner_id=None,
company_id=None, context=None, **kwargs):

result = super(stock_picking_in, self).onchange_partner_in(
cr, uid, partner_id, context)

if not result:
result = {'value': {'fiscal_position': False}}

if not partner_id or not company_id:
return result

partner_invoice_id = self.pool.get('res.partner').address_get(
cr, uid, [partner_id], ['invoice'])['invoice']
partner_shipping_id = self.pool.get('res.partner').address_get(
cr, uid, [partner_id], ['delivery'])['delivery']

kwargs.update({
'partner_id': partner_id,
'partner_invoice_id': partner_invoice_id,
'partner_shipping_id': partner_shipping_id,
'company_id': company_id,
'context': context,
})
return self._fiscal_position_map(cr, uid, result, **kwargs)

def _prepare_invoice(self, cr, uid, picking, partner, inv_type,
journal_id, context=None):
result = super(stock_picking_in, self).\
_prepare_invoice(cr, uid, picking, partner,
inv_type, journal_id, context)
result['fiscal_position'] = picking.fiscal_position and \
picking.fiscal_position.id
return result
6 changes: 6 additions & 0 deletions account_fiscal_position_rule_stock/stock_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
<field name="inherit_id" ref="stock.view_picking_out_form" />
<field name="priority">24</field>
<field name="arch" type="xml">
<field name="stock_journal_id" position="after">
<field name="fiscal_position" attrs="{'readonly':[('invoice_state','!=','2binvoiced')]}" />
</field>
<field name="partner_id" position="attributes">
<attribute name="on_change">onchange_partner_in(partner_id, company_id, context)</attribute>
</field>
Expand All @@ -36,6 +39,9 @@
<field name="inherit_id" ref="stock.view_picking_in_form" />
<field name="priority">24</field>
<field name="arch" type="xml">
<field name="stock_journal_id" position="after">
<field name="fiscal_position" attrs="{'readonly':[('invoice_state','!=','2binvoiced')]}" />
</field>
<field name="partner_id" position="attributes">
<attribute name="on_change">onchange_partner_in(partner_id, company_id, context)</attribute>
</field>
Expand Down

0 comments on commit c0abbe6

Please sign in to comment.