[MERGE] forward port branch saas-15 up to 3374ac805f
This commit is contained in:
@@ -11,11 +11,32 @@ class res_partner(models.Model):
|
|||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _purchase_invoice_count(self):
|
def _purchase_invoice_count(self):
|
||||||
PurchaseOrder = self.env['purchase.order']
|
# retrieve all children partners and prefetch 'parent_id' on them
|
||||||
Invoice = self.env['account.invoice']
|
all_partners = self.search([('id', 'child_of', self.ids)])
|
||||||
for partner in self:
|
all_partners.read(['parent_id'])
|
||||||
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')])
|
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
|
@api.model
|
||||||
def _commercial_fields(self):
|
def _commercial_fields(self):
|
||||||
|
|||||||
@@ -133,7 +133,7 @@
|
|||||||
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 text-center"></div>
|
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 text-center"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2 pull-right text-right">
|
<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>
|
<i class="fa fa-download fa-2x"></i>
|
||||||
</a>
|
</a>
|
||||||
<span id="fullscreen" title="View fullscreen">
|
<span id="fullscreen" title="View fullscreen">
|
||||||
|
|||||||
@@ -21,3 +21,4 @@ Medardo Rodríguez med@merchise.org https://github.com/med-merchise
|
|||||||
Abel Firvida firvida@merchise.org
|
Abel Firvida firvida@merchise.org
|
||||||
Abel Firvida abel@merchise.org
|
Abel Firvida abel@merchise.org
|
||||||
Mónica Díaz Pena monicadp@merchise.org https://github.com/mdpena
|
Mónica Díaz Pena monicadp@merchise.org https://github.com/mdpena
|
||||||
|
Larisa González larisa@merchise.org
|
||||||
|
|||||||
+4
-2
@@ -2592,14 +2592,16 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
|
|||||||
|
|
||||||
# retrieve results from records; this takes values from the cache and
|
# retrieve results from records; this takes values from the cache and
|
||||||
# computes remaining fields
|
# computes remaining fields
|
||||||
|
self = self.with_prefetch(self._prefetch.copy())
|
||||||
data = {record: {'id': record.id} for record in self}
|
data = {record: {'id': record.id} for record in self}
|
||||||
missing = set()
|
missing = set()
|
||||||
use_name_get = (load == '_classic_read')
|
use_name_get = (load == '_classic_read')
|
||||||
for name in (stored + inherited + computed):
|
for name in (stored + inherited + computed):
|
||||||
convert = self._fields[name].convert_to_read
|
convert = self._fields[name].convert_to_read
|
||||||
# read every field with prefetching limited to self; this avoids
|
# restrict the prefetching of self's model to self; this avoids
|
||||||
# computing fields on a larger recordset than self
|
# computing fields on a larger recordset than self
|
||||||
for record in self.with_prefetch():
|
self._prefetch[self._name] = set(self._ids)
|
||||||
|
for record in self:
|
||||||
try:
|
try:
|
||||||
data[record][name] = convert(record[name], record, use_name_get)
|
data[record][name] = convert(record[name], record, use_name_get)
|
||||||
except MissingError:
|
except MissingError:
|
||||||
|
|||||||
Reference in New Issue
Block a user