diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-06-28 13:11:35 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-06-28 13:11:35 +0200 |
| commit | 10550aa5a5ae261c3b1e1b9e4c95b4e5bfbe8ec6 (patch) | |
| tree | 2f6f90e4df4d9703e1203754f903d545a23f76b3 /addons | |
| parent | cbbc90fc2ef2a1a7e104c466fffb33766cf20986 (diff) | |
| parent | e68ed417b6945c0dcb833533e25f2bbd2f01d045 (diff) | |
[MERGE] forward port of branch saas-6 up to e68ed41
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/portal_stock/security/portal_security.xml | 2 | ||||
| -rw-r--r-- | addons/sale_stock/sale_stock.py | 9 | ||||
| -rw-r--r-- | addons/stock/stock.py | 5 | ||||
| -rw-r--r-- | addons/stock/views/report_stockpicking_operations.xml | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form_relational_widgets.js | 3 |
5 files changed, 16 insertions, 5 deletions
diff --git a/addons/portal_stock/security/portal_security.xml b/addons/portal_stock/security/portal_security.xml index 458de89b89b..2355a1331cf 100644 --- a/addons/portal_stock/security/portal_security.xml +++ b/addons/portal_stock/security/portal_security.xml @@ -6,7 +6,7 @@ <record id="portal_stock_picking_portal_user_rule" model="ir.rule"> <field name="name">Portal Follower Pickings</field> <field name="model_id" ref="stock.model_stock_picking"/> - <field name="domain_force">['|', ('message_partner_ids','in',[user.partner_id.id]), ('partner_id.id','=',user.partner_id.id)]</field> + <field name="domain_force">['|', '|', ('message_partner_ids', 'in', [user.partner_id.id]), ('partner_id.id', '=', user.partner_id.id), ('sale_id.partner_id.id', '=', user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('base.group_portal'))]"/> </record> diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index 5c5e789f63a..f046bea5678 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -303,7 +303,14 @@ class StockPicking(models.Model): break picking.sale_id = sale_order.id if sale_order else False - sale_id = fields.Many2one(comodel_name='sale.order', string="Sale Order", compute='_compute_sale_id') + def _search_sale_id(self, operator, value): + moves = self.env['stock.move'].search( + [('picking_id', '!=', False), ('procurement_id.sale_line_id.order_id', operator, value)] + ) + return [('id', 'in', moves.mapped('picking_id').ids)] + + sale_id = fields.Many2one(comodel_name='sale.order', string="Sale Order", + compute='_compute_sale_id', search='_search_sale_id') class AccountInvoiceLine(models.Model): diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 7dd472d29b7..02b1405e8ae 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1440,10 +1440,11 @@ class stock_picking(models.Model): #Check moves with same product product_qty = ops.qty_done if done_qtys else ops.product_qty qty_to_assign = uom_obj._compute_qty_obj(cr, uid, ops.product_uom_id, product_qty, ops.product_id.uom_id, context=context) + precision_rounding = ops.product_id.uom_id.rounding for move_dict in prod2move_ids.get(ops.product_id.id, []): move = move_dict['move'] for quant in move.reserved_quant_ids: - if not qty_to_assign > 0: + if float_compare(qty_to_assign, 0, precision_rounding=precision_rounding) != 1: break if quant.id in quants_in_package_done: continue @@ -1466,7 +1467,7 @@ class stock_picking(models.Model): qty_to_assign -= qty_on_link lot_qty[quant.lot_id.id] -= qty_on_link - qty_assign_cmp = float_compare(qty_to_assign, 0, precision_rounding=ops.product_id.uom_id.rounding) + qty_assign_cmp = float_compare(qty_to_assign, 0, precision_rounding=precision_rounding) if qty_assign_cmp > 0: #qty reserved is less than qty put in operations. We need to create a link but it's deferred after we processed #all the quants (because they leave no choice on their related move and needs to be processed with higher priority) diff --git a/addons/stock/views/report_stockpicking_operations.xml b/addons/stock/views/report_stockpicking_operations.xml index 155524e5867..45e68fc7169 100644 --- a/addons/stock/views/report_stockpicking_operations.xml +++ b/addons/stock/views/report_stockpicking_operations.xml @@ -33,7 +33,7 @@ <div t-if="o.partner_id" name="partner_header"> <div t-field="o.partner_id" t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/> - <p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></p> + <p t-if="o.sudo().partner_id.vat">VAT: <span t-field="o.sudo().partner_id.vat"/></p> </div> </div> <div class="col-xs-5 col-xs-offset-1"> diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js index a1444bcae85..5b0987f0fc0 100644 --- a/addons/web/static/src/js/views/form_relational_widgets.js +++ b/addons/web/static/src/js/views/form_relational_widgets.js @@ -886,6 +886,9 @@ var FieldX2Many = AbstractManyField.extend({ } return true; }, + is_false: function () { + return _(this.dataset.ids).isEmpty(); + }, }); var X2ManyDataSet = data.BufferedDataSet.extend({ |
