Project

General

Profile

Bug #21254

PG::Error: missing FROM-clause entry from items in Dashboard for Filtered role

Added by Andrew Kofink almost 4 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Difficulty:
Triaged:
Bugzilla link:
Fixed in Releases:
Found in Releases:

Description

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


Related issues

Related to Foreman - Bug #21253: PG::Error: missing FROM-clause entry from items in Dashboard for Filtered roleClosed2017-10-09

Associated revisions

Revision 77f0d59d (diff)
Added by Andrew Kofink almost 4 years ago

Fixes #21254 - Fix errata widget

History

#1 Updated by Andrew Kofink almost 4 years ago

  • Related to Bug #21253: PG::Error: missing FROM-clause entry from items in Dashboard for Filtered role added

#2 Updated by The Foreman Bot almost 4 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/6995 added

#3 Updated by Justin Sherrill almost 4 years ago

  • Legacy Backlogs Release (now unused) set to 250

#4 Updated by Andrew Kofink almost 4 years ago

  • % Done changed from 0 to 100
  • Status changed from Ready For Testing to Closed

Also available in: Atom PDF