java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java | 52
++++++++++
1 file changed, 52 insertions(+)
New commits:
commit 748338f08a151b9a6683e2fd706688363ce0d868
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Aug 31 13:50:16 2011 +0200
725059 - en/disable kickstart profiles using API
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
index 1489bd9..ce133bb 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
@@ -396,6 +396,58 @@ public class KickstartHandler extends BaseHandler {
}
/**
+ * En/Disable kickstart profile
+ *
+ * @param sessionKey User's session key.
+ * @param profileLabel Label for tree we want to en/disable
+ * @param disabled True to disable the profile
+ * @return 1 if successful, exception otherwise.
+ *
+ * @xmlrpc.doc Enable/Disable a Kickstart Profile
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param_desc("string", "profileLabel" "Label
for the
+ * kickstart tree you want to en/disable")
+ * @xmlrpc.param #param_desc("string", "disabled" "true to
disable the profile")
+ * @xmlrpc.returntype #return_int_success()
+ */
+ public int disableProfile(String sessionKey, String profileLabel, Boolean disabled)
{
+
+ User loggedInUser = getLoggedInUser(sessionKey);
+ if (!loggedInUser.hasRole(RoleFactory.CONFIG_ADMIN)) {
+ throw new PermissionException(RoleFactory.CONFIG_ADMIN);
+ }
+ KickstartData ksData = lookupKsData(profileLabel, loggedInUser.getOrg());
+
+ KickstartEditCommand cmd = new KickstartEditCommand(
+ ksData.getId(), loggedInUser);
+
+ cmd.setActive(!disabled);
+ cmd.store();
+
+ return 1;
+ }
+
+ /**
+ * Returns whether a kickstart profile is disabled
+ *
+ * @param sessionKey User's session key.
+ * @param profileLabel kickstart profile label
+ * @return true if profile is disabled
+ *
+ * @xmlrpc.doc Returns whether a kickstart profile is disabled
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param_desc("string", "profileLabel"
"kickstart profile label")
+ * @xmlrpc.returntype true if profile is disabled
+ */
+ public boolean isProfileDisabled(String sessionKey, String profileLabel) {
+
+ User loggedInUser = getLoggedInUser(sessionKey);
+ KickstartData ksData = lookupKsData(profileLabel, loggedInUser.getOrg());
+
+ return !ksData.isActive();
+ }
+
+ /**
* Rename a kickstart profile.
*
* @param sessionKey User's session key.