java/code/src/com/redhat/rhn/common/db/datasource/xml/Action_queries.xml
| 15 -
java/code/src/com/redhat/rhn/domain/action/script/ScriptAction.java
| 4
java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
| 40 +--
java/code/src/com/redhat/rhn/frontend/events/SsmInstallPackagesAction.java
| 38 ++-
java/code/src/com/redhat/rhn/frontend/events/SsmPackagesAction.java
| 85 ++++---
java/code/src/com/redhat/rhn/frontend/events/SsmRemovePackagesAction.java
| 33 ++
java/code/src/com/redhat/rhn/frontend/events/SsmUpgradePackagesAction.java
| 8
java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
| 23 ++
java/code/src/com/redhat/rhn/frontend/taglibs/rhn-list.tld
| 113 +++++-----
java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
| 28 +-
10 files changed, 240 insertions(+), 147 deletions(-)
New commits:
commit 10fa99004b5d9a177cfe3aba8082c48bd6aa4227
Author: Grant Gainey <ggainey(a)redhat.com>
Date: Wed Jul 24 11:24:55 2013 -0400
987977 - Fix chaining of pkg-scheduling in SSM
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Action_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Action_queries.xml
index 2372097..4c51e03 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Action_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Action_queries.xml
@@ -19,7 +19,7 @@ SELECT EVENT_ID as ID,
NULL AS history_status,
NULL AS history_type,
NULL AS history_type_name,
- SH.details
+ SH.details
FROM rhnServerHistory SH
WHERE SH.server_id = :sid
UNION
@@ -31,7 +31,7 @@ SELECT EVENT_ID as ID,
AStat.name AS history_status,
AType.label AS history_type,
AType.name AS history_type_name,
- NULL AS details
+ NULL AS details
FROM rhnActionType AType,
rhnActionStatus AStat,
rhnAction A
@@ -94,6 +94,7 @@ order by id desc
<query params="user_id, org_id">
SELECT DISTINCT UAO.id AS ID,
UAO.earliest_action AS EARLIEST,
+ A.prerequisite AS PREREQUISITE,
UAO.type_name,
(CASE UAO.action_name WHEN NULL THEN UAO.type_name ELSE UAO.action_name END) AS
ACTION_NAME,
UAO.scheduler,
@@ -102,11 +103,13 @@ SELECT DISTINCT UAO.id AS ID,
(SELECT COUNT(server_id) FROM rhnServerAction WHERE action_id = UAO.id AND status
= 2) AS "COMPLETED_SYSTEMS",
(SELECT COUNT(server_id) FROM rhnServerAction WHERE action_id = UAO.id AND status
= 3) AS "FAILED_SYSTEMS"
FROM rhnUserActionOverview UAO left join
- web_contact WC on UAO.scheduler = WC.id
+ web_contact WC on UAO.scheduler = WC.id,
+ rhnAction A
WHERE UAO.org_id = :org_id
AND UAO.user_id = :user_id
AND UAO.action_status_id IN (0,1)
AND UAO.archived = 0
+ AND UAO.id = A.id
ORDER BY EARLIEST DESC
</query>
<elaborator name="action_overview_elab" />
@@ -297,9 +300,9 @@ SELECT 1
<query params="parent_id, status_id, tries">
INSERT INTO rhnServerAction (server_id, action_id, status, REMAINING_TRIES)
select s.id as server_id, :parent_id as action_id,
- :status_id as status, :tries as REMAINING_TRIES
- from rhnServer s
- where s.id in (%s)
+ :status_id as status, :tries as REMAINING_TRIES
+ from rhnServer s
+ where s.id in (%s)
</query>
</write-mode>
<write-mode name="add_config_rev_to_action">
diff --git a/java/code/src/com/redhat/rhn/domain/action/script/ScriptAction.java
b/java/code/src/com/redhat/rhn/domain/action/script/ScriptAction.java
index 071a5eb..a0e453f 100644
--- a/java/code/src/com/redhat/rhn/domain/action/script/ScriptAction.java
+++ b/java/code/src/com/redhat/rhn/domain/action/script/ScriptAction.java
@@ -35,7 +35,9 @@ public class ScriptAction extends Action {
* @param scriptActionDetailsIn The scriptActionDetails to set.
*/
public void setScriptActionDetails(ScriptActionDetails scriptActionDetailsIn) {
- scriptActionDetailsIn.setParentAction(this);
+ if (scriptActionDetailsIn != null) {
+ scriptActionDetailsIn.setParentAction(this);
+ }
scriptActionDetails = scriptActionDetailsIn;
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
index 653f856..5547a5b 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
@@ -14,7 +14,21 @@
*/
package com.redhat.rhn.frontend.action.schedule;
+import java.util.LinkedList;
+import java.util.List;
+
+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.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.action.ActionFactory;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.rhnset.RhnSetElement;
import com.redhat.rhn.domain.user.User;
@@ -28,18 +42,6 @@ import com.redhat.rhn.manager.action.ActionManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.manager.rhnset.RhnSetManager;
-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 java.util.LinkedList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
/**
* PendingActionsConfirmAction
* @version $Rev: 101893 $
@@ -65,9 +67,6 @@ public class PendingActionsDeleteConfirmAction extends RhnAction
implements List
return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
}
-
-
-
/**
* {@inheritDoc}
*/
@@ -84,7 +83,6 @@ public class PendingActionsDeleteConfirmAction extends RhnAction
implements List
getSetDecl().getLabel());
}
-
private ActionForward cancelActions(ActionMapping mapping, HttpServletRequest
request) {
RequestContext requestContext = new RequestContext(request);
StrutsDelegate strutsDelegate = getStrutsDelegate();
@@ -93,14 +91,12 @@ public class PendingActionsDeleteConfirmAction extends RhnAction
implements List
RhnSet set = getSetDecl().get(user);
- List actionsToCancel = new LinkedList();
+ List<Action> actionsToCancel = new LinkedList();
for (RhnSetElement element : set.getElements()) {
- actionsToCancel.add(element.getElement());
+ actionsToCancel.add(ActionFactory.lookupById(element.getElement()));
}
-
- ActionManager.removeActions(actionsToCancel);
-
+ ActionManager.cancelActions(user, actionsToCancel);
ActionMessages msgs = new ActionMessages();
// If there was only one action cancelled, display the "action"
cancelled
@@ -122,8 +118,6 @@ public class PendingActionsDeleteConfirmAction extends RhnAction
implements List
set.clear();
RhnSetManager.store(set);
-
return mapping.findForward("success");
-
}
}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/SsmInstallPackagesAction.java
b/java/code/src/com/redhat/rhn/frontend/events/SsmInstallPackagesAction.java
index 8f7ba0a..1369b99 100644
--- a/java/code/src/com/redhat/rhn/frontend/events/SsmInstallPackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/events/SsmInstallPackagesAction.java
@@ -22,6 +22,7 @@ import java.util.Map;
import java.util.Set;
import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.SetLabels;
import com.redhat.rhn.frontend.dto.EssentialServerDto;
@@ -43,7 +44,7 @@ public class SsmInstallPackagesAction extends SsmPackagesAction {
Long channelId = sipe.getChannelId();
List<EssentialServerDto> servers =
SystemManager.systemsSubscribedToChannelInSet(
- channelId, u, SetLabels.SYSTEM_LIST);
+ channelId, u, SetLabels.SYSTEM_LIST);
// Create one action for all servers to which the packages are installed
List<Long> serverIds = new LinkedList<Long>();
@@ -53,28 +54,45 @@ public class SsmInstallPackagesAction extends SsmPackagesAction {
return serverIds;
}
- protected List<Action> doSchedule(SsmPackageEvent event,
- User user,
- List<Long> sids,
- Date earliest) {
+ protected List<Action> doSchedule(SsmPackageEvent event, User user,
List<Long> sids,
+ Date earliest) {
SsmInstallPackagesEvent sipe = (SsmInstallPackagesEvent) event;
Set<String> data = sipe.getPackages();
// Convert the package list to domain objects
- List<PackageListItem> packageListItems =
- new ArrayList<PackageListItem>(data.size());
+ List<PackageListItem> pkgListItems = new
ArrayList<PackageListItem>(data.size());
for (String key : data) {
- packageListItems.add(PackageListItem.parse(key));
+ pkgListItems.add(PackageListItem.parse(key));
}
// Convert to list of maps
List<Map<String, Long>> packageListData = PackageListItem
- .toKeyMaps(packageListItems);
+ .toKeyMaps(pkgListItems);
List<Action> pkgActions = ActionManager.schedulePackageInstall(user, sids,
- packageListData, earliest);
+ packageListData, earliest);
return pkgActions;
}
+ protected Action doSchedule(SsmPackageEvent event, User user, Server s, Date
earliest) {
+ SsmInstallPackagesEvent sipe = (SsmInstallPackagesEvent) event;
+
+ Set<String> data = sipe.getPackages();
+ // Convert the package list to domain objects
+ List<PackageListItem> pkgListItems = new
ArrayList<PackageListItem>(data.size());
+ for (String key : data) {
+ pkgListItems.add(PackageListItem.parse(key));
+ }
+
+ // Convert to list of maps
+ List<Map<String, Long>> packageListData = PackageListItem
+ .toKeyMaps(pkgListItems);
+
+ Action pkgAction = ActionManager.schedulePackageInstall(user, s,
+ packageListData, earliest);
+
+ return pkgAction;
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/SsmPackagesAction.java
b/java/code/src/com/redhat/rhn/frontend/events/SsmPackagesAction.java
index 7bb4fa9..70fc767 100644
--- a/java/code/src/com/redhat/rhn/frontend/events/SsmPackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/events/SsmPackagesAction.java
@@ -14,6 +14,7 @@
*/
package com.redhat.rhn.frontend.events;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -24,6 +25,8 @@ import com.redhat.rhn.common.messaging.EventMessage;
import com.redhat.rhn.domain.action.Action;
import com.redhat.rhn.domain.action.script.ScriptActionDetails;
import com.redhat.rhn.domain.action.script.ScriptRunAction;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.server.ServerFactory;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.domain.user.UserFactory;
import com.redhat.rhn.manager.action.ActionManager;
@@ -107,46 +110,47 @@ public abstract class SsmPackagesAction extends
AbstractDatabaseAction {
List<Long> serverIds = getAffectedServers(event, user);
log.debug("Scheduling actions.");
+
// If we have a remote-cmd, have to correctly order it and the package action(s)
if (event.getScriptDetails() != null) {
- ScriptActionDetails sad = event.getScriptDetails();
- if (event.isBefore()) {
- log.debug("Scheduling remote-action BEFORE.");
-
- ScriptRunAction sra = ActionManager.scheduleScriptRun(user, serverIds,
- null, sad, earliest);
- ActionManager.storeAction(sra);
-
- List<Action> pkgActions = doSchedule(event, user, serverIds,
earliest);
-
- // Might be more than one action from schedPkgActions
- Action prevAction = sra;
- for (Action a : pkgActions) {
- a.setPrerequisite(prevAction);
- ActionManager.storeAction(a);
- prevAction = a;
- }
+ for (Long sid : serverIds) {
+ Server s = ServerFactory.lookupById(sid);
+ List<Long> sidList = new ArrayList<Long>();
+ sidList.add(sid);
+ ScriptActionDetails sad = event.getScriptDetails();
+ if (event.isBefore()) {
+ log.debug("Scheduling remote-action BEFORE.");
- }
- else {
- log.debug("Scheduling remote-action AFTER.");
-
- List<Action> pkgActions = doSchedule(event, user, serverIds,
earliest);
- ScriptRunAction sra = ActionManager.scheduleScriptRun(user, serverIds,
- null, sad, earliest);
-
- // Might be more than one action from schedPkgActions
- Action prevAction = null;
- for (Action a : pkgActions) {
- if (prevAction != null) {
- a.setPrerequisite(prevAction);
- }
- ActionManager.storeAction(a);
- prevAction = a;
- }
+ ScriptRunAction sra = ActionManager.scheduleScriptRun(user, sidList,
+ null, sad, earliest);
+ ActionManager.storeAction(sra);
+
+ Action pkgAction = doSchedule(event, user, s, earliest);
+
+ Action prevAction = sra;
+ pkgAction.setPrerequisite(prevAction);
+ ActionManager.storeAction(pkgAction);
+ prevAction = pkgAction;
- sra.setPrerequisite(prevAction);
- ActionManager.storeAction(sra);
+ }
+ else {
+ log.debug("Scheduling remote-action AFTER.");
+
+ Action pkgAction = doSchedule(event, user, s, earliest);
+ ScriptRunAction sra = ActionManager.scheduleScriptRun(user, sidList,
+ null, sad, earliest);
+
+ // Might be more than one action from schedPkgActions
+ Action prevAction = null;
+ if (prevAction != null) {
+ pkgAction.setPrerequisite(prevAction);
+ }
+ ActionManager.storeAction(pkgAction);
+ prevAction = pkgAction;
+
+ sra.setPrerequisite(prevAction);
+ ActionManager.storeAction(sra);
+ }
}
}
else { // No remote-script to schedule
@@ -160,9 +164,14 @@ public abstract class SsmPackagesAction extends
AbstractDatabaseAction {
protected abstract List<Long> getAffectedServers(SsmPackageEvent event, User
u);
- protected abstract List<Action> doSchedule(SsmPackageEvent event,
+ protected abstract Action doSchedule(SsmPackageEvent event,
User user,
- List<Long> sids,
+ Server s,
Date earliest);
+ protected abstract List<Action> doSchedule(SsmPackageEvent event,
+ User user,
+ List<Long> sid,
+ Date earliest);
+
}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/SsmRemovePackagesAction.java
b/java/code/src/com/redhat/rhn/frontend/events/SsmRemovePackagesAction.java
index c17526e..dcfdf92 100644
--- a/java/code/src/com/redhat/rhn/frontend/events/SsmRemovePackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/events/SsmRemovePackagesAction.java
@@ -24,6 +24,7 @@ import java.util.Set;
import org.apache.log4j.Logger;
import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.PackageListItem;
import com.redhat.rhn.manager.action.ActionManager;
@@ -116,4 +117,36 @@ public class SsmRemovePackagesAction extends SsmPackagesAction {
return actions;
}
+ protected Action doSchedule(SsmPackageEvent event, User user, Server s, Date
earliest) {
+
+ SsmRemovePackagesEvent srpe = (SsmRemovePackagesEvent) event;
+
+ List<Map> result = srpe.getResult();
+
+ Set<PackageListItem> allPackages = new HashSet<PackageListItem>();
+
+ for (Map data : result) {
+
+ // Get the packages out of the elaborator
+ List<Map> elabList = (List<Map>)
data.get("elaborator0");
+ if (elabList != null) {
+ for (Map elabMap : elabList) {
+ String idCombo = (String) elabMap.get("id_combo");
+ PackageListItem item = PackageListItem.parse(idCombo);
+ allPackages.add(item);
+ }
+ }
+ }
+
+ List<PackageListItem> allPackagesList = new
ArrayList<PackageListItem>(allPackages);
+ List<Map<String, Long>> packageListData = PackageListItem
+ .toKeyMaps(allPackagesList);
+
+ Action action = ActionManager.schedulePackageRemoval(user, s,
+ packageListData, earliest);
+
+ return action;
+ }
+
+
}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/SsmUpgradePackagesAction.java
b/java/code/src/com/redhat/rhn/frontend/events/SsmUpgradePackagesAction.java
index 5620c22..84b9491 100644
--- a/java/code/src/com/redhat/rhn/frontend/events/SsmUpgradePackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/events/SsmUpgradePackagesAction.java
@@ -20,6 +20,7 @@ import java.util.List;
import java.util.Map;
import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.manager.action.ActionManager;
@@ -53,4 +54,11 @@ public class SsmUpgradePackagesAction extends SsmPackagesAction {
}
+ protected Action doSchedule(SsmPackageEvent event, User user, Server s, Date
earliest) {
+
+ SsmUpgradePackagesEvent supe = (SsmUpgradePackagesEvent) event;
+ List<Map<String, Long>> packageListItems =
supe.getSysPackageSet().get(s.getId());
+
+ return ActionManager.schedulePackageUpgrade(user, s, packageListItems,
earliest);
+ }
}
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
index abfe836..cd0d989 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
@@ -53,6 +53,7 @@ public class SelectableColumnTag extends TagSupport {
private String headerKey;
private String listName;
private String rhnSet;
+ private String hideDisabled;
/**
* Sets the column width
@@ -111,6 +112,15 @@ public class SelectableColumnTag extends TagSupport {
}
/**
+ * Expression to determine if we should show disabled checkboxes
+ * @param expr "true" if we should hide disabled checkboxes, else we show
them
+ */
+ public void setHideDisabled(String expr) {
+ hideDisabled = expr;
+ }
+
+
+ /**
* {@inheritDoc}
*/
public int doStartTag() throws JspException {
@@ -220,6 +230,11 @@ public class SelectableColumnTag extends TagSupport {
String id = ListTagHelper.getObjectId(getCurrent());
String checkboxId = makeCheckboxId(listName, id);
renderHiddenItem(id, value);
+
+ if (isHideDisabled() && isDisabled()) {
+ return;
+ }
+
ListTagUtil.write(pageContext, "<input type=\"checkbox\"
");
boolean selected = isSelected();
if (selected) {
@@ -399,6 +414,14 @@ public class SelectableColumnTag extends TagSupport {
}
return false;
}
+
+ private boolean isHideDisabled() {
+ if (hideDisabled != null &&
hideDisabled.equalsIgnoreCase("true")) {
+ return true;
+ }
+ return false;
+ }
+
protected void writeStartingTd() throws JspException {
writeStartingTd(pageContext, styleClass, width);
}
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/rhn-list.tld
b/java/code/src/com/redhat/rhn/frontend/taglibs/rhn-list.tld
index 3b99555..f145ee6 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/rhn-list.tld
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/rhn-list.tld
@@ -16,7 +16,7 @@
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>legend</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
@@ -82,40 +82,40 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <name>hidepagenums</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
+ <name>hidepagenums</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
<name>parentiselement</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>searchparent</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>searchchild</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>reflink</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>reflinkkey</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>reflinkkeyarg0</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
+ </attribute>
+ <attribute>
+ <name>reflink</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>reflinkkey</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>reflinkkeyarg0</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
</tag>
<tag>
<name>decorator</name>
@@ -221,12 +221,12 @@
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>filterattr</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>filtermessage</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
@@ -251,7 +251,7 @@
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>headerkey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
@@ -271,6 +271,11 @@
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
+ <attribute>
+ <name>hideDisabled</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
</tag>
<tag>
<name>radiocolumn</name>
@@ -291,7 +296,7 @@
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
- <attribute>
+ <attribute>
<name>headerkey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
@@ -307,37 +312,37 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
- <tag>
- <name>csv</name>
- <tag-class>com.redhat.rhn.frontend.taglibs.list.CSVTag</tag-class>
- <body-content>JSP</body-content>
- <attribute>
- <name>name</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>dataset</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>exportColumns</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>header</name>
- <required>false</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- </tag>
+ <tag>
+ <name>csv</name>
+ <tag-class>com.redhat.rhn.frontend.taglibs.list.CSVTag</tag-class>
+ <body-content>JSP</body-content>
+ <attribute>
+ <name>name</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>dataset</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>exportColumns</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>header</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
<function>
<name>expandable</name>
<function-class>com.redhat.rhn.frontend.taglibs.RhnListTagFunctions</function-class>
<function-signature>boolean
isExpandable(java.lang.Object)</function-signature>
</function>
- <function>
+ <function>
<name>countChildren</name>
<function-class>com.redhat.rhn.frontend.taglibs.RhnListTagFunctions</function-class>
<function-signature>int
getChildrenCount(java.lang.Object)</function-signature>
diff --git
a/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
b/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
index a744fa3..c0e1a91 100644
---
a/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
+++
b/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
@@ -1,15 +1,15 @@
<rl:decorator name="PageSizeDecorator"/>
- <rl:decorator name="SelectableDecorator"/>
+ <rl:decorator name="SelectableDecorator"/>
<rl:decorator name="ElaborationDecorator"/>
-
- <rl:selectablecolumn value="${current.selectionKey}"
- selected="${current.selected}"
- disabled="${not current.selectable}"
- headerclass="first-column"/>
+ <rl:selectablecolumn value="${current.selectionKey}"
+ selected="${current.selected}"
+ disabled="${not current.selectable}"
+ hideDisabled="true"
+ headerclass="first-column"/>
<rl:column sortable="true"
bound="false"
@@ -20,7 +20,6 @@
<a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}"><c:out
value="${current.actionName}" /></a>
</rl:column>
-
<rl:column sortable="true"
bound="false"
headerkey="actions.jsp.earliest"
@@ -30,17 +29,16 @@
<c:out value="${current.earliest}" />
</rl:column>
-
<rl:column sortable="false"
bound="false"
headerkey="actions.jsp.succeeded"
styleclass="thin-column"
<c:if
test="${current.completed != 0}">
- <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a>
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a>
</c:if>
<c:if test="${current.completed == 0}">
- ${current.completed}
+ ${current.completed}
</c:if>
</rl:column>
@@ -51,10 +49,10 @@
styleclass="thin-column"
<c:if test="${current.failed
!= 0}">
- <a
href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a>
+ <a
href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a>
</c:if>
<c:if test="${current.failed == 0}">
- ${current.failed}
+ ${current.failed}
</c:if>
</rl:column>
@@ -66,10 +64,10 @@
styleclass="thin-column"
<c:if
test="${current.inProgress != 0}">
- <a
href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a>
+ <a
href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a>
</c:if>
<c:if test="${current.inProgress == 0}">
- ${current.inProgress}
+ ${current.inProgress}
</c:if>
</rl:column>
@@ -78,6 +76,6 @@
bound="false"
headerkey="actions.jsp.total"
styleclass="thin-column">
- ${current.tally}
+ ${current.tally}
</rl:column>