diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-01-15 15:08:01 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-01-15 15:08:01 +0100 |
| commit | 4f2f29953468e4de8aedf73461b0f76dbe1eeca8 (patch) | |
| tree | 3fe8629a74b23b281d392c82500c29a4d77630d5 /addons | |
| parent | dec9f7c4cec68863c2d4fa82235e3fd2b6def4d5 (diff) | |
| parent | 3374ac805f13ea99c7275c19f2830863382a2960 (diff) | |
[MERGE] forward port branch saas-15 up to 3374ac805f1
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/purchase/models/res_partner.py | 31 | ||||
| -rw-r--r-- | addons/website_slides/views/website_slides_embed.xml | 2 |
2 files changed, 27 insertions, 6 deletions
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/views/website_slides_embed.xml b/addons/website_slides/views/website_slides_embed.xml index 72614803325..c7010c22e60 100644 --- a/addons/website_slides/views/website_slides_embed.xml +++ b/addons/website_slides/views/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"> |
