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@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'},