java/code/src/com/redhat/rhn/taskomatic/TaskomaticApi.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
New commits:
commit 902c2b06339ca736c68223c4af8a4db6688e3031
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Oct 25 16:01:11 2011 +0200
737838 - allow org admins to unschedule repo sync (org tasks)
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskomaticApi.java
b/java/code/src/com/redhat/rhn/taskomatic/TaskomaticApi.java
index 036f8b1..865d5b9 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskomaticApi.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskomaticApi.java
@@ -15,6 +15,7 @@
package com.redhat.rhn.taskomatic;
import com.redhat.rhn.common.conf.ConfigDefaults;
+import com.redhat.rhn.common.security.PermissionException;
import com.redhat.rhn.common.validator.ValidatorException;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.role.RoleFactory;
@@ -137,6 +138,12 @@ public class TaskomaticApi {
}
}
+ private void ensureOrgAdminRole(User user) {
+ if (!user.hasRole(RoleFactory.ORG_ADMIN)) {
+ throw new PermissionException(RoleFactory.ORG_ADMIN);
+ }
+ }
+
/**
* Creates a new schedule, unschedules, if en existing is defined
* @param user shall be sat admin
@@ -167,7 +174,7 @@ public class TaskomaticApi {
}
private void unscheduleTask(String jobLabel, User user) {
- ensureSatAdminRole(user);
+ ensureOrgAdminRole(user);
invoke("tasko.unscheduleBunch", user.getOrg().getId(), jobLabel);
}
Show replies by date