java/code/webapp/WEB-INF/pages/channel/entitlements.jsp | 7 ++
web/modules/rhn/RHN/DB/DataSource/xml/System_queries.xml | 36 +++++++++++++++
web/modules/sniglets/Sniglets/ListView/SystemList.pm | 6 ++
web/modules/sniglets/Sniglets/Lists.pm | 2
4 files changed, 50 insertions(+), 1 deletion(-)
New commits:
commit 8bc6da18fcc8afaec676670007c9f26042a72c74
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Tue May 3 17:28:06 2011 +0200
682112 - correct displayed systems consuming channel entitlements
diff --git a/java/code/webapp/WEB-INF/pages/channel/entitlements.jsp
b/java/code/webapp/WEB-INF/pages/channel/entitlements.jsp
index 59ae0ad..f81bd41 100644
--- a/java/code/webapp/WEB-INF/pages/channel/entitlements.jsp
+++ b/java/code/webapp/WEB-INF/pages/channel/entitlements.jsp
@@ -43,7 +43,7 @@
${current.currentMembers}
</c:if>
<c:if test="${current.currentMembers > 0}">
- <a
href="/network/systems/system_list/in_channel_family.pxt?cfam_id=${current.id}">
+ <a
href="/network/systems/system_list/regular_in_channel_family.pxt?cfam_id=${current.id}">
${current.currentMembers}</a>
</c:if>
</rl:column>
@@ -58,7 +58,12 @@
</rl:column>
<rl:column headerkey="entitlements.jsp.subscribed_flex" >
+ <c:if test="${current.currentFlex == 0}">
${current.currentFlex}
+ </c:if>
+ <c:if test="${current.currentFlex > 0}">
+ <a
href="/network/systems/system_list/flex_in_channel_family.pxt?cfam_id=${current.id}">${current.currentFlex}</a>
+ </c:if>
</rl:column>
<rl:column headerkey="entitlements.jsp.avaible_flex" >
diff --git a/web/modules/rhn/RHN/DB/DataSource/xml/System_queries.xml
b/web/modules/rhn/RHN/DB/DataSource/xml/System_queries.xml
index 36e32ba..7a581d1 100644
--- a/web/modules/rhn/RHN/DB/DataSource/xml/System_queries.xml
+++ b/web/modules/rhn/RHN/DB/DataSource/xml/System_queries.xml
@@ -901,6 +901,42 @@ ORDER BY UPPER(NVL(X.NAME, '(none)')), X.ID
<elaborator name="entitlements"/>
</mode>
+<mode name="regular_systems_in_channel_family">
+ <query params="org_id, cfam_id, user_id">
+SELECT distinct S.id, S.name
+ FROM rhnServer S,
+ rhnServerChannel SC,
+ rhnChannelFamilyMembers CFM
+ WHERE S.org_id = :org_id
+ AND S.id = SC.server_id
+ AND SC.channel_id = CFM.channel_id
+ AND SC.is_flex = 'N'
+ AND CFM.channel_family_id = :cfam_id
+ AND EXISTS (SELECT 1 FROM rhnUserServerPerms USP WHERE USP.user_id = :user_id AND
USP.server_id = S.id)
+ORDER BY UPPER(NVL(S.NAME, '(none)')), S.ID
+ </query>
+ <elaborator name="system_overview" />
+ <elaborator name="entitlements"/>
+</mode>
+
+<mode name="flex_systems_in_channel_family">
+ <query params="org_id, cfam_id, user_id">
+SELECT distinct S.id, S.name
+ FROM rhnServer S,
+ rhnServerChannel SC,
+ rhnChannelFamilyMembers CFM
+ WHERE S.org_id = :org_id
+ AND S.id = SC.server_id
+ AND SC.channel_id = CFM.channel_id
+ AND SC.is_flex = 'Y'
+ AND CFM.channel_family_id = :cfam_id
+ AND EXISTS (SELECT 1 FROM rhnUserServerPerms USP WHERE USP.user_id = :user_id AND
USP.server_id = S.id)
+ORDER BY UPPER(NVL(S.NAME, '(none)')), S.ID
+ </query>
+ <elaborator name="system_overview" />
+ <elaborator name="entitlements"/>
+</mode>
+
<mode name="systems_potentially_in_channel_family">
<query params="org_id, cfam_id, user_id">
SELECT S.id, S.name
diff --git a/web/modules/sniglets/Sniglets/ListView/SystemList.pm
b/web/modules/sniglets/Sniglets/ListView/SystemList.pm
index 62d493f..2c59ab4 100644
--- a/web/modules/sniglets/Sniglets/ListView/SystemList.pm
+++ b/web/modules/sniglets/Sniglets/ListView/SystemList.pm
@@ -186,6 +186,12 @@ sub _register_modes {
Sniglets::ListView::List->add_mode(-mode =>
"systems_in_channel_family",
-datasource => RHN::DataSource::System->new);
+ Sniglets::ListView::List->add_mode(-mode =>
"regular_systems_in_channel_family",
+ -datasource => RHN::DataSource::System->new);
+
+ Sniglets::ListView::List->add_mode(-mode =>
"flex_systems_in_channel_family",
+ -datasource => RHN::DataSource::System->new);
+
Sniglets::ListView::List->add_mode(-mode =>
"systems_potentially_in_channel_family",
-datasource => RHN::DataSource::System->new);
diff --git a/web/modules/sniglets/Sniglets/Lists.pm
b/web/modules/sniglets/Sniglets/Lists.pm
index f79f182..f7fa3c2 100644
--- a/web/modules/sniglets/Sniglets/Lists.pm
+++ b/web/modules/sniglets/Sniglets/Lists.pm
@@ -218,6 +218,8 @@ my %pinfo_modes = (
'/inactive.pxt' => {mode => 'inactive', name =>
'Inactive Systems'},
'/proxy.pxt' => {mode => 'proxy_servers', name =>
'Proxy Servers'},
'/in_channel_family.pxt' => {mode =>
'systems_in_channel_family', name => 'Subscribed Systems'},
+ '/flex_in_channel_family.pxt' => {mode =>
'flex_systems_in_channel_family', name => 'Subscribed Systems'},
+ '/regular_in_channel_family.pxt' => {mode =>
'regular_systems_in_channel_family', name => 'Subscribed Systems'},
'/potentially_in_channel_family.pxt' => {mode =>
'systems_potentially_in_channel_family', name => 'Subscribable
Systems'},
},
errata => {'/relevant.pxt' => {mode =>
'relevant_errata', name => 'Errata Relevant to Your Systems'},