summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-01-15 11:45:44 +0100
committerChristophe Simonis <chs@odoo.com>2019-01-15 11:45:44 +0100
commit3374ac805f13ea99c7275c19f2830863382a2960 (patch)
treec6ab64ee6b21975b0195895565fa858f28503fb4 /addons
parent9878db14f5c79ca0d0c2bd431588d3dceefe385d (diff)
parent28785f21e427f5d3ea23974e428bb5e856427625 (diff)
[MERGE] forward port branch saas-14 up to 28785f21e42
Diffstat (limited to 'addons')
-rw-r--r--addons/hr_payroll_account/models/hr_payroll_account.py3
-rw-r--r--addons/payment_sips/models/payment.py2
-rw-r--r--addons/purchase/models/res_partner.py31
-rw-r--r--addons/website_slides/view/website_slides_embed.xml2
4 files changed, 30 insertions, 8 deletions
diff --git a/addons/hr_payroll_account/models/hr_payroll_account.py b/addons/hr_payroll_account/models/hr_payroll_account.py
index e76173d45a4..93d2ad307bf 100644
--- a/addons/hr_payroll_account/models/hr_payroll_account.py
+++ b/addons/hr_payroll_account/models/hr_payroll_account.py
@@ -53,6 +53,7 @@ class HrPayslip(models.Model):
@api.multi
def action_payslip_done(self):
+ res = super(HrPayslip, self).action_payslip_done()
precision = self.env['decimal.precision'].precision_get('Payroll')
for slip in self:
@@ -138,7 +139,7 @@ class HrPayslip(models.Model):
move = self.env['account.move'].create(move_dict)
slip.write({'move_id': move.id, 'date': date})
move.post()
- return super(HrPayslip, self).action_payslip_done()
+ return res
class HrSalaryRule(models.Model):
diff --git a/addons/payment_sips/models/payment.py b/addons/payment_sips/models/payment.py
index 515bb08ee97..4b2122cec45 100644
--- a/addons/payment_sips/models/payment.py
+++ b/addons/payment_sips/models/payment.py
@@ -81,7 +81,7 @@ class AcquirerSips(models.Model):
if self.environment == 'prod':
# For production environment, key version 2 is required
merchant_id = getattr(self, 'sips_merchant_id')
- key_version = '2'
+ key_version = self.env['ir.config_parameter'].sudo().get_param('sips.key_version', '2')
else:
# Test key provided by Atos Wordline works only with version 1
merchant_id = '002001000000001'
diff --git a/addons/purchase/models/res_partner.py b/addons/purchase/models/res_partner.py
index 8983a4b07b3..df138af9655 100644
--- a/addons/purchase/models/res_partner.py
+++ b/addons/purchase/models/res_partner.py
@@ -11,11 +11,32 @@ class res_partner(models.Model):
@api.multi
def _purchase_invoice_count(self):
- PurchaseOrder = self.env['purchase.order']
- Invoice = self.env['account.invoice']
- for partner in self:
- partner.purchase_order_count = PurchaseOrder.search_count([('partner_id', 'child_of', partner.id)])
- partner.supplier_invoice_count = Invoice.search_count([('partner_id', 'child_of', partner.id), ('type', '=', 'in_invoice')])
+ # retrieve all children partners and prefetch 'parent_id' on them
+ all_partners = self.search([('id', 'child_of', self.ids)])
+ all_partners.read(['parent_id'])
+
+ purchase_order_groups = self.env['purchase.order'].read_group(
+ domain=[('partner_id', 'in', all_partners.ids)],
+ fields=['partner_id'], groupby=['partner_id']
+ )
+ for group in purchase_order_groups:
+ partner = self.browse(group['partner_id'][0])
+ while partner:
+ if partner in self:
+ partner.purchase_order_count += group['partner_id_count']
+ partner = partner.parent_id
+
+ supplier_invoice_groups = self.env['account.invoice'].read_group(
+ domain=[('partner_id', 'in', all_partners.ids),
+ ('type', '=', 'in_invoice')],
+ fields=['partner_id'], groupby=['partner_id']
+ )
+ for group in supplier_invoice_groups:
+ partner = self.browse(group['partner_id'][0])
+ while partner:
+ if partner in self:
+ partner.supplier_invoice_count += group['partner_id_count']
+ partner = partner.parent_id
@api.model
def _commercial_fields(self):
diff --git a/addons/website_slides/view/website_slides_embed.xml b/addons/website_slides/view/website_slides_embed.xml
index 72614803325..c7010c22e60 100644
--- a/addons/website_slides/view/website_slides_embed.xml
+++ b/addons/website_slides/view/website_slides_embed.xml
@@ -133,7 +133,7 @@
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 text-center"></div>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2 pull-right text-right">
- <a t-if="slide.download_security and not is_embedded" target="_top" t-attf-href="/slides/slide/#{slug(slide)}/download" title="Download" id="download">
+ <a t-if="slide.download_security != 'none' and not is_embedded" target="_top" t-attf-href="/slides/slide/#{slug(slide)}/download" title="Download" id="download">
<i class="fa fa-download fa-2x"></i>
</a>
<span id="fullscreen" title="View fullscreen">