Bug #21253
closedPG::Error: missing FROM-clause entry from items in Dashboard for Filtered role
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1481138
Description of problem:
PG error on items in Dashboard such as latest Errata and latest events.
When creating a custom role with the following filters
1. Resource Miscellaneous => access_dashboard
2. Host => view_hosts, edit_hosts, destroy_hosts with unlimited unselected and search "host_collection = HostCollection1 or host_collection = HostCollection2"
And assign this role to the user.
Version-Release number of selected component (if applicable):
6.2.10
How reproducible:
Always
Steps to Reproduce:
1. Create a custom role 'Custom role'
2. Assign above mentioned filters to the above created Custom role
3. Assign this custom role to the user.
4. Try to login with this user.
5. Hit the dashboard menu
Actual results:
Failure: PG::Error: ERROR: subquery in FROM must have an alias
LINE 1: SELECT COUNT FROM (SELECT 1 AS count_column F...
^
HINT: For example, FROM (SELECT ...) [AS] foo.
: SELECT COUNT FROM (SELECT 1 AS count_column FROM "katello_errata" INNER JOIN "katello_content_facet_errata" ON "katello_content_facet_errata"."erratum_id" = "katello_errata"."id" INNER JOIN "katello_content_facets" ON "katello_content_facets"."id" = "katello_content_facet_errata"."content_facet_id" WHERE (katello_content_facets.host_id IN (SELECT "hosts"."id" FROM "hosts"
INNER JOIN "katello_host_collection_hosts"
ON "hosts"."id" = "katello_host_collection_hosts"."host_id"
INNER JOIN "katello_host_collections"
ON "katello_host_collection_hosts"."host_collection_id" = "katello_host_collections"."id"
WHERE "katello_host_collections"."name" = 'HostCollection1' )) OR ("hosts"."id" IN (SELECT "hosts"."id" FROM "hosts"
INNER JOIN "katello_host_collection_hosts"
ON "hosts"."id" = "katello_host_collection_hosts"."host_id"
INNER JOIN "katello_host_collections"
ON "katello_host_collection_hosts"."host_collection_id" = "katello_host_collections"."id"
WHERE "katello_host_collections"."name" = 'HostCollection2' )))))) LIMIT 6) subquery_for_count
Expected results:
User should be able to view the items latest Errata and latest events on dashboard
Additional info:
when changing the search filter with '~' in place of '=' it works
host_collection ~ HostCollection1 or host_collection ~ HostCollection2
Updated by The Foreman Bot about 7 years ago
- Status changed from New to Ready For Testing
- Assignee set to Andrew Kofink
- Pull request https://github.com/theforeman/foreman/pull/4903 added
Updated by Andrew Kofink about 7 years ago
- Related to Bug #21254: PG::Error: missing FROM-clause entry from items in Dashboard for Filtered role added
Updated by Timo Goebel about 7 years ago
- Subject changed from PG::Error: missing FROM-clause entry from items in Dashboard for Filtered role to PG::Error: missing FROM-clause entry from items in Dashboard for Filtered role
- Translation missing: en.field_release set to 311
Updated by Timo Goebel about 7 years ago
- Translation missing: en.field_release changed from 311 to 240
Updated by Andrew Kofink about 7 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset fa908536885b602232208df0a974f995ed2a50e0.