Hi pgr,
I compared two queries generated while Iâm viewing the report results.
The first is with Admin, the second is with a user with restricted privileges (however he has access to his offers and reports).
SELECT count(*) c FROM (SELECT `aos_products_quotes:aos_products_cstm`.cod_prod_c AS 'Codice_Cabur0', `aos_products_quotes`.description AS 'Descrizione1', `aos_products_quotes`.item_description AS 'Descrizione2', `aos_products_quotes_cstm`.codice_competitor_c AS 'Cod._Competitor3', `aos_products_quotes_cstm`.qta_conf_c AS 'Q.tĂ _per_conf.4', `aos_products_quotes`.product_qty AS 'QuantitĂ 5', `aos_products_quotes_cstm`.product_stampa_somma_sconto_c AS 'product_stampa_somma_sconto6', `aos_products_quotes`.currency_id AS 'aos_products_quotes_currency_id', `aos_products_quotes`.product_unit_price AS 'Prezzo_Unitario7', `aos_products_quotes_cstm`.product_ricarica_c AS 'product_ricarica8', `aos_products_quotes_cstm`.product_margine_c AS 'product_margine9', `aos_products_quotes_cstm`.prodotto_prezzo_unit_grossis_c AS 'prodotto_prezzo_unit_grossis10', `aos_products_quotes`.id AS 'aos_products_quotes_id', `aos_products_quotes:aos_products`.id AS 'aos_products_quotes:aos_products_id', `aos_products_quotes:aos_quotes`.id AS 'aos_products_quotes:aos_quotes_id'
FROM `aos_products_quotes`
LEFT JOIN aos_products `aos_products_quotes:aos_products`
ON `aos_products_quotes`.product_id=`aos_products_quotes:aos_products`.id AND `aos_products_quotes:aos_products`.deleted=0
LEFT JOIN `aos_products_cstm` `aos_products_quotes:aos_products_cstm` ON `aos_products_quotes:aos_products`.id = `aos_products_quotes:aos_products_cstm`.id_c
LEFT JOIN `aos_products_quotes_cstm` `aos_products_quotes_cstm` ON `aos_products_quotes`.id = `aos_products_quotes_cstm`.id_c
LEFT JOIN aos_quotes `aos_products_quotes:aos_quotes`
ON `aos_products_quotes`.parent_id=`aos_products_quotes:aos_quotes`.id AND `aos_products_quotes:aos_quotes`.deleted=0
WHERE ( `aos_products_quotes:aos_quotes`.number = '12' ) AND aos_products_quotes.deleted = 0 ) as n
SELECT count(*) c FROM (SELECT `aos_products_quotes:aos_products_cstm`.cod_prod_c AS 'Codice_Cabur0', `aos_products_quotes`.description AS 'Descrizione1', `aos_products_quotes`.item_description AS 'Descrizione2', `aos_products_quotes_cstm`.codice_competitor_c AS 'Cod._Competitor3', `aos_products_quotes_cstm`.qta_conf_c AS 'Q.tĂ _per_conf.4', `aos_products_quotes`.product_qty AS 'QuantitĂ 5', `aos_products_quotes_cstm`.product_stampa_somma_sconto_c AS 'product_stampa_somma_sconto6', `aos_products_quotes`.currency_id AS 'aos_products_quotes_currency_id', `aos_products_quotes`.product_unit_price AS 'Prezzo_Unitario7', `aos_products_quotes_cstm`.product_ricarica_c AS 'product_ricarica8', `aos_products_quotes_cstm`.product_margine_c AS 'product_margine9', `aos_products_quotes_cstm`.prodotto_prezzo_unit_grossis_c AS 'prodotto_prezzo_unit_grossis10', `aos_products_quotes`.id AS 'aos_products_quotes_id', `aos_products_quotes:aos_products`.id AS 'aos_products_quotes:aos_products_id', `aos_products_quotes:aos_quotes`.id AS 'aos_products_quotes:aos_quotes_id'
FROM `aos_products_quotes`
LEFT JOIN aos_products `aos_products_quotes:aos_products`
ON `aos_products_quotes`.product_id=`aos_products_quotes:aos_products`.id AND `aos_products_quotes:aos_products`.deleted=0
LEFT JOIN `aos_products_cstm` `aos_products_quotes:aos_products_cstm` ON `aos_products_quotes:aos_products`.id = `aos_products_quotes:aos_products_cstm`.id_c
LEFT JOIN `aos_products_quotes_cstm` `aos_products_quotes_cstm` ON `aos_products_quotes`.id = `aos_products_quotes_cstm`.id_c
LEFT JOIN aos_quotes `aos_products_quotes:aos_quotes`
ON `aos_products_quotes`.parent_id=`aos_products_quotes:aos_quotes`.id AND `aos_products_quotes:aos_quotes`.deleted=0
AND ( aos_quotes.assigned_user_id ='1f510b7f-8633-9652-01fb-5d307f6422f3' or EXISTS (SELECT 1
FROM securitygroups secg
INNER JOIN securitygroups_users secu
ON secg.id = secu.securitygroup_id
AND secu.deleted = 0
AND secu.user_id = '1f510b7f-8633-9652-01fb-5d307f6422f3'
INNER JOIN securitygroups_records secr
ON secg.id = secr.securitygroup_id
AND secr.deleted = 0
AND secr.module = 'AOS_Quotes'
WHERE secr.record_id = `aos_products_quotes:aos_quotes`.id
AND secg.deleted = 0) )
WHERE ( `aos_products_quotes:aos_quotes`.number = '1714' ) AND aos_products_quotes.deleted = 0 ) as n
Well, the only difference I find in the ON clause are quotes.
aos_quotes.assigned_user_id
instead of
`aos_quotes`.assigned_user_id
as are all the other columns.
Please note that securitygroups has the same anomaly.
However, in the other queries launched in debug I donât have the columns delimited with these quotesâŚ
Could this be the problem?
If so, where should I look?
Right now Iâm checking AOR_Report.php but so far all the fixes Iâve found are already applied.
EDIT:
Ok: âBackticks round alias name are necessary as alias contains a : in the middle of it which would otherwise cause an error.â
But actually⌠maybe this
aos_quotes.assigned_user_id
should become
`aos_products_quotes:aos_quotes`.assigned_user_id