[MERGE] forward port branch 9.0 up to e2ede31

This commit is contained in:
Christophe Simonis
2016-10-10 11:39:52 +02:00
9 changed files with 31 additions and 19 deletions
+1 -1
View File
@@ -1383,7 +1383,7 @@ class AccountPaymentTerm(models.Model):
class AccountPaymentTermLine(models.Model):
_name = "account.payment.term.line"
_description = "Payment Term Line"
_order = "sequence"
_order = "sequence, id"
value = fields.Selection([
('balance', 'Balance'),
@@ -53,6 +53,9 @@ class SaleOrderEventRegistration(models.TransientModel):
registration_line.registration_id.write(values)
else:
self.env['event.registration'].create(values)
if self.env.context.get('active_model') == 'sale.order':
for order in self.env['sale.order'].browse(self.env.context.get('active_ids', [])):
order.order_line._update_registrations(confirm=True)
return {'type': 'ir.actions.act_window_close'}
+2 -2
View File
@@ -448,7 +448,7 @@ class product_template(osv.osv):
names = [names]
res = {id: {} for id in ids}
templates = self.browse(cr, uid, ids, context=context)
unique_templates = [template.id for template in templates if template.product_variant_count == 1]
unique_templates = [template.id for template in templates if len(template.product_variant_ids) == 1]
for template in templates:
for name in names:
res[template.id][name] = getattr(template.product_variant_ids[0], name) if template.id in unique_templates else 0.0
@@ -457,7 +457,7 @@ class product_template(osv.osv):
def _set_product_template_field(self, cr, uid, product_tmpl_id, name, value, args, context=None):
''' Set the standard price modification on the variant if there is only one variant '''
template = self.pool['product.template'].browse(cr, uid, product_tmpl_id, context=context)
if template.product_variant_count == 1:
if len(template.product_variant_ids) == 1:
variant = self.pool['product.product'].browse(cr, uid, template.product_variant_ids.id, context=context)
return variant.write({name: value})
return {}
+2 -1
View File
@@ -378,7 +378,8 @@ class PurchaseOrder(models.Model):
'date': self.date_order,
'origin': self.name,
'location_dest_id': self._get_destination_location(),
'location_id': self.partner_id.property_stock_supplier.id
'location_id': self.partner_id.property_stock_supplier.id,
'company_id': self.company_id.id,
}
@api.multi
@@ -1,16 +1,13 @@
<?xml version="1.0"?>
<openerp>
<data>
<data noupdate="1">
<!-- Sequence and picking type dropship-->
<record id="seq_picking_type_dropship" model="ir.sequence">
<field name="name">Dropship</field>
<field name="prefix">DS</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
<record id="picking_type_dropship" model="stock.picking.type">
<field name="name">Dropship</field>
<field name="sequence_id" ref="seq_picking_type_dropship"/>
@@ -19,8 +16,7 @@
<field name="default_location_src_id" ref="stock.stock_location_suppliers"/>
<field name="default_location_dest_id" ref="stock.stock_location_customers"/>
</record>
<!-- Drop Shipping-->
<record id="route_drop_shipping" model='stock.location.route'>
<field name="name">Drop Shipping</field>
+2 -1
View File
@@ -55,8 +55,9 @@
> .o_form_field {
.o-flex(1, 0, 100px);
position: initial;
max-width: 100%;
> .o_form_input_dropdown > .o_form_input {
border-style: none!important;
}
+1
View File
@@ -498,6 +498,7 @@ class module(osv.osv):
known_dep_ids, exclude_states, context))
return list(known_dep_ids)
@api.returns('self')
def upstream_dependencies(self, cr, uid, ids, known_dep_ids=None,
exclude_states=['installed', 'uninstallable', 'to remove'],
context=None):
+6
View File
@@ -1126,6 +1126,8 @@ class BaseModel(object):
:param dict context:
:returns: {ids: list(int)|False, messages: [Message]}
"""
if context is None:
context = {}
cr.execute('SAVEPOINT model_load')
messages = []
@@ -1180,6 +1182,10 @@ class BaseModel(object):
if any(message['type'] == 'error' for message in messages):
cr.execute('ROLLBACK TO SAVEPOINT model_load')
ids = False
if ids and context.get('defer_parent_store_computation'):
self._parent_store_compute(cr)
return {'ids': ids, 'messages': messages}
def _add_fake_fields(self, cr, uid, fields, context=None):
+12 -8
View File
@@ -711,9 +711,11 @@ class expression(object):
""" Return a domain implementing the child_of operator for [(left,child_of,ids)],
either as a range using the parent_left/right tree lookup fields
(when available), or as an expanded [(left,in,child_ids)] """
if context is None:
context = {}
if not ids:
return FALSE_DOMAIN
if left_model._parent_store and (not left_model.pool._init):
if left_model._parent_store and (not left_model.pool._init) and (not context.get('defer_parent_store_computation')):
# TODO: Improve where joins are implemented for many with '.', replace by:
# doms += ['&',(prefix+'.parent_left','<',o.parent_right),(prefix+'.parent_left','>=',o.parent_left)]
doms = []
@@ -736,7 +738,9 @@ class expression(object):
""" Return a domain implementing the parent_of operator for [(left,parent_of,ids)],
either as a range using the parent_left/right tree lookup fields
(when available), or as an expanded [(left,in,parent_ids)] """
if left_model._parent_store and (not left_model.pool._init):
if context is None:
context = {}
if left_model._parent_store and (not left_model.pool._init) and (not context.get('defer_parent_store_computation')):
doms = []
for node in left_model.browse(cr, uid, ids, context=context):
if doms:
@@ -828,7 +832,7 @@ class expression(object):
elif left == 'id' and operator in HIERARCHY_FUNCS:
ids2 = to_ids(right, model, context)
dom = HIERARCHY_FUNCS[operator](left, ids2, model)
dom = HIERARCHY_FUNCS[operator](left, ids2, model, context=context)
for dom_leaf in reversed(dom):
new_leaf = create_substitution_leaf(leaf, dom_leaf, model)
push(new_leaf)
@@ -949,9 +953,9 @@ class expression(object):
elif column._type == 'one2many' and operator in HIERARCHY_FUNCS:
ids2 = to_ids(right, comodel, context)
if column._obj != model._name:
dom = HIERARCHY_FUNCS[operator](left, ids2, comodel, prefix=column._obj)
dom = HIERARCHY_FUNCS[operator](left, ids2, comodel, prefix=column._obj, context=context)
else:
dom = HIERARCHY_FUNCS[operator]('id', ids2, model, parent=left)
dom = HIERARCHY_FUNCS[operator]('id', ids2, model, parent=left, context=context)
for dom_leaf in reversed(dom):
push(create_substitution_leaf(leaf, dom_leaf, model))
@@ -1007,7 +1011,7 @@ class expression(object):
return select_from_where(cr, rel_id1, rel_table, rel_id2, ids, operator)
ids2 = to_ids(right, comodel, context)
dom = HIERARCHY_FUNCS[operator]('id', ids2, comodel)
dom = HIERARCHY_FUNCS[operator]('id', ids2, comodel, context=context)
ids2 = comodel.search(cr, uid, dom, context=context)
push(create_substitution_leaf(leaf, ('id', 'in', _rec_convert(ids2)), model))
else:
@@ -1046,9 +1050,9 @@ class expression(object):
if operator in HIERARCHY_FUNCS:
ids2 = to_ids(right, comodel, context)
if column._obj != model._name:
dom = HIERARCHY_FUNCS[operator](left, ids2, comodel, prefix=column._obj)
dom = HIERARCHY_FUNCS[operator](left, ids2, comodel, prefix=column._obj, context=context)
else:
dom = HIERARCHY_FUNCS[operator]('id', ids2, model, parent=left)
dom = HIERARCHY_FUNCS[operator]('id', ids2, model, parent=left, context=context)
for dom_leaf in reversed(dom):
push(create_substitution_leaf(leaf, dom_leaf, model))
else: