Changes to 'refs/tags/spacewalk-utils-1.8.10-1'
by StephenHerr
Tag 'spacewalk-utils-1.8.10-1' created by Stephen Herr <sherr(a)redhat.com> at 2012-04-24 15:31 +0000
Tagging package [spacewalk-utils] version [1.8.10-1] in directory [utils/].
Changes since spacewalk-backend-1.8.21-1:
Simon Lukasik (3):
Hide the 'Schedule' tab for systems without management ent.
Refactor parentUrl to ListTagHelper.PARENT_URL
Promote read only DatePicker to fragment.
Stephen Herr (2):
812810 - Better regex for getting system_id in apply_errata
Automatic commit of package [spacewalk-utils] release [1.8.10-1].
Tomas Lestach (2):
815804 - make the cleanupFileEntries simplier
815804 - force repo regeneration, when removing package using packages.removePackage API
---
java/code/src/com/redhat/rhn/frontend/action/channel/manage/PatchSetListAction.java | 2 -
java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/channel/ssm/BaseSubscribeAction.java | 7 ++-
java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/configuration/channel/BaseCopyToAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/configuration/channel/ChannelDeployConfirmAction.java | 4 +-
java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/SDCCopy2ChannelsAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/configuration/ssm/SubscribeConfirm.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesConfirmAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/errata/AffectedSystemsSetupAction.java | 2 -
java/code/src/com/redhat/rhn/frontend/action/keys/CryptoKeysListSetupAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartOverviewAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/kickstart/cobbler/CobblerSnippetListSetupAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/multiorg/SatUserListAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/multiorg/SoftwareEntitlementDetailsAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementDetailsAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementOrgsAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementsAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/multiorg/UserListSetupAction.java | 4 +-
java/code/src/com/redhat/rhn/frontend/action/renderers/CriticalSystemsRenderer.java | 2 -
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectRemovePackagesAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectUpgradePackagesAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectVerifyPackagesAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/systems/entitlements/VirtualizationEntitlementsAction.java | 7 ++-
java/code/src/com/redhat/rhn/frontend/action/systems/sdc/SystemHardwareAction.java | 3 +
java/code/src/com/redhat/rhn/frontend/action/user/UserEditSetupAction.java | 3 +
java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java | 18 +++++-----
java/code/webapp/WEB-INF/nav/system_detail.xml | 2 -
java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf | 7 ---
java/code/webapp/WEB-INF/pages/common/fragments/date-picker-hidden.jspf | 6 +++
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/advanced.jspf | 7 ---
java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp | 7 ---
java/code/webapp/WEB-INF/struts-config.xml | 1
rel-eng/packages/spacewalk-utils | 2 -
utils/apply_errata | 4 +-
utils/spacewalk-utils.spec | 5 ++
37 files changed, 85 insertions(+), 62 deletions(-)
---
12 years
2 commits - rel-eng/packages utils/apply_errata utils/spacewalk-utils.spec
by StephenHerr
rel-eng/packages/spacewalk-utils | 2 +-
utils/apply_errata | 4 ++--
utils/spacewalk-utils.spec | 5 ++++-
3 files changed, 7 insertions(+), 4 deletions(-)
New commits:
commit bff6a145f18e00f3305307d78f73d661bcc9b8fe
Author: Stephen Herr <sherr(a)redhat.com>
Date: Tue Apr 24 11:31:50 2012 -0400
Automatic commit of package [spacewalk-utils] release [1.8.10-1].
diff --git a/rel-eng/packages/spacewalk-utils b/rel-eng/packages/spacewalk-utils
index ec0afc2..6a01408 100644
--- a/rel-eng/packages/spacewalk-utils
+++ b/rel-eng/packages/spacewalk-utils
@@ -1 +1 @@
-1.8.9-1 utils/
+1.8.10-1 utils/
diff --git a/utils/spacewalk-utils.spec b/utils/spacewalk-utils.spec
index d8a54d8..38570ef 100644
--- a/utils/spacewalk-utils.spec
+++ b/utils/spacewalk-utils.spec
@@ -1,7 +1,7 @@
%define rhnroot %{_prefix}/share/rhn
Name: spacewalk-utils
-Version: 1.8.9
+Version: 1.8.10
Release: 1%{?dist}
Summary: Utilities that may be run against a Spacewalk server.
@@ -87,6 +87,9 @@ spacewalk-pylint $RPM_BUILD_ROOT%{rhnroot}
%changelog
+* Tue Apr 24 2012 Stephen Herr <sherr(a)redhat.com> 1.8.10-1
+- 812810 - Better regex for getting system_id in apply_errata
+
* Mon Apr 23 2012 Miroslav Suchý <msuchy(a)redhat.com> 1.8.9-1
- 812886 - determine the advisory type by parsing "advisory_type"
commit 8563013e13a6b6166bce4bc6c9e130b5c9d95ba2
Author: Stephen Herr <sherr(a)redhat.com>
Date: Tue Apr 24 11:30:44 2012 -0400
812810 - Better regex for getting system_id in apply_errata
diff --git a/utils/apply_errata b/utils/apply_errata
index da485b3..8e38fc6 100755
--- a/utils/apply_errata
+++ b/utils/apply_errata
@@ -87,14 +87,14 @@ def testEnvVar(ev):
def getSysId():
infile = open("/etc/sysconfig/rhn/systemid","r")
text = infile.read()
- pattern = re.compile("[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]")
+ pattern = re.compile(">ID-([0-9]{10})<")
result = pattern.search(text)
infile.close()
if result is None:
print "No system ID found, please register the node with RHN or your local Satellite/"
print "Spacewalk server using rhn_register or another appropriate tool"
sys.exit(3)
- return int(result.group(0))
+ return int(result.group(1))
def getServer():
12 years
3 commits - java/code
by Šimon Lukašík
java/code/src/com/redhat/rhn/frontend/action/channel/manage/PatchSetListAction.java | 2 +-
java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/channel/ssm/BaseSubscribeAction.java | 7 ++++---
java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/configuration/channel/BaseCopyToAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/configuration/channel/ChannelDeployConfirmAction.java | 4 +++-
java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/SDCCopy2ChannelsAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/configuration/ssm/SubscribeConfirm.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesConfirmAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/errata/AffectedSystemsSetupAction.java | 2 +-
java/code/src/com/redhat/rhn/frontend/action/keys/CryptoKeysListSetupAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartOverviewAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/kickstart/cobbler/CobblerSnippetListSetupAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/multiorg/SatUserListAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/multiorg/SoftwareEntitlementDetailsAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementDetailsAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementOrgsAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementsAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/multiorg/UserListSetupAction.java | 4 +++-
java/code/src/com/redhat/rhn/frontend/action/renderers/CriticalSystemsRenderer.java | 2 +-
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectRemovePackagesAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectUpgradePackagesAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectVerifyPackagesAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/systems/entitlements/VirtualizationEntitlementsAction.java | 7 ++++---
java/code/src/com/redhat/rhn/frontend/action/systems/sdc/SystemHardwareAction.java | 3 ++-
java/code/src/com/redhat/rhn/frontend/action/user/UserEditSetupAction.java | 3 ++-
java/code/webapp/WEB-INF/nav/system_detail.xml | 2 +-
java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf | 7 +------
java/code/webapp/WEB-INF/pages/common/fragments/date-picker-hidden.jspf | 6 ++++++
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/advanced.jspf | 7 +------
java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp | 7 +------
java/code/webapp/WEB-INF/struts-config.xml | 1 +
33 files changed, 68 insertions(+), 50 deletions(-)
New commits:
commit 2cf41ff944d26dc84c1c90485c45024ad71b5fb5
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Apr 24 16:58:11 2012 +0200
Promote read only DatePicker to fragment.
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
index 825c5db..f4d7a64 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
@@ -30,12 +30,7 @@
<c:when test="${readonly == 'true'}">
<c:out value="${localizedDate}"/>
<html:hidden property="use_date" value="true" />
- <html:hidden property="date_year" />
- <html:hidden property="date_month" />
- <html:hidden property="date_day" />
- <html:hidden property="date_hour" />
- <html:hidden property="date_minute" />
- <html:hidden property="date_am_pm" />
+ <%@ include file="/WEB-INF/pages/common/fragments/date-picker-hidden.jspf" %>
</c:when>
<c:otherwise>
<jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/date-picker-hidden.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/date-picker-hidden.jspf
new file mode 100644
index 0000000..89637b8
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/date-picker-hidden.jspf
@@ -0,0 +1,6 @@
+<html:hidden property="date_year" />
+<html:hidden property="date_month" />
+<html:hidden property="date_day" />
+<html:hidden property="date_hour" />
+<html:hidden property="date_minute" />
+<html:hidden property="date_am_pm" />
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/advanced.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/advanced.jspf
index daf0fc4..b4695e0 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/advanced.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/advanced.jspf
@@ -34,12 +34,7 @@ function setStep(stepName) {
</c:if>
<html:hidden property="wizardStep" value="third" styleId="wizard-step" />
<html:hidden property="scheduleAsap" />
- <html:hidden property="date_year" />
- <html:hidden property="date_month" />
- <html:hidden property="date_day" />
- <html:hidden property="date_hour" />
- <html:hidden property="date_minute" />
- <html:hidden property="date_am_pm" />
+ <%@ include file="/WEB-INF/pages/common/fragments/date-picker-hidden.jspf" %>
<html:hidden property="cobbler_id" />
<html:hidden property="sid" />
<html:hidden property="guestName" />
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp b/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp
index a12f605..9fe51bf 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp
@@ -55,12 +55,7 @@
<html:hidden property="mode" value="${param.mode}" />
<html:hidden property="submitted" value="true" />
<html:hidden property="use_date" />
- <html:hidden property="date_year" />
- <html:hidden property="date_month" />
- <html:hidden property="date_day" />
- <html:hidden property="date_hour" />
- <html:hidden property="date_minute" />
- <html:hidden property="date_am_pm" />
+<%@ include file="/WEB-INF/pages/common/fragments/date-picker-hidden.jspf" %>
<div align="right">
<hr />
commit fe26a96d98d0b0b8f57af9b6b01ed4855caf3ab7
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Apr 24 16:14:06 2012 +0200
Refactor parentUrl to ListTagHelper.PARENT_URL
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PatchSetListAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PatchSetListAction.java
index 4b76a87..251effb 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PatchSetListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PatchSetListAction.java
@@ -126,7 +126,7 @@ public class PatchSetListAction extends RhnListAction {
request.setAttribute("cid", chan.getId());
request.setAttribute("pageList", patchSets);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
ListTagHelper.bindSetDeclTo(LIST_NAME, getDecl(), request);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java
index eb33123..134f723 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java
@@ -29,6 +29,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.ContentSourceDto;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.channel.RepoLister;
/**
@@ -53,7 +54,7 @@ public class RepoListSetupAction extends RhnAction {
result = RepoLister.getInstance().list(user);
Collections.sort(result, LABEL_COMPARATOR);
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/BaseSubscribeAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/BaseSubscribeAction.java
index e962b90..346ad4a 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/BaseSubscribeAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/BaseSubscribeAction.java
@@ -30,6 +30,7 @@ import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.RhnLookupDispatchAction;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.channel.ChannelManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.manager.system.SystemManager;
@@ -97,7 +98,7 @@ public class BaseSubscribeAction extends RhnLookupDispatchAction {
RequestContext rctx = new RequestContext(request);
User user = rctx.getLoggedInUser();
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
ActionForward af = mapping.findForward(RhnHelper.DEFAULT_FORWARD);
@@ -251,7 +252,7 @@ public class BaseSubscribeAction extends RhnLookupDispatchAction {
}
}
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
request.setAttribute(MATCHED_CHILD_CHANNELS, matched);
request.setAttribute(FOUND_UNMATCHED_CHANNELS, unmatched.size() > 0);
request.setAttribute(UNMATCHED_CHILD_CHANNELS, unmatched);
@@ -302,7 +303,7 @@ public class BaseSubscribeAction extends RhnLookupDispatchAction {
RequestContext rctx = new RequestContext(request);
User user = rctx.getLoggedInUser();
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
String barSeparatedChannelIds = request.getParameter(BASE_CHANNEL_IDS);
String barSeparatedNewChannelIds = request.getParameter(NEW_BASE_CHANNEL_IDS);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelAction.java
index 4cbb6ca..c35e27a 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelAction.java
@@ -22,6 +22,7 @@ import com.redhat.rhn.frontend.dto.SystemsPerChannelDto;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.channel.ChannelManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.manager.rhnset.RhnSetManager;
@@ -64,7 +65,7 @@ public class ChildChannelAction extends RhnAction {
User user = rctx.getLoggedInUser();
DynaActionForm daForm = (DynaActionForm)form;
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
// Provide the list of all child-channels for all systems in the SSM
setupList(user, request);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/BaseCopyToAction.java b/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/BaseCopyToAction.java
index 1ef783a..81f1c14 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/BaseCopyToAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/BaseCopyToAction.java
@@ -106,7 +106,8 @@ public abstract class BaseCopyToAction extends RhnAction {
RequestContext ctx = new RequestContext(req);
ConfigChannel cc = ConfigActionHelper.getChannel(req);
ConfigActionHelper.setupRequestAttributes(ctx, cc);
- req.setAttribute("parentUrl", req.getRequestURI() + "?ccid=" + cc.getId());
+ req.setAttribute(ListTagHelper.PARENT_URL,
+ req.getRequestURI() + "?ccid=" + cc.getId());
}
protected ActionForward doCopy(ActionMapping mapping,
diff --git a/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/ChannelDeployConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/ChannelDeployConfirmAction.java
index b760779..21951a8 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/ChannelDeployConfirmAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/configuration/channel/ChannelDeployConfirmAction.java
@@ -24,6 +24,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.configuration.ConfigActionHelper;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.configuration.ConfigurationManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
@@ -60,7 +61,8 @@ public class ChannelDeployConfirmAction extends RhnAction {
User user = ctx.getLoggedInUser();
ConfigChannel cc = setupLists(request, user);
- request.setAttribute("parentUrl", request.getRequestURI() + "?ccid=" + cc.getId());
+ request.setAttribute(ListTagHelper.PARENT_URL,
+ request.getRequestURI() + "?ccid=" + cc.getId());
DynaActionForm dForm = (DynaActionForm)form;
diff --git a/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/SDCCopy2ChannelsAction.java b/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/SDCCopy2ChannelsAction.java
index c11bc18..afc9d30 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/SDCCopy2ChannelsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/SDCCopy2ChannelsAction.java
@@ -19,6 +19,7 @@ import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.configuration.channel.Copy2ChannelsAction;
import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.configuration.ConfigurationManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
@@ -54,7 +55,7 @@ public class SDCCopy2ChannelsAction extends Copy2ChannelsAction {
Server s = ctx.lookupAndBindServer();
String url = req.getRequestURI() + "?" +
RequestContext.SID + "=" + s.getId();
- req.setAttribute("parentUrl", url);
+ req.setAttribute(ListTagHelper.PARENT_URL, url);
}
/**
diff --git a/java/code/src/com/redhat/rhn/frontend/action/configuration/ssm/SubscribeConfirm.java b/java/code/src/com/redhat/rhn/frontend/action/configuration/ssm/SubscribeConfirm.java
index c3a4eaa..f1e1c6f 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/configuration/ssm/SubscribeConfirm.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/configuration/ssm/SubscribeConfirm.java
@@ -27,6 +27,7 @@ import com.redhat.rhn.frontend.dto.ConfigSystemDto;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.configuration.ConfigurationManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.manager.system.SystemManager;
@@ -100,7 +101,7 @@ public class SubscribeConfirm extends RhnAction {
parentUrl.append(request.getParameter(POSITION));
//store the data so the list tag can see it
- request.setAttribute("parentUrl", parentUrl.toString());
+ request.setAttribute(ListTagHelper.PARENT_URL, parentUrl.toString());
request.setAttribute("channelList", channels);
request.setAttribute("systemList", systems);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesAction.java
index e2be04b..476d042 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesAction.java
@@ -24,6 +24,7 @@ import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.frontend.taglibs.list.TagHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
@@ -59,7 +60,7 @@ public class AddPackagesAction extends RhnAction implements Listable {
HttpServletResponse response)
throws Exception {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
RequestContext context = new RequestContext(request);
Map<String, Object> params = new HashMap<String, Object>();
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesConfirmAction.java
index dfa1eaf..ce95c7d 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesConfirmAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/AddPackagesConfirmAction.java
@@ -25,6 +25,7 @@ import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.errata.ErrataManager;
@@ -59,7 +60,7 @@ public class AddPackagesConfirmAction extends RhnAction implements Listable {
HttpServletResponse response)
throws Exception {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
RequestContext context = new RequestContext(request);
Map<String, Object> params = new HashMap<String, Object>();
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/AffectedSystemsSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/AffectedSystemsSetupAction.java
index 1410fe8..b97ee50 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/AffectedSystemsSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/AffectedSystemsSetupAction.java
@@ -96,7 +96,7 @@ public class AffectedSystemsSetupAction extends RhnListAction {
request.setAttribute("pageList", dr);
request.setAttribute("set", set);
request.setAttribute("errata", errata);
- request.setAttribute("parentUrl", request.getRequestURI() + "?" +
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI() + "?" +
RequestContext.ERRATA_ID + "=" + errata.getId());
return strutsDelegate.forwardParams(mapping.findForward("default"),
diff --git a/java/code/src/com/redhat/rhn/frontend/action/keys/CryptoKeysListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/keys/CryptoKeysListSetupAction.java
index a66df3d..92db1e9 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/keys/CryptoKeysListSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/keys/CryptoKeysListSetupAction.java
@@ -17,6 +17,7 @@ package com.redhat.rhn.frontend.action.keys;
import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.kickstart.KickstartLister;
import org.apache.struts.action.ActionForm;
@@ -43,7 +44,7 @@ public class CryptoKeysListSetupAction extends RhnAction {
DataResult result = KickstartLister.getInstance().cryptoKeysInOrg(
requestContext.getCurrentUser().getOrg(), null);
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartOverviewAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartOverviewAction.java
index 3d77ff7..6bedee6 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartOverviewAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartOverviewAction.java
@@ -22,6 +22,7 @@ import com.redhat.rhn.frontend.dto.kickstart.KickstartOverviewSummaryDto;
import com.redhat.rhn.frontend.dto.kickstart.KickstartOverviewSystemsDto;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.kickstart.KickstartLister;
import org.apache.struts.action.ActionForm;
@@ -102,7 +103,7 @@ public class KickstartOverviewAction extends RhnAction {
rctx.getRequest().setAttribute(KICKSTART_SUMMARY, ksdr);
rctx.getRequest().setAttribute(SYSTEMS_CURRENTLY_KICKSTARTING, ckdr);
rctx.getRequest().setAttribute(SYSTEMS_TO_BE_KICKSTARTED, skdr);
- rctx.getRequest().setAttribute("parentUrl", request.getRequestURI());
+ rctx.getRequest().setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/cobbler/CobblerSnippetListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/cobbler/CobblerSnippetListSetupAction.java
index bcad07f..c071a58 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/cobbler/CobblerSnippetListSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/cobbler/CobblerSnippetListSetupAction.java
@@ -20,6 +20,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.common.BadParameterException;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.kickstart.cobbler.CobblerSnippetLister;
import org.apache.struts.action.ActionForm;
@@ -68,7 +69,7 @@ public class CobblerSnippetListSetupAction extends RhnAction {
}
Collections.sort(result, NAME_COMPARATOR);
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SatUserListAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SatUserListAction.java
index ac40e79..283a4dc 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SatUserListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SatUserListAction.java
@@ -21,6 +21,7 @@ import com.redhat.rhn.domain.role.RoleFactory;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.acl.AclManager;
import com.redhat.rhn.manager.org.OrgManager;
@@ -61,7 +62,7 @@ public class SatUserListAction extends RhnAction {
request.setAttribute("userOrgId", oid);
request.setAttribute("orgName", name);
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SoftwareEntitlementDetailsAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SoftwareEntitlementDetailsAction.java
index d9d3248..be080f4 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SoftwareEntitlementDetailsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SoftwareEntitlementDetailsAction.java
@@ -19,6 +19,7 @@ import com.redhat.rhn.domain.channel.ChannelFamily;
import com.redhat.rhn.domain.channel.ChannelFamilyFactory;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
@@ -55,7 +56,7 @@ public class SoftwareEntitlementDetailsAction extends RhnAction {
request.setAttribute("entitlementName", channelFamily.getName());
request.setAttribute("pageList", channelsPageList);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementDetailsAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementDetailsAction.java
index dc62dc6..f821ed9 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementDetailsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementDetailsAction.java
@@ -15,6 +15,7 @@
package com.redhat.rhn.frontend.action.multiorg;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
@@ -35,7 +36,7 @@ public class SystemEntitlementDetailsAction extends RhnAction {
HttpServletRequest request, HttpServletResponse response) throws Exception {
String entitlementLabel = request.getParameter("label");
request.setAttribute("name", entitlementLabel);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementOrgsAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementOrgsAction.java
index bcaf383..bc26218 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementOrgsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementOrgsAction.java
@@ -23,6 +23,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnValidationHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.entitlement.EntitlementManager;
import com.redhat.rhn.manager.org.OrgManager;
import com.redhat.rhn.manager.org.UpdateOrgSystemEntitlementsCommand;
@@ -99,7 +100,7 @@ public class SystemEntitlementOrgsAction extends RhnAction {
request.setAttribute("egntname", entitlementLabel);
request.setAttribute("enthuman", e.getHumanReadableLabel());
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI() +
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI() +
"?label=" + entitlementLabel);
//Calculate System Wide Sat usage
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementsAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementsAction.java
index e30029c..3544ef2 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/SystemEntitlementsAction.java
@@ -18,6 +18,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.MultiOrgSystemEntitlementsDto;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.org.OrgManager;
import org.apache.struts.action.ActionForm;
@@ -50,7 +51,7 @@ public class SystemEntitlementsAction extends RhnAction {
request.setAttribute("orgCount", orgCount);
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/UserListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/UserListSetupAction.java
index d839767..9ef53af 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/UserListSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/UserListSetupAction.java
@@ -21,6 +21,7 @@ import com.redhat.rhn.domain.role.RoleFactory;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.org.OrgManager;
import org.apache.struts.action.ActionForm;
@@ -59,7 +60,8 @@ public class UserListSetupAction extends RhnAction {
request.setAttribute("canModify", canModify);
request.setAttribute("orgName", name);
request.setAttribute("pageList", result);
- request.setAttribute("parentUrl", request.getRequestURI() + "?oid=" + oid);
+ request.setAttribute(ListTagHelper.PARENT_URL,
+ request.getRequestURI() + "?oid=" + oid);
return mapping.findForward("default");
}
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/renderers/CriticalSystemsRenderer.java b/java/code/src/com/redhat/rhn/frontend/action/renderers/CriticalSystemsRenderer.java
index d4b51dd..f64aa35 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/renderers/CriticalSystemsRenderer.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/renderers/CriticalSystemsRenderer.java
@@ -58,7 +58,7 @@ public class CriticalSystemsRenderer extends BaseFragmentRenderer {
request.setAttribute(PAGINATION_MESSAGE,
makePaginationMessage(mcdr.getEnd(), mcdr.getTotalSize(),
"yourrhn.jsp.criticalsystems.description"));
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
}
/**
diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectRemovePackagesAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectRemovePackagesAction.java
index dbfc319..a3ba999 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectRemovePackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectRemovePackagesAction.java
@@ -19,6 +19,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
@@ -48,7 +49,7 @@ public class SelectRemovePackagesAction extends RhnAction implements Listable {
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
Map params = new HashMap();
diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectUpgradePackagesAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectUpgradePackagesAction.java
index 491f078..1f45e8c 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectUpgradePackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectUpgradePackagesAction.java
@@ -20,6 +20,7 @@ import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.SessionSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
@@ -48,7 +49,7 @@ public class SelectUpgradePackagesAction extends RhnAction implements Listable {
HttpServletRequest request, HttpServletResponse response)
throws Exception {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
Map params = new HashMap();
diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectVerifyPackagesAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectVerifyPackagesAction.java
index 6523db5..f48c491 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectVerifyPackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/ssm/SelectVerifyPackagesAction.java
@@ -19,6 +19,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
@@ -48,7 +49,7 @@ public class SelectVerifyPackagesAction extends RhnAction implements Listable {
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
Map params = new HashMap();
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/entitlements/VirtualizationEntitlementsAction.java b/java/code/src/com/redhat/rhn/frontend/action/systems/entitlements/VirtualizationEntitlementsAction.java
index 570d8a1..8989deb 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/systems/entitlements/VirtualizationEntitlementsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/entitlements/VirtualizationEntitlementsAction.java
@@ -16,6 +16,7 @@ package com.redhat.rhn.frontend.action.systems.entitlements;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.system.VirtualizationEntitlementsManager;
import org.apache.struts.action.ActionForm;
@@ -56,7 +57,7 @@ public class VirtualizationEntitlementsAction extends MappingDispatchAction {
public ActionForward listGuestLimited(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
RequestContext rctx = new RequestContext(request);
User user = rctx.getLoggedInUser();
request.setAttribute(PAGELIST,
@@ -78,7 +79,7 @@ public class VirtualizationEntitlementsAction extends MappingDispatchAction {
public ActionForward listGuestUnlimited(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
RequestContext context = new RequestContext(request);
User user = context.getLoggedInUser();
request.setAttribute(PAGELIST,
@@ -101,7 +102,7 @@ public class VirtualizationEntitlementsAction extends MappingDispatchAction {
public ActionForward listPhysicalHosts(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response) {
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
RequestContext rctx = new RequestContext(request);
User user = rctx.getLoggedInUser();
request.setAttribute(PAGELIST,
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/SystemHardwareAction.java b/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/SystemHardwareAction.java
index 3c38684..7372660 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/SystemHardwareAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/SystemHardwareAction.java
@@ -25,6 +25,7 @@ import com.redhat.rhn.domain.server.ServerNetAddress6;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.action.ActionManager;
import com.redhat.rhn.manager.system.SystemManager;
@@ -242,7 +243,7 @@ public class SystemHardwareAction extends RhnAction {
request.setAttribute("usbDevices", usbDevices);
request.setAttribute("captureDevices", captureDevices);
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
}
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/user/UserEditSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/user/UserEditSetupAction.java
index ead53fb..4069f50 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/user/UserEditSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/user/UserEditSetupAction.java
@@ -25,6 +25,7 @@ import com.redhat.rhn.frontend.action.common.BadParameterException;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
import com.redhat.rhn.manager.user.UserManager;
import org.apache.log4j.Logger;
@@ -113,7 +114,7 @@ public class UserEditSetupAction extends RhnAction {
}
// Keep the new list tag happy:
- request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
return mapping.findForward("default");
}
commit b31f83db539075e980a5df7b6952e8fd38a16139
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Apr 24 15:33:57 2012 +0200
Hide the 'Schedule' tab for systems without management ent.
diff --git a/java/code/webapp/WEB-INF/nav/system_detail.xml b/java/code/webapp/WEB-INF/nav/system_detail.xml
index aed3294..532bb34 100644
--- a/java/code/webapp/WEB-INF/nav/system_detail.xml
+++ b/java/code/webapp/WEB-INF/nav/system_detail.xml
@@ -186,7 +186,7 @@
<rhn-tab-url>/rhn/systems/details/audit/ListScap.do</rhn-tab-url>
<rhn-tab-url>/rhn/systems/details/audit/XccdfDetails.do</rhn-tab-url>
</rhn-tab>
- <rhn-tab name="nav.system.audit.schedule">
+ <rhn-tab name="nav.system.audit.schedule" acl="system_has_management_entitlement()">
<rhn-tab-url>/rhn/systems/details/audit/ScheduleXccdf.do</rhn-tab-url>
</rhn-tab>
</rhn-tab>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 79d59ec..add45b9 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -2851,6 +2851,7 @@
input="/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp"
type="com.redhat.rhn.frontend.action.systems.audit.ScheduleXccdfAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="acls" value="system_has_management_entitlement()"/>
<forward name="default"
path="/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp"/>
<forward name="error"
12 years
2 commits - java/code
by Tomas Lestach
java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java | 18 +++++-----
1 file changed, 10 insertions(+), 8 deletions(-)
New commits:
commit 2790b43dbc17d462f72aebb3540dfff8112e997b
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Apr 24 16:12:32 2012 +0200
815804 - force repo regeneration, when removing package using packages.removePackage API
diff --git a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
index ef0a531..31760a2 100644
--- a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
+++ b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
@@ -26,6 +26,7 @@ import com.redhat.rhn.common.security.PermissionException;
import com.redhat.rhn.common.util.CompressionUtil;
import com.redhat.rhn.common.util.RpmVersionComparator;
import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.domain.channel.ChannelFactory;
import com.redhat.rhn.domain.channel.DistChannelMap;
import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.org.Org;
@@ -61,6 +62,7 @@ import org.hibernate.Session;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -619,7 +621,13 @@ public class PackageManager extends BaseManager {
// metadata needs tto be updated (RHEL5+, mostly)
for (Iterator itr = channels.iterator(); itr.hasNext();) {
Map m = (Map)itr.next();
- ChannelManager.queueChannelChange(m.get("label").toString(),
+ String channelLabel = m.get("label").toString();
+ Channel channel = ChannelFactory.lookupByLabel(user.getOrg(), channelLabel);
+ // force channel save to change last_modified
+ // otherwise the repodata won't be generated
+ channel.setLastModified(new Date());
+ ChannelFactory.save(channel);
+ ChannelManager.queueChannelChange(channelLabel,
"java::deletePackage",
pkg.getPackageName().getName());
}
commit fe5971a0f0fc51ce39aa32a0c8285f8e47d9311d
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Apr 24 14:32:41 2012 +0200
815804 - make the cleanupFileEntries simplier
diff --git a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
index a53725e..ef0a531 100644
--- a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
+++ b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
@@ -85,10 +85,8 @@ public class PackageManager extends BaseManager {
private static final String[]
CLEANUP_QUERIES = {"requires", "provides", "conflicts", "obsoletes",
- "channels", "files", "caps", "changelogs", "locations"};
+ "channels", "files", "caps", "changelogs"};
-
- private static final String[] EXCLUDE_SATELLITE = {"locations"};
/**
* Runs Package_queries.package_obsoletes query, which returns dependencies of the
* obsolete type.
@@ -631,11 +629,7 @@ public class PackageManager extends BaseManager {
private static void cleanupFileEntries(Long pid) {
Map params = new HashMap();
params.put("pid", pid);
- List excludeSatellite = Arrays.asList(EXCLUDE_SATELLITE);
for (int x = 0; x < CLEANUP_QUERIES.length; x++) {
- if (excludeSatellite.indexOf(CLEANUP_QUERIES[x]) > -1) {
- continue;
- }
WriteMode writeMode = ModeFactory.getWriteMode("Package_queries",
"cleanup_package_" + CLEANUP_QUERIES[x]);
writeMode.executeUpdate(params);
12 years
Changes to 'refs/tags/spacewalk-backend-1.8.21-1'
by Michael Mraka
Tag 'spacewalk-backend-1.8.21-1' created by Michael Mraka <michael.mraka(a)redhat.com> at 2012-04-24 13:38 +0000
Tagging package [spacewalk-backend] version [1.8.21-1] in directory [backend/].
Changes since spacewalk-java-1.8.54-1:
Michael Mraka (2):
807962 - raise SQLSchemaError alike oracle driver does
Automatic commit of package [spacewalk-backend] release [1.8.21-1].
---
backend/server/rhnSQL/driver_postgresql.py | 2 +-
backend/spacewalk-backend.spec | 5 ++++-
rel-eng/packages/spacewalk-backend | 2 +-
3 files changed, 6 insertions(+), 3 deletions(-)
---
12 years
backend/spacewalk-backend.spec rel-eng/packages
by Michael Mraka
backend/spacewalk-backend.spec | 5 ++++-
rel-eng/packages/spacewalk-backend | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 3b98f834ed526750e88a47e43439c5dfd9f85e61
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Apr 24 15:38:17 2012 +0200
Automatic commit of package [spacewalk-backend] release [1.8.21-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 8ba1134..8178ff4 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -12,7 +12,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2
-Version: 1.8.20
+Version: 1.8.21
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -673,6 +673,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Tue Apr 24 2012 Michael Mraka <michael.mraka(a)redhat.com> 1.8.21-1
+- 807962 - raise SQLSchemaError alike oracle driver does
+
* Fri Apr 20 2012 Miroslav Suchý <msuchy(a)redhat.com> 1.8.20-1
- 805582 - fix sql query with --use-sync-date and --start-date of rhn-
satellite-exporter
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index f4ed522..cb3c797 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-1.8.20-1 backend/
+1.8.21-1 backend/
12 years
backend/server
by Michael Mraka
backend/server/rhnSQL/driver_postgresql.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 7987f8e5c9a9ca9b1445515785d1bdcb9707951e
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Apr 24 11:00:13 2012 +0200
807962 - raise SQLSchemaError alike oracle driver does
diff --git a/backend/server/rhnSQL/driver_postgresql.py b/backend/server/rhnSQL/driver_postgresql.py
index 8fb35f5..d275e25 100644
--- a/backend/server/rhnSQL/driver_postgresql.py
+++ b/backend/server/rhnSQL/driver_postgresql.py
@@ -89,7 +89,7 @@ class Function(sql_base.Procedure):
m = re.match('ERROR: +-([0-9]+)', e.pgerror)
if m:
error_code = int(m.group(1))
- raise sql_base.SQLError(error_code, e.pgerror, e)
+ raise sql_base.SQLSchemaError(error_code, e.pgerror, e)
if self.ret_type == None:
return ret
12 years
Changes to 'refs/tags/spacewalk-java-1.8.54-1'
by Šimon Lukašík
Tag 'spacewalk-java-1.8.54-1' created by Simon Lukasik <slukasik(a)redhat.com> at 2012-04-24 13:23 +0000
Tagging package [spacewalk-java] version [1.8.54-1] in directory [java/].
Changes since spacewalk-setup-1.8.7-1:
Simon Lukasik (10):
Remove redundant definitions of use_date
Refactor xccdf schedule form to jsp fragment.
The fragment could be used as readonly for confirmation
Extract method for scheduling xccdfEval for multiple systems.
OpenSCAP integration -- schedule new scan in SSM
Handle errors during SSM schedule of SCAP scan.
Extract method scapCapableSystemsInSsm()
Show targeted systems when scheduling SCAP scan through SSM.
Promote Audit to separate tab within SSM.
Automatic commit of package [spacewalk-java] release [1.8.54-1].
---
java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml | 38 +++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/BaseSsmScheduleXccdfAction.java | 63 +++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java | 60 +++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java | 106 ++++++++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java | 64 ++++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/validation/scheduleXccdfForm.xsd | 17 +
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 33 +++
java/code/src/com/redhat/rhn/manager/action/ActionManager.java | 29 ++
java/code/src/com/redhat/rhn/manager/audit/ScapManager.java | 57 +++++
java/code/webapp/WEB-INF/nav/ssm.xml | 5
java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp | 32 +++
java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp | 31 ++
java/code/webapp/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf | 25 ++
java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf | 50 ++++
java/code/webapp/WEB-INF/pages/ssm/ssmindex.jsp | 1
java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp | 41 ---
java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp | 1
java/code/webapp/WEB-INF/struts-config.xml | 37 +++
java/spacewalk-java.spec | 19 +
rel-eng/packages/spacewalk-java | 2
20 files changed, 671 insertions(+), 40 deletions(-)
---
12 years
java/spacewalk-java.spec rel-eng/packages
by Šimon Lukašík
java/spacewalk-java.spec | 19 ++++++++++++++++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 19 insertions(+), 2 deletions(-)
New commits:
commit 2949a2b74ace2a27c4a44482056637137df79b36
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Apr 24 15:23:56 2012 +0200
Automatic commit of package [spacewalk-java] release [1.8.54-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index b1e1b21..9aeea9c 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -22,7 +22,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.8.53
+Version: 1.8.54
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -605,6 +605,23 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Tue Apr 24 2012 Simon Lukasik <slukasik(a)redhat.com> 1.8.54-1
+- Promote Audit to separate tab within SSM. (slukasik(a)redhat.com)
+- Show targeted systems when scheduling SCAP scan through SSM.
+ (slukasik(a)redhat.com)
+- Extract method scapCapableSystemsInSsm() (slukasik(a)redhat.com)
+- Handle errors during SSM schedule of SCAP scan. (slukasik(a)redhat.com)
+- OpenSCAP integration -- schedule new scan in SSM (slukasik(a)redhat.com)
+- Extract method for scheduling xccdfEval for multiple systems.
+ (slukasik(a)redhat.com)
+- The fragment could be used as readonly for confirmation (slukasik(a)redhat.com)
+- Refactor xccdf schedule form to jsp fragment. (slukasik(a)redhat.com)
+- Remove redundant definitions of use_date (slukasik(a)redhat.com)
+- 814836 - do not list ks session related activation keys (tlestach(a)redhat.com)
+- 815372 - prevent sending XML invalid chars in system.getScriptResults API
+ (tlestach(a)redhat.com)
+- 815252 - fix errata.listPackages APIdoc (tlestach(a)redhat.com)
+
* Fri Apr 20 2012 Tomas Lestach <tlestach(a)redhat.com> 1.8.53-1
- remove unused paths from unprotected uris
- 728205 - do not check CSRF token for login pages
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index cb056ff..6b20cfc 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-1.8.53-1 java/
+1.8.54-1 java/
12 years
9 commits - java/code
by Šimon Lukašík
java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml | 38 +++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/BaseSsmScheduleXccdfAction.java | 63 +++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java | 60 +++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java | 106 ++++++++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java | 64 ++++++
java/code/src/com/redhat/rhn/frontend/action/audit/ssm/validation/scheduleXccdfForm.xsd | 17 +
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 33 +++
java/code/src/com/redhat/rhn/manager/action/ActionManager.java | 29 ++
java/code/src/com/redhat/rhn/manager/audit/ScapManager.java | 57 +++++
java/code/webapp/WEB-INF/nav/ssm.xml | 5
java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp | 32 +++
java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp | 31 ++
java/code/webapp/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf | 25 ++
java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf | 50 ++++
java/code/webapp/WEB-INF/pages/ssm/ssmindex.jsp | 1
java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp | 41 ---
java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp | 1
java/code/webapp/WEB-INF/struts-config.xml | 37 +++
18 files changed, 652 insertions(+), 38 deletions(-)
New commits:
commit f42b21d6c27a60dac838bdf80c4d67e07dfe2bfa
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Apr 24 14:38:50 2012 +0200
Promote Audit to separate tab within SSM.
diff --git a/java/code/webapp/WEB-INF/nav/ssm.xml b/java/code/webapp/WEB-INF/nav/ssm.xml
index 4c9a5c7..4e27af5 100644
--- a/java/code/webapp/WEB-INF/nav/ssm.xml
+++ b/java/code/webapp/WEB-INF/nav/ssm.xml
@@ -119,6 +119,11 @@
</rhn-tab>
</rhn-tab>
+ <rhn-tab name="Audit">
+ <rhn-tab-url>/rhn/systems/ssm/audit/ScheduleXccdf.do</rhn-tab-url>
+ <rhn-tab-url>/rhn/systems/ssm/audit/ScheduleXccdfSubmit.do</rhn-tab-url>
+ </rhn-tab>
+
<rhn-tab name="Misc">
<rhn-tab-url>/rhn/systems/ssm/misc/Index.do</rhn-tab-url>
<rhn-tab-url>/rhn/systems/ssm/HardwareRefresh.do</rhn-tab-url>
commit 25ef8e65848c247e5415660d355bbd4e6a254bce
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Fri Apr 20 14:51:10 2012 +0200
Show targeted systems when scheduling SCAP scan through SSM.
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml
index f19ee34..bb750e2 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml
@@ -121,4 +121,24 @@
</query>
</mode>
+<mode name="systems_in_set_and_scap_capability">
+ <query params="user_id, set_label">
+ SELECT DISTINCT s.id AS sid,
+ s.name AS name,
+ (SELECT 1
+ FROM rhnClientCapability cc
+ INNER JOIN rhnClientCapabilityName ccn ON cc.capability_name_id = ccn.id
+ WHERE cc.server_id = usp.server_id
+ AND ccn.name LIKE 'scap%'
+ ) AS scap
+ FROM rhnUserServerPerms usp
+ INNER JOIN rhnSet st ON st.user_id = usp.user_id
+ AND st.element = usp.server_id
+ INNER JOIN rhnServer s ON s.id = usp.server_id
+ WHERE st.user_id = :user_id
+ AND st.label = :set_label
+ ORDER BY name ASC
+ </query>
+</mode>
+
</datasource_modes>
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/BaseSsmScheduleXccdfAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/BaseSsmScheduleXccdfAction.java
new file mode 100644
index 0000000..f1b8e8e
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/BaseSsmScheduleXccdfAction.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2012 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.action.audit.ssm;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts.action.DynaActionForm;
+
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.audit.ScapManager;
+
+/**
+ * SSM OpenSCAP XCCDF scanning.
+ * @version $Rev$
+ */
+public abstract class BaseSsmScheduleXccdfAction
+ extends RhnAction implements Listable {
+
+ protected static final String DATE = "date";
+ protected static final String PATH = "path";
+ protected static final String PARAMS = "params";
+ protected static final String LOCALIZED_DATE = "localizedDate";
+ protected static final String READONLY = "readonly";
+ protected static final String TRUE = "true";
+ protected static final String ERROR = "error";
+
+ /**
+ * {@inheritDoc}
+ */
+ public List getResult(RequestContext context) {
+ return ScapManager.systemsInSsmAndScapCapability(context.getLoggedInUser());
+ }
+
+ protected void setupListHelper(HttpServletRequest request) {
+ ListHelper helper = new ListHelper(this, request);
+ helper.execute();
+ request.setAttribute(ListTagHelper.PARENT_URL, request.getRequestURI());
+ }
+
+ protected void setupDatePicker(HttpServletRequest request, DynaActionForm form) {
+ getStrutsDelegate().prepopulateDatePicker(request,
+ form, DATE, DatePicker.YEAR_RANGE_POSITIVE);
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java
index 4ed3fbb..37dc8f5 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java
@@ -23,8 +23,6 @@ import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
-import com.redhat.rhn.common.util.DatePicker;
-import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.RhnValidationHelper;
@@ -32,7 +30,7 @@ import com.redhat.rhn.frontend.struts.RhnValidationHelper;
* SSM OpenSCAP XCCDF scanning.
* @version $Rev$
*/
-public class SsmScheduleXccdfAction extends RhnAction {
+public class SsmScheduleXccdfAction extends BaseSsmScheduleXccdfAction {
/**
* {@inheritDoc}
@@ -53,15 +51,10 @@ public class SsmScheduleXccdfAction extends RhnAction {
getStrutsDelegate().saveMessages(request, errors);
}
}
- setupDefaultFormValues(request, form);
+ setupDatePicker(request, form);
+ setupListHelper(request);
return getStrutsDelegate().forwardParams(
mapping.findForward(RhnHelper.DEFAULT_FORWARD),
request.getParameterMap());
}
-
- private void setupDefaultFormValues(HttpServletRequest request,
- DynaActionForm form) {
- getStrutsDelegate().prepopulateDatePicker(request,
- form, "date", DatePicker.YEAR_RANGE_POSITIVE);
- }
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
index f61f697..28ca5fe 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
@@ -30,7 +30,6 @@ import org.apache.struts.action.DynaActionForm;
import com.redhat.rhn.common.util.DatePicker;
import com.redhat.rhn.domain.action.scap.ScapAction;
import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.RhnValidationHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
@@ -42,12 +41,7 @@ import com.redhat.rhn.manager.audit.ScapManager;
* This action dispatches the second submit and commits the action.
* @version $Rev$
*/
-public class SsmScheduleXccdfConfirmAction extends RhnAction {
-
- private static final String PATH = "path";
- private static final String PARAMS = "params";
- private static final String DATE = "date";
- private static final String ERROR = "error";
+public class SsmScheduleXccdfConfirmAction extends BaseSsmScheduleXccdfAction {
/**
* {@inheritDoc}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java
index 365b738..c899c5b 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java
@@ -26,7 +26,6 @@ import org.apache.struts.action.DynaActionForm;
import com.redhat.rhn.common.localization.LocalizationService;
import com.redhat.rhn.common.util.DatePicker;
-import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
@@ -34,14 +33,7 @@ import com.redhat.rhn.frontend.struts.StrutsDelegate;
* SSM OpenSCAP XCCDF scanning.
* @version $Rev$
*/
-public class SsmScheduleXccdfSubmitAction extends RhnAction {
-
- private static final String PATH = "path";
- private static final String PARAMS = "params";
- private static final String DATE = "date";
- private static final String LOCALIZED_DATE = "localizedDate";
- private static final String READONLY = "readonly";
- private static final String TRUE = "true";
+public class SsmScheduleXccdfSubmitAction extends BaseSsmScheduleXccdfAction {
/**
* {@inheritDoc}
@@ -61,8 +53,9 @@ public class SsmScheduleXccdfSubmitAction extends RhnAction {
request.setAttribute(LOCALIZED_DATE,
LocalizationService.getInstance().formatDate(earliest));
request.setAttribute(READONLY, TRUE);
- strutsDelegate.prepopulateDatePicker(request,
- form, DATE, DatePicker.YEAR_RANGE_POSITIVE);
+
+ setupDatePicker(request, form);
+ setupListHelper(request);
return strutsDelegate.forwardParams(
mapping.findForward(RhnHelper.DEFAULT_FORWARD),
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 3a3a4c6..e82b561 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -11841,6 +11841,18 @@ the <strong>Red Hat Enterprise Linux System Administration Guide.</stro
</group>
<group>
+ <context-group>
+ <context context-type="sourcefile">Page for a new SCAP scan schedule for SSM</context>
+ </context-group>
+ <trans-unit id="ssm.audit.xccdf.targetedsystems">
+ <source>Targeted Systems</source>
+ </trans-unit>
+ <trans-unit id="ssm.audit.xccdf.capability">
+ <source>OpenSCAP Scan Capability</source>
+ </trans-unit>
+ </group>
+
+ <group>
<context-group name="ctx">
<context context-type="sourcefile">View of SCAP scans for given system</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java b/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
index 3a58600..bea4102 100644
--- a/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
+++ b/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
@@ -138,6 +138,20 @@ public class ScapManager extends BaseManager {
}
/**
+ * Show systems in SSM and their true/false scap capability
+ * @param scheduler user requesting the systems
+ * @return the list of systems in SSM
+ */
+ public static DataResult systemsInSsmAndScapCapability(User scheduler) {
+ SelectMode m = ModeFactory.getMode("scap_queries",
+ "systems_in_set_and_scap_capability");
+ HashMap params = new HashMap();
+ params.put("user_id", scheduler.getId());
+ params.put("set_label", RhnSetDecl.SYSTEMS.getLabel());
+ return m.execute(params);
+ }
+
+ /**
* Schedule scap.xccdf_eval action for systems in user's SSM.
* @param scheduler user which commits the schedule
* @param path path to xccdf document on systems file system
diff --git a/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp
index b8b89fd..c975313 100644
--- a/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp
+++ b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp
@@ -1,5 +1,6 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn"%>
+<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
@@ -15,7 +16,16 @@
<%@ include file="/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf" %>
+ <div align="right">
+ </hr>
+ <html:submit property="schedule_button">
+ <bean:message key="system.audit.confirmschedulexccdf.jsp.button"/>
+ </html:submit>
+ </div>
</html:form>
+
+<%@ include file="/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf" %>
+
</div>
</body>
diff --git a/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp
index e5741b7..e1565c5 100644
--- a/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp
+++ b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp
@@ -1,5 +1,6 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn"%>
+<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
@@ -14,10 +15,17 @@
<html:form method="post" action="/systems/ssm/audit/ScheduleXccdf.do">
<%@ include file="/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf" %>
-
+ <rhn:tooltip><bean:message key="system.audit.schedulexccdf.jsp.tooltip"/></rhn:tooltip>
+ <div align="right">
+ </hr>
+ <html:submit property="schedule_button">
+ <bean:message key="system.audit.schedulexccdf.jsp.button"/>
+ </html:submit>
+ </div>
</html:form>
+
+<%@ include file="/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf" %>
</div>
-<rhn:tooltip><bean:message key="system.audit.schedulexccdf.jsp.tooltip"/></rhn:tooltip>
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf
new file mode 100644
index 0000000..7fc31e8
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/audit/scapcap-list.jspf
@@ -0,0 +1,25 @@
+<rl:listset name="systemListSet" legend="system">
+ <rhn:csrf/>
+ <rhn:submitted/>
+ <h2><bean:message key="ssm.audit.xccdf.targetedsystems"/></h2>
+ <rl:list emptykey="nosystems.message">
+
+ <rl:column headerkey="systemlist.jsp.system" styleclass="first-column">
+ <c:out escapeXml="false"
+ value="<a href=\"/rhn/systems/details/audit/ListScap.do?sid=${current.sid}\">"/>
+ <c:out value="${current.name}"/>
+ <c:out escapeXml="false" value="</a>"/>
+ </rl:column>
+
+ <rl:column headerkey="ssm.audit.xccdf.capability" styleclass="last-column">
+ <c:choose>
+ <c:when test="${current.scap == 1}">
+ <bean:message key="targetsystems.jsp.yes"/>
+ </c:when>
+ <c:otherwise>
+ <bean:message key="targetsystems.jsp.no"/>
+ </c:otherwise>
+ </c:choose>
+ </rl:column>
+ </rl:list>
+</rl:listset>
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
index d40b829..825c5db 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
@@ -48,10 +48,3 @@
</table>
<html:hidden property="submitted" value="true" />
-
-<div align="right">
- </hr>
- <html:submit property="schedule_button">
- <bean:message key="system.audit.schedulexccdf.jsp.button"/>
- </html:submit>
-</div>
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp b/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp
index bf3ce93..1253be0 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp
@@ -23,6 +23,12 @@
<%@ include file="/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf" %>
<html:hidden property="sid" value="${param.sid}"/>
+ <div align="right">
+ </hr>
+ <html:submit property="schedule_button">
+ <bean:message key="system.audit.schedulexccdf.jsp.button"/>
+ </html:submit>
+ </div>
</html:form>
<rhn:tooltip>
<bean:message key="system.audit.schedulexccdf.jsp.tooltip"/>
commit f419e7c7684fdf81fa95797355337617783fbd3c
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Fri Apr 20 14:33:30 2012 +0200
Extract method scapCapableSystemsInSsm()
diff --git a/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java b/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
index 385ea4e..3a58600 100644
--- a/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
+++ b/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
@@ -124,6 +124,20 @@ public class ScapManager extends BaseManager {
}
/**
+ * Show scap capable systems which are currently in SSM
+ * @param scheduler user requesting the systems
+ * @return the list of systems in SSM
+ */
+ public static DataResult scapCapableSystemsInSsm(User scheduler) {
+ SelectMode m = ModeFactory.getMode("scap_queries",
+ "scap_capable_systems_in_set");
+ HashMap params = new HashMap();
+ params.put("user_id", scheduler.getId());
+ params.put("set_label", RhnSetDecl.SYSTEMS.getLabel());
+ return m.execute(params);
+ }
+
+ /**
* Schedule scap.xccdf_eval action for systems in user's SSM.
* @param scheduler user which commits the schedule
* @param path path to xccdf document on systems file system
@@ -133,12 +147,7 @@ public class ScapManager extends BaseManager {
*/
public static ScapAction scheduleXccdfEvalInSsm(User scheduler, String path,
String parameters, Date earliest) {
- SelectMode m = ModeFactory.getMode("scap_queries",
- "scap_capable_systems_in_set");
- HashMap params = new HashMap();
- params.put("user_id", scheduler.getId());
- params.put("set_label", RhnSetDecl.SYSTEMS.getLabel());
- HashSet<Long> systemIds = idsInDataResultToSet(m.execute(params));
+ HashSet<Long> systemIds = idsInDataResultToSet(scapCapableSystemsInSsm(scheduler));
return ActionManager.scheduleXccdfEval(
scheduler, systemIds, path, parameters, earliest);
}
commit 42511cebb36264e2212861c4bf60f73b74735a11
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Thu Apr 19 14:29:07 2012 +0200
Handle errors during SSM schedule of SCAP scan.
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
index 4536a6a..f61f697 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
@@ -34,6 +34,7 @@ import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.struts.RhnValidationHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.manager.MissingEntitlementException;
import com.redhat.rhn.manager.audit.ScapManager;
/**
@@ -75,12 +76,29 @@ public class SsmScheduleXccdfConfirmAction extends RhnAction {
RequestContext context = new RequestContext(request);
StrutsDelegate strutsDelegate = getStrutsDelegate();
- ScapAction scapAction = ScapManager.scheduleXccdfEvalInSsm(
- context.getLoggedInUser(),
- (String) form.get(PATH),
- (String) form.get(PARAMS),
- getStrutsDelegate().readDatePicker(form, DATE,
- DatePicker.YEAR_RANGE_POSITIVE));
+ ActionErrors errors = new ActionErrors();
+ ScapAction scapAction = null;
+ try {
+ scapAction = ScapManager.scheduleXccdfEvalInSsm(
+ context.getLoggedInUser(),
+ (String) form.get(PATH),
+ (String) form.get(PARAMS),
+ getStrutsDelegate().readDatePicker(form, DATE,
+ DatePicker.YEAR_RANGE_POSITIVE));
+ }
+ catch (MissingEntitlementException e) {
+ errors.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("message.entitlement.missing", e.getMessage()));
+ }
+
+ if (scapAction == null) {
+ errors.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("message.xccdfeval.failed"));
+ addErrors(request, errors);
+ return strutsDelegate.forwardParams(
+ mapping.findForward(ERROR),
+ request.getParameterMap());
+ }
ActionMessages msgs = new ActionMessages();
msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.xccdfeval.ssm"));
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index f3ab967..3a3a4c6 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -6088,6 +6088,18 @@ value for this entitlement, excluding the default organization's consumption.</s
<context context-type="sourcefile">/rhn/schedule/ActionDetails.do</context>
</context-group>
</trans-unit>
+ <trans-unit id="message.entitlement.missing">
+ <source>One or more of the selected systems lack the {0} entitlement.</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/rhn/systems/ssm/audit/ScheduleXccdf.do</context>
+ </context-group>
+ </trans-unit>
+ <trans-unit id="message.xccdfeval.failed">
+ <source>Action was not scheduled.</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/rhn/systems/ssm/audit/ScheduleXccdf.do</context>
+ </context-group>
+ </trans-unit>
<trans-unit id="removeconfirm.jsp.runremotecommand">
<source>Add Remote Command To Package Removal</source>
<context-group name="ctx">
commit bc5a166cf8090e9af0388f0e9ec87388f16840f7
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Thu Apr 19 11:33:04 2012 +0200
OpenSCAP integration -- schedule new scan in SSM
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml
index 9e4d8eb..f19ee34 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/scap_queries.xml
@@ -103,4 +103,22 @@
</query>
</mode>
+<mode name="scap_capable_systems_in_set">
+ <query params="user_id, set_label">
+ SELECT DISTINCT usp.server_id AS id
+ FROM rhnUserServerPerms usp
+ INNER JOIN rhnSet st ON st.user_id = usp.user_id
+ AND st.element = usp.server_id
+ WHERE st.user_id = :user_id
+ AND st.label = :set_label
+ AND EXISTS (
+ SELECT 1
+ FROM rhnClientCapability cc
+ INNER JOIN rhnClientCapabilityName ccn ON cc.capability_name_id = ccn.id
+ WHERE cc.server_id = usp.server_id
+ AND ccn.name LIKE 'scap%'
+ )
+ </query>
+</mode>
+
</datasource_modes>
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java
new file mode 100644
index 0000000..4ed3fbb
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfAction.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) 2012 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.action.audit.ssm;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.DynaActionForm;
+
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.struts.RhnValidationHelper;
+
+/**
+ * SSM OpenSCAP XCCDF scanning.
+ * @version $Rev$
+ */
+public class SsmScheduleXccdfAction extends RhnAction {
+
+ /**
+ * {@inheritDoc}
+ */
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+ DynaActionForm form = (DynaActionForm) formIn;
+
+ if (isSubmitted(form)) {
+ ActionErrors errors = RhnValidationHelper.validateDynaActionForm(this, form);
+ if (errors.isEmpty()) {
+ return getStrutsDelegate().forwardParams(mapping.findForward("submit"),
+ request.getParameterMap());
+ }
+ else {
+ getStrutsDelegate().saveMessages(request, errors);
+ }
+ }
+ setupDefaultFormValues(request, form);
+ return getStrutsDelegate().forwardParams(
+ mapping.findForward(RhnHelper.DEFAULT_FORWARD),
+ request.getParameterMap());
+ }
+
+ private void setupDefaultFormValues(HttpServletRequest request,
+ DynaActionForm form) {
+ getStrutsDelegate().prepopulateDatePicker(request,
+ form, "date", DatePicker.YEAR_RANGE_POSITIVE);
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
new file mode 100644
index 0000000..4536a6a
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfConfirmAction.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2012 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.action.audit.ssm;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+import org.apache.struts.action.DynaActionForm;
+
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.domain.action.scap.ScapAction;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.struts.RhnValidationHelper;
+import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.manager.audit.ScapManager;
+
+/**
+ * SSM OpenSCAP XCCDF scanning.
+ * This action dispatches the second submit and commits the action.
+ * @version $Rev$
+ */
+public class SsmScheduleXccdfConfirmAction extends RhnAction {
+
+ private static final String PATH = "path";
+ private static final String PARAMS = "params";
+ private static final String DATE = "date";
+ private static final String ERROR = "error";
+
+ /**
+ * {@inheritDoc}
+ */
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+ StrutsDelegate strutsDelegate = getStrutsDelegate();
+ DynaActionForm form = (DynaActionForm) formIn;
+
+ if (isSubmitted(form)) {
+ ActionErrors errors = RhnValidationHelper.validateDynaActionForm(this, form);
+ if (errors.isEmpty()) {
+ return processForm(mapping, request, form);
+ }
+ }
+
+ return strutsDelegate.forwardParams(
+ mapping.findForward(ERROR),
+ request.getParameterMap());
+ }
+
+ private ActionForward processForm(ActionMapping mapping,
+ HttpServletRequest request, DynaActionForm form) {
+ RequestContext context = new RequestContext(request);
+ StrutsDelegate strutsDelegate = getStrutsDelegate();
+
+ ScapAction scapAction = ScapManager.scheduleXccdfEvalInSsm(
+ context.getLoggedInUser(),
+ (String) form.get(PATH),
+ (String) form.get(PARAMS),
+ getStrutsDelegate().readDatePicker(form, DATE,
+ DatePicker.YEAR_RANGE_POSITIVE));
+
+ ActionMessages msgs = new ActionMessages();
+ msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.xccdfeval.ssm"));
+ strutsDelegate.saveMessages(request, msgs);
+
+ Map paramMap = makeParamMap(request);
+ paramMap.put("aid", scapAction.getId());
+ return strutsDelegate.forwardParams(mapping.findForward(RhnHelper.DEFAULT_FORWARD),
+ paramMap);
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java
new file mode 100644
index 0000000..365b738
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/SsmScheduleXccdfSubmitAction.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2012 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.action.audit.ssm;
+
+import java.util.Date;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.DynaActionForm;
+
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.struts.StrutsDelegate;
+
+/**
+ * SSM OpenSCAP XCCDF scanning.
+ * @version $Rev$
+ */
+public class SsmScheduleXccdfSubmitAction extends RhnAction {
+
+ private static final String PATH = "path";
+ private static final String PARAMS = "params";
+ private static final String DATE = "date";
+ private static final String LOCALIZED_DATE = "localizedDate";
+ private static final String READONLY = "readonly";
+ private static final String TRUE = "true";
+
+ /**
+ * {@inheritDoc}
+ */
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+ StrutsDelegate strutsDelegate = getStrutsDelegate();
+ DynaActionForm form = (DynaActionForm) formIn;
+
+ String params = (String) form.get(PARAMS);
+ String path = (String) form.get(PATH);
+ Date earliest = strutsDelegate.readDatePicker(form, DATE,
+ DatePicker.YEAR_RANGE_POSITIVE);
+
+ request.setAttribute(LOCALIZED_DATE,
+ LocalizationService.getInstance().formatDate(earliest));
+ request.setAttribute(READONLY, TRUE);
+ strutsDelegate.prepopulateDatePicker(request,
+ form, DATE, DatePicker.YEAR_RANGE_POSITIVE);
+
+ return strutsDelegate.forwardParams(
+ mapping.findForward(RhnHelper.DEFAULT_FORWARD),
+ request.getParameterMap());
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/validation/scheduleXccdfForm.xsd b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/validation/scheduleXccdfForm.xsd
new file mode 100644
index 0000000..ea1264b
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/audit/ssm/validation/scheduleXccdfForm.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+
+<schema targetNamespace="http://rhn.redhat.com"
+ xmlns="http://www.w3.org/1999/XMLSchema"
+ xmlns:rhn="http://rhn.redhat.com">
+ <attribute name="params">
+ <simpleType baseType="string">
+ <maxLength value="8192"/>
+ </simpleType>
+ </attribute>
+ <attribute name="path">
+ <simpleType baseType="string">
+ <minLength value="1"/>
+ <maxLength value="2048"/>
+ </simpleType>
+ </attribute>
+</schema>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 29e44ee..f3ab967 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -4581,6 +4581,9 @@ value for this entitlement, excluding the default organization's consumption.</s
<trans-unit id="ssm.overview.misc.migrate">
<source><a href="/rhn/systems/ssm/misc/Index.do#migrate">Migrate</a> systems to another organization</source>
</trans-unit>
+ <trans-unit id="ssm.overview.misc.scap">
+ <source><a href="/rhn/systems/ssm/audit/ScheduleXccdf.do">Audit</a> systems with OpenSCAP</source>
+ </trans-unit>
</group>
<!-- SSM System List -->
@@ -6079,6 +6082,12 @@ value for this entitlement, excluding the default organization's consumption.</s
<context context-type="sourcefile">/rhn/systems/details/audit/ListScap.do</context>
</context-group>
</trans-unit>
+ <trans-unit id="message.xccdfeval.ssm">
+ <source>XCCDF scan has been scheduled successfully.</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/rhn/schedule/ActionDetails.do</context>
+ </context-group>
+ </trans-unit>
<trans-unit id="removeconfirm.jsp.runremotecommand">
<source>Add Remote Command To Package Removal</source>
<context-group name="ctx">
diff --git a/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java b/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
index 222eb18..385ea4e 100644
--- a/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
+++ b/java/code/src/com/redhat/rhn/manager/audit/ScapManager.java
@@ -15,18 +15,23 @@
package com.redhat.rhn.manager.audit;
import java.util.ArrayList;
+import java.util.Date;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.common.db.datasource.ModeFactory;
import com.redhat.rhn.common.db.datasource.SelectMode;
+import com.redhat.rhn.domain.action.scap.ScapAction;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.XccdfIdentDto;
import com.redhat.rhn.frontend.dto.XccdfRuleResultDto;
import com.redhat.rhn.manager.BaseManager;
+import com.redhat.rhn.manager.action.ActionManager;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
/**
* ScapManager
@@ -118,6 +123,26 @@ public class ScapManager extends BaseManager {
return m.execute(params);
}
+ /**
+ * Schedule scap.xccdf_eval action for systems in user's SSM.
+ * @param scheduler user which commits the schedule
+ * @param path path to xccdf document on systems file system
+ * @param parameters additional parameters for xccdf scan
+ * @param earliest time of earliest action occurence
+ * @return the newly created ScapAction
+ */
+ public static ScapAction scheduleXccdfEvalInSsm(User scheduler, String path,
+ String parameters, Date earliest) {
+ SelectMode m = ModeFactory.getMode("scap_queries",
+ "scap_capable_systems_in_set");
+ HashMap params = new HashMap();
+ params.put("user_id", scheduler.getId());
+ params.put("set_label", RhnSetDecl.SYSTEMS.getLabel());
+ HashSet<Long> systemIds = idsInDataResultToSet(m.execute(params));
+ return ActionManager.scheduleXccdfEval(
+ scheduler, systemIds, path, parameters, earliest);
+ }
+
private static List<Map<String, Object>> transposeView(DataResult testResultsRaw) {
List<Map<String, Object>> resultView = new ArrayList<Map<String, Object>>();
Map<String, Object> currResult = null;
@@ -146,4 +171,13 @@ public class ScapManager extends BaseManager {
}
return resultView;
}
+
+ private static HashSet<Long> idsInDataResultToSet(DataResult dataIn) {
+ HashSet<Long> result = new HashSet<Long>();
+ for (Map<String, Long> map : (List<Map<String, Long>>) dataIn) {
+ result.add(map.get("id"));
+ }
+ return result;
+ }
+
}
diff --git a/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp
new file mode 100644
index 0000000..b8b89fd
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp
@@ -0,0 +1,22 @@
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn"%>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
+
+<html:xhtml/>
+<html>
+<body>
+
+<%@ include file="/WEB-INF/pages/common/fragments/ssm/header.jspf" %>
+<h2><bean:message key="system.audit.schedulexccdf.jsp.schedule"/></h2>
+
+<div>
+<html:form method="post" action="/systems/ssm/audit/ScheduleXccdfConfirm.do">
+
+ <%@ include file="/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf" %>
+
+</html:form>
+</div>
+
+</body>
+</html>
diff --git a/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp
new file mode 100644
index 0000000..e5741b7
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp
@@ -0,0 +1,23 @@
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn"%>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
+
+<html:xhtml/>
+<html>
+<body>
+
+<%@ include file="/WEB-INF/pages/common/fragments/ssm/header.jspf" %>
+<h2><bean:message key="system.audit.schedulexccdf.jsp.schedule"/></h2>
+
+<div>
+<html:form method="post" action="/systems/ssm/audit/ScheduleXccdf.do">
+
+ <%@ include file="/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf" %>
+
+</html:form>
+</div>
+
+<rhn:tooltip><bean:message key="system.audit.schedulexccdf.jsp.tooltip"/></rhn:tooltip>
+</body>
+</html>
diff --git a/java/code/webapp/WEB-INF/pages/ssm/ssmindex.jsp b/java/code/webapp/WEB-INF/pages/ssm/ssmindex.jsp
index 8cf5b63..ae0dea4 100644
--- a/java/code/webapp/WEB-INF/pages/ssm/ssmindex.jsp
+++ b/java/code/webapp/WEB-INF/pages/ssm/ssmindex.jsp
@@ -75,6 +75,7 @@
<bean:message key="ssm.overview.misc.entitlements"/><br />
<bean:message key="ssm.overview.misc.deletereboot"/><br />
<bean:message key="ssm.overview.misc.migrate"/><br />
+ <bean:message key="ssm.overview.misc.scap"/><br />
</p>
</td>
</tr>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 88dc052..79d59ec 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -4764,6 +4764,43 @@
path="/WEB-INF/pages/ssm/systems/misc/index.jsp" />
</action>
+ <action path="/systems/ssm/audit/ScheduleXccdf"
+ scope="request"
+ name="scheduleXccdfForm"
+ input="/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp"
+ type="com.redhat.rhn.frontend.action.audit.ssm.SsmScheduleXccdfAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <forward name="default"
+ path="/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp"/>
+ <forward name="error"
+ path="/WEB-INF/pages/audit/ssm/ssmschedulexccdf.jsp"/>
+ <forward name="submit"
+ path="/systems/ssm/audit/ScheduleXccdfSubmit.do"/>
+ </action>
+
+ <action path="/systems/ssm/audit/ScheduleXccdfSubmit"
+ scope="request"
+ name="scheduleXccdfForm"
+ input="/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp"
+ type="com.redhat.rhn.frontend.action.audit.ssm.SsmScheduleXccdfSubmitAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="postRequired" value="true"/>
+ <forward name="default"
+ path="/WEB-INF/pages/audit/ssm/ssmschedulexccdf-submit.jsp"/>
+ </action>
+
+ <action path="/systems/ssm/audit/ScheduleXccdfConfirm"
+ scope="request"
+ name="scheduleXccdfForm"
+ type="com.redhat.rhn.frontend.action.audit.ssm.SsmScheduleXccdfConfirmAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="postRequired" value="true"/>
+ <forward name="default"
+ path="/schedule/InProgressSystems.do"/>
+ <forward name="error"
+ path="/systems/ssm/audit/ScheduleXccdf.do"/>
+ </action>
+
<!-- ===== END SSM ===== -->
<action path="/monitoring/config/notification/Methods"
commit 067cd8314f9912388b1d137b3f6ea696c15d580d
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Thu Apr 19 11:18:42 2012 +0200
Extract method for scheduling xccdfEval for multiple systems.
diff --git a/java/code/src/com/redhat/rhn/manager/action/ActionManager.java b/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
index 6c10c24..d0d1781 100644
--- a/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
+++ b/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
@@ -1795,14 +1795,33 @@ public class ActionManager extends BaseManager {
*/
public static ScapAction scheduleXccdfEval(User scheduler, Server srvr, String path,
String parameters, Date earliestAction) {
- if (!SystemManager.hasEntitlement(srvr.getId(),
+ Set<Long> serverIds = new HashSet<Long>();
+ serverIds.add(srvr.getId());
+ return scheduleXccdfEval(scheduler, serverIds, path, parameters, earliestAction);
+ }
+
+ /**
+ * Schedules Xccdf evaluation.
+ * @param scheduler User scheduling the action.
+ * @param serverIds Set of server identifiers for which the action affects.
+ * @param path Path for the Xccdf content.
+ * @param parameters Additional parameters for oscap tool.
+ * @param earliestAction Date of earliest action to be executed.
+ * @return scheduled Scap Action
+ */
+ public static ScapAction scheduleXccdfEval(User scheduler, Set<Long> serverIds,
+ String path, String parameters, Date earliestAction) {
+ if (serverIds.isEmpty()) {
+ return null;
+ }
+ for (Long serverId : serverIds) {
+ if (!SystemManager.hasEntitlement(serverId,
EntitlementManager.MANAGEMENT)) {
- throw new MissingEntitlementException(
- EntitlementManager.MANAGEMENT.getHumanReadableLabel());
+ throw new MissingEntitlementException(
+ EntitlementManager.MANAGEMENT.getHumanReadableLabel());
+ }
}
- Set<Long> serverIds = new HashSet<Long>();
- serverIds.add(srvr.getId());
ScapActionDetails scapDetails = new ScapActionDetails(path, parameters);
ScapAction action = (ScapAction) scheduleAction(scheduler,
ActionFactory.TYPE_SCAP_XCCDF_EVAL,
commit ab2670becd55c9bbd69f189ed38a0998e869b82e
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Thu Apr 19 11:33:35 2012 +0200
The fragment could be used as readonly for confirmation
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
index 029a538..d40b829 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
@@ -1,3 +1,8 @@
+
+<c:if test="${empty readonly}">
+ <c:set var="readonly" value="false"/>
+</c:if>
+
<rhn:csrf/>
<table class="details">
<tr>
@@ -6,18 +11,38 @@
</tr>
<tr>
<th><bean:message key="system.audit.schedulexccdf.jsp.arguments"/>:</th>
- <td><html:text property="params" maxlength="2048" size="40" styleId="params"/></td>
+ <td>
+ <html:text property="params" maxlength="2048" size="40" styleId="params"
+ readonly="${readonly}"/>
+ </td>
</tr>
<tr>
<th><bean:message key="system.audit.schedulexccdf.jsp.path"/><span class="required-form-field">*</span>:</th>
- <td><html:text property="path" size="40" styleId="path"/></td>
+ <td>
+ <html:text property="path" size="40" styleId="path"
+ readonly="${readonly}"/>
+ </td>
</tr>
<tr>
<th><bean:message key="scheduleremote.jsp.nosoonerthan"/>:</th>
<td>
- <jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
- <jsp:param name="widget" value="date"/>
- </jsp:include>
+ <c:choose>
+ <c:when test="${readonly == 'true'}">
+ <c:out value="${localizedDate}"/>
+ <html:hidden property="use_date" value="true" />
+ <html:hidden property="date_year" />
+ <html:hidden property="date_month" />
+ <html:hidden property="date_day" />
+ <html:hidden property="date_hour" />
+ <html:hidden property="date_minute" />
+ <html:hidden property="date_am_pm" />
+ </c:when>
+ <c:otherwise>
+ <jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
+ <jsp:param name="widget" value="date"/>
+ </jsp:include>
+ </c:otherwise>
+ </c:choose>
</td>
</tr>
</table>
commit ad4252e90127cdfdb0e0ea1a9df025a486f7a759
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Thu Apr 12 12:27:53 2012 +0200
Refactor xccdf schedule form to jsp fragment.
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
new file mode 100644
index 0000000..029a538
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf
@@ -0,0 +1,32 @@
+<rhn:csrf/>
+<table class="details">
+<tr>
+ <th><bean:message key="system.audit.schedulexccdf.jsp.command"/>:</th>
+ <td>/usr/bin/oscap xccdf eval</td>
+</tr>
+<tr>
+ <th><bean:message key="system.audit.schedulexccdf.jsp.arguments"/>:</th>
+ <td><html:text property="params" maxlength="2048" size="40" styleId="params"/></td>
+</tr>
+<tr>
+ <th><bean:message key="system.audit.schedulexccdf.jsp.path"/><span class="required-form-field">*</span>:</th>
+ <td><html:text property="path" size="40" styleId="path"/></td>
+</tr>
+<tr>
+ <th><bean:message key="scheduleremote.jsp.nosoonerthan"/>:</th>
+ <td>
+ <jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
+ <jsp:param name="widget" value="date"/>
+ </jsp:include>
+ </td>
+</tr>
+</table>
+
+<html:hidden property="submitted" value="true" />
+
+<div align="right">
+ </hr>
+ <html:submit property="schedule_button">
+ <bean:message key="system.audit.schedulexccdf.jsp.button"/>
+ </html:submit>
+</div>
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp b/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp
index bd56402..bf3ce93 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/audit/schedulexccdf.jsp
@@ -19,39 +19,10 @@
</c:when>
<c:otherwise>
<html:form method="post" action="/systems/details/audit/ScheduleXccdf.do">
- <rhn:csrf/>
- <table class="details">
- <tr>
- <th><bean:message key="system.audit.schedulexccdf.jsp.command"/>:</th>
- <td>/usr/bin/oscap xccdf eval</td>
- </tr>
- <tr>
- <th><bean:message key="system.audit.schedulexccdf.jsp.arguments"/>:</th>
- <td><html:text property="params" maxlength="2048" size="40" styleId="params"/></td>
- </tr>
- <tr>
- <th><bean:message key="system.audit.schedulexccdf.jsp.path"/><span class="required-form-field">*</span>:</th>
- <td><html:text property="path" size="40" styleId="path"/></td>
- </tr>
- <tr>
- <th><bean:message key="scheduleremote.jsp.nosoonerthan"/>:</th>
- <td>
- <jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
- <jsp:param name="widget" value="date"/>
- </jsp:include>
- </td>
- </tr>
- </table>
-
- <html:hidden property="sid" value="${param.sid}"/>
- <html:hidden property="submitted" value="true" />
-
- <div align="right">
- </hr>
- <html:submit property="schedule_button">
- <bean:message key="system.audit.schedulexccdf.jsp.button"/>
- </html:submit>
- </div>
+
+ <%@ include file="/WEB-INF/pages/common/fragments/audit/schedule-xccdf.jspf" %>
+
+ <html:hidden property="sid" value="${param.sid}"/>
</html:form>
<rhn:tooltip>
<bean:message key="system.audit.schedulexccdf.jsp.tooltip"/>
commit 4f341276480bcc9ea825d006c37542cd96fc7f3d
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Thu Apr 19 13:31:41 2012 +0200
Remove redundant definitions of use_date
Not only redundancy is not nice, this actually fixes the problem
of the following unlikely scenario, when action is scheduled
for a different date compared to what is displayed on confirmation
pages.
Systems
-> (a system)
-> Software
-> Packages
-> Upgrade
-> (select a package)
-> Upgrade Packages
-> Schedule action for no sooner than
(choose a date different from now)
-> Schedule action as soon as possible
-> Add Remote Command To Package Upgrade
-> Confirm
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp b/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp
index fe8f7d0..a12f605 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/packages/scheduleremote.jsp
@@ -49,7 +49,6 @@
</td>
</tr>
</table>
- <html:hidden property="use_date" value="true" />
<html:hidden property="session_set_label" value="${param.session_set_label}" />
<html:hidden property="sid" value="${param.sid}" />
12 years