You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/10/03 12:52:09 UTC
cvs commit: cocoon-lenya/src/webapp/lenya/content/admin/groups group-admin.js
andreas 2003/10/03 03:52:09
Modified: src/webapp/lenya/content/admin/ipranges iprange-admin.js
src/webapp/lenya/content/admin/common access-control.js
src/webapp/lenya/content/admin/groups group-admin.js
Log:
fixed "cancel does not work" bug
Revision Changes Path
1.6 +161 -144 cocoon-lenya/src/webapp/lenya/content/admin/ipranges/iprange-admin.js
Index: iprange-admin.js
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/content/admin/ipranges/iprange-admin.js,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- iprange-admin.js 7 Aug 2003 12:15:12 -0000 1.5
+++ iprange-admin.js 3 Oct 2003 10:52:09 -0000 1.6
@@ -3,7 +3,7 @@
// Modify an IP range.
//
function iprange_change_profile(iprangeId) {
- iprange_change_profile(iprangeId, true);
+ iprange_change_profile(iprangeId, false);
}
//
@@ -55,133 +55,139 @@
//
function iprange_change_profile(iprangeId, newRange) {
- var ipRangeManager = getIPRangeManager();
- var range;
- if (newRange) {
- range = new Packages.org.apache.lenya.cms.ac.FileIPRange();
- }
- else {
- range = ipRangeManager.getIPRange(iprangeId);
- }
- var name = range.getName();
- var description = range.getDescription();
-
- var net = new Array(4);
- var mask = new Array(4);
-
- for (i = 0; i < 4; i++) {
- net[i] = getInt(range.getNetworkAddress().getAddress()[i]);
- mask[i] = getInt(range.getSubnetMask().getAddress()[i]);
- }
-
- var netErrors = new Array(4);
- var maskErrors = new Array(4);
-
- var message = "";
-
- for (i = 0; i < 4; i++) {
- netErrors[i] = "false";
- maskErrors[i] = "false";
- }
+ resolve();
+ try {
+ var ipRangeManager = getAccreditableManager().getIPRangeManager();
+ var range;
+ if (newRange == true) {
+ range = new Packages.org.apache.lenya.cms.ac.FileIPRange();
+ }
+ else {
+ range = ipRangeManager.getIPRange(iprangeId);
+ }
+ var name = range.getName();
+ var description = range.getDescription();
+
+ var net = new Array(4);
+ var mask = new Array(4);
- while (true) {
-
- var url;
- if (newRange) {
- url = "ipranges/profile.xml";
- }
- else {
- url = "ipranges/" + iprangeId + "/profile.xml";
- }
-
- sendPageAndWait(url, {
- "iprange-id" : iprangeId,
- "name" : name,
- "description" : description,
- "page-title" : "Edit IP Range",
- "net" : java.util.Arrays.asList(net),
- "net-errors" : java.util.Arrays.asList(netErrors),
- "mask" : java.util.Arrays.asList(mask),
- "mask-errors" : java.util.Arrays.asList(maskErrors),
- "new-iprange" : newRange,
- "message" : message
- });
-
+ for (i = 0; i < 4; i++) {
+ net[i] = getInt(range.getNetworkAddress().getAddress()[i]);
+ mask[i] = getInt(range.getSubnetMask().getAddress()[i]);
+ }
+
+ var netErrors = new Array(4);
+ var maskErrors = new Array(4);
+
+ var message = "";
+
for (i = 0; i < 4; i++) {
netErrors[i] = "false";
maskErrors[i] = "false";
}
- message = "";
+
+ while (true) {
+
+ var url;
+ if (newRange == true) {
+ url = "ipranges/profile.xml";
+ }
+ else {
+ url = "ipranges/" + iprangeId + "/profile.xml";
+ }
+
+ cocoon.sendPageAndWait(url, {
+ "iprange-id" : iprangeId,
+ "name" : name,
+ "description" : description,
+ "page-title" : "Edit IP Range",
+ "net" : java.util.Arrays.asList(net),
+ "net-errors" : java.util.Arrays.asList(netErrors),
+ "mask" : java.util.Arrays.asList(mask),
+ "mask-errors" : java.util.Arrays.asList(maskErrors),
+ "new-iprange" : newRange,
+ "message" : message
+ });
+
+ for (i = 0; i < 4; i++) {
+ netErrors[i] = "false";
+ maskErrors[i] = "false";
+ }
+ message = "";
+
+ if (cocoon.request.get("cancel")) {
+ break;
+ }
+
+ if (cocoon.request.get("submit")) {
+
+ var ok = true;
+
+ // get values from request
+ name = cocoon.request.get("name");
+ description = cocoon.request.get("description");
+ for (i = 0; i < 4; i++) {
+ net[i] = cocoon.request.get("net-" + (i+1));
+ if (!checkIPNumber(net[i])) {
+ netErrors[i] = "true";
+ ok = false;
+ message = "Please correct the errors.";
+ }
+
+ mask[i] = cocoon.request.get("mask-" + (i+1));
+ if (!checkIPNumber(mask[i])) {
+ maskErrors[i] = "true";
+ ok = false;
+ message = "Please correct the errors.";
+ }
+ }
+
+ // initialize new IP range
+ if (newRange == true) {
+ iprangeId = cocoon.request.get("iprange-id");
+ if (ok) {
+ var existingIPRange = ipRangeManager.getIPRange(iprangeId);
+ if (existingIPRange != null) {
+ message = "This IP range already exists.";
+ ok = false;
+ }
+ else if (!Packages.org.apache.lenya.cms.ac.AbstractItem.isValidId(iprangeId)) {
+ message = "This is not a valid IP range ID. [" + iprangeId + "]";
+ ok = false;
+ }
+ else {
+ range = new Packages.org.apache.lenya.cms.ac.FileIPRange(
+ ipRangeManager.getConfigurationDirectory(), iprangeId);
+ ipRangeManager.add(range);
+ }
+ }
+ }
+
+ // save IP range
+ if (ok == true) {
+ range.setName(name);
+ range.setDescription(description);
+ range.setNetworkAddress(getIPString(net));
+ range.setSubnetMask(getIPString(mask));
+ range.save();
+ break;
+ }
+ }
- if (cocoon.request.get("cancel")) {
- break;
}
- if (cocoon.request.get("submit")) {
-
- var ok = true;
-
- // get values from request
- name = cocoon.request.get("name");
- description = cocoon.request.get("description");
- for (i = 0; i < 4; i++) {
- net[i] = cocoon.request.get("net-" + (i+1));
- if (!checkIPNumber(net[i])) {
- netErrors[i] = "true";
- ok = false;
- message = "Please correct the errors.";
- }
-
- mask[i] = cocoon.request.get("mask-" + (i+1));
- if (!checkIPNumber(mask[i])) {
- maskErrors[i] = "true";
- ok = false;
- message = "Please correct the errors.";
- }
- }
-
- // initialize new IP range
- if (newRange) {
- iprangeId = cocoon.request.get("iprange-id");
- if (ok) {
- var existingIPRange = ipRangeManager.getIPRange(iprangeId);
- if (existingIPRange != null) {
- message = "This IP range already exists.";
- ok = false;
- }
- else if (!Packages.org.apache.lenya.cms.ac.AbstractItem.isValidId(iprangeId)) {
- message = "This is not a valid IP range ID. [" + iprangeId + "]";
- ok = false;
- }
- else {
- range = new Packages.org.apache.lenya.cms.ac.FileIPRange(
- ipRangeManager.getConfigurationDirectory(), iprangeId);
- ipRangeManager.add(range);
- }
- }
- }
-
- // save IP range
- if (ok) {
- range.setName(name);
- range.setDescription(description);
- range.setNetworkAddress(getIPString(net));
- range.setSubnetMask(getIPString(mask));
- range.save();
- break;
- }
+ var url;
+ if (newRange == true) {
+ url = "../ipranges.html";
}
-
- }
-
- var url;
- if (newRange) {
- url = "../ipranges.html";
- }
- else {
- url = "index.html";
- }
- sendPage("redirect.html", { "url" : url });
+ else {
+ url = "index.html";
+ }
+ cocoon.sendPage("redirect.html", { "url" : url });
+ }
+ finally {
+ release();
+ }
}
//
@@ -196,39 +202,50 @@
//
function iprange_delete_iprange() {
- var ipRangeManager = getIPRangeManager();
- var ipRangeId = cocoon.request.get("iprange-id");
- var range = ipRangeManager.getIPRange(ipRangeId);
- var name = range.getName();
- var showPage = true;
-
- while (showPage) {
- sendPageAndWait("ipranges/confirm-delete-common.xml", {
- "type" : "IP range",
- "id" : ipRangeId,
- "name" : name
- });
-
- if (cocoon.request.get("submit")) {
- ipRangeManager.remove(range);
- range['delete']();
- showPage = false;
- }
- }
+ resolve();
+ try {
- sendPage("redirect.html", { "url" : "../ipranges.html" });
+ var ipRangeManager = getAccreditableManager().getIPRangeManager();
+ var ipRangeId = cocoon.request.get("iprange-id");
+ var range = ipRangeManager.getIPRange(ipRangeId);
+ var name = range.getName();
+ var showPage = true;
+
+ while (showPage) {
+ cocoon.sendPageAndWait("ipranges/confirm-delete-common.xml", {
+ "type" : "IP range",
+ "id" : ipRangeId,
+ "name" : name
+ });
+
+ if (cocoon.request.get("cancel")) {
+ break;
+ }
+
+ if (cocoon.request.get("submit")) {
+ ipRangeManager.remove(range);
+ range['delete']();
+ showPage = false;
+ }
+ }
+
+ cocoon.sendPage("redirect.html", { "url" : "../ipranges.html" });
+ }
+ finally {
+ release();
+ }
}
//
// Change the group affiliation of an IP range.
//
function iprange_change_groups(iprangeId) {
- var range = getIPRangeManager().getIPRange(iprangeId);
+ var range = getAccreditableManager().getIPRangeManager().getIPRange(iprangeId);
var rangeGroupArray = range.getGroups();
var rangeGroups = new java.util.ArrayList(java.util.Arrays.asList(rangeGroupArray));
- var iterator = getGroupManager().getGroups();
+ var iterator = getAccreditableManager().getGroupManager().getGroups();
var groups = new java.util.ArrayList();
while (iterator.hasNext()) {
var group = iterator.next();
@@ -238,7 +255,7 @@
}
while (true) {
- sendPageAndWait("ipranges/" + iprangeId + "/groups.xml", {
+ cocoon.sendPageAndWait("ipranges/" + iprangeId + "/groups.xml", {
"iprange-id" : iprangeId,
"groups" : groups,
"iprange-groups" : rangeGroups
@@ -246,7 +263,7 @@
var groupId = cocoon.request.get("group");
if (cocoon.request.get("add_group") && groupId != "") {
- var group = getGroupManager().getGroup(groupId);
+ var group = getAccreditableManager().getGroupManager().getGroup(groupId);
if (!rangeGroups.contains(group)) {
rangeGroups.add(group);
groups.remove(group);
@@ -255,7 +272,7 @@
var rangeGroupId = cocoon.request.get("iprange_group");
if (cocoon.request.get("remove_group") && rangeGroupId != "") {
- var group = getGroupManager().getGroup(rangeGroupId);
+ var group = getAccreditableManager().getGroupManager().getGroup(rangeGroupId);
if (rangeGroups.contains(group)) {
rangeGroups.remove(group);
groups.add(group);
1.2 +17 -11 cocoon-lenya/src/webapp/lenya/content/admin/common/access-control.js
Index: access-control.js
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/content/admin/common/access-control.js,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- access-control.js 22 Jul 2003 17:06:41 -0000 1.1
+++ access-control.js 3 Oct 2003 10:52:09 -0000 1.2
@@ -1,17 +1,23 @@
-function getUserManager() {
- return getManager("user");
+function getAccreditableManager() {
+ return accreditableManager;
}
-function getGroupManager() {
- return getManager("group");
-}
+var accreditableManager;
+var selector;
+var resolver;
-function getIPRangeManager() {
- return getManager("iprange");
+function resolve() {
+ selector = cocoon.getComponent("org.apache.lenya.cms.ac2.AccessControllerResolverSelector");
+ resolver = selector.select(Packages.org.apache.lenya.cms.ac2.AccessControllerResolver.DEFAULT_RESOLVER);
+ var requestUrl = cocoon.parameters["requestUri"];
+ var contextPath = cocoon.parameters["contextPath"];
+ var webappUrl = Packages.org.apache.lenya.util.ServletHelper.getWebappURI(contextPath, requestUrl);
+ var accessController = resolver.resolveAccessController(webappUrl);
+ accreditableManager = accessController.getAccreditableManager();
}
-function getManager(type) {
- var manager = cocoon.inputModuleGetAttribute("access-control", type + "-manager");
- return manager;
-}
\ No newline at end of file
+function release() {
+ cocoon.releaseComponent(resolver);
+ cocoon.releaseComponent(selector);
+}
1.8 +192 -161 cocoon-lenya/src/webapp/lenya/content/admin/groups/group-admin.js
Index: group-admin.js
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/content/admin/groups/group-admin.js,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- group-admin.js 7 Aug 2003 14:55:45 -0000 1.7
+++ group-admin.js 3 Oct 2003 10:52:09 -0000 1.8
@@ -4,37 +4,44 @@
//
function group_change_profile(groupId) {
- var groupManager = getGroupManager();
- var group = groupManager.getGroup(groupId);
- var name = group.getName();
- var description = group.getDescription();
-
- // at the moment the loop is executed only once (no form validation)
-
- while (true) {
- sendPageAndWait("groups/" + groupId + "/profile.xml", {
- "group-id" : groupId,
- "name" : name,
- "description" : description,
- "page-title" : "Edit Group"
- });
-
- if (cocoon.request.get("cancel")) {
- break;
+ resolve();
+ try {
+
+ var groupManager = getAccreditableManager().getGroupManager();
+ var group = groupManager.getGroup(groupId);
+ var name = group.getName();
+ var description = group.getDescription();
+
+ // at the moment the loop is executed only once (no form validation)
+
+ while (true) {
+ cocoon.sendPageAndWait("groups/" + groupId + "/profile.xml", {
+ "group-id" : groupId,
+ "name" : name,
+ "description" : description,
+ "page-title" : "Edit Group"
+ });
+
+ if (cocoon.request.get("cancel")) {
+ break;
+ }
+
+ if (cocoon.request.get("submit")) {
+ name = cocoon.request.get("name");
+ group.setName(name);
+ description = cocoon.request.get("description");
+ group.setDescription(description);
+ group.save();
+ break;
+ }
+
}
- if (cocoon.request.get("submit")) {
- name = cocoon.request.get("name");
- group.setName(name);
- description = cocoon.request.get("description");
- group.setDescription(description);
- group.save();
- break;
- }
-
- }
-
- sendPage("redirect.html", { "url" : "index.html" });
+ cocoon.sendPage("redirect.html", { "url" : "index.html" });
+ }
+ finally {
+ release();
+ }
}
@@ -43,80 +50,87 @@
//
function group_change_members(groupId) {
- var userManager = getUserManager();
- var groupManager = getGroupManager();
- var group = groupManager.getGroup(groupId);
-
- var memberArray = group.getMembers();
-
- var groupUsers = new java.util.ArrayList();
- var otherUsers = new java.util.ArrayList();
- var groupMachines = new java.util.ArrayList();
- var otherMachines = new java.util.ArrayList();
-
- for (var i = 0; i < memberArray.length; i++) {
- var member = memberArray[i];
- if (member instanceof Packages.org.apache.lenya.cms.ac.User) {
- groupUsers.add(member);
- }
- if (member instanceof Packages.org.apache.lenya.cms.ac.Machine) {
- groupMachines.add(machine);
- }
- }
-
- var userIterator = userManager.getUsers();
- while (userIterator.hasNext()) {
- var user = userIterator.next();
- if (!groupUsers.contains(user)) {
- otherUsers.add(user);
- }
- }
-
- while (true) {
- sendPageAndWait("groups/" + groupId + "/members.xml", {
- "group-id" : groupId,
- "users" : otherUsers,
- "group-users" : groupUsers,
- "machines" : otherMachines,
- "group-machines" : groupMachines,
- });
-
- var otherUserId = cocoon.request.get("user");
- if (cocoon.request.get("add_user") && otherUserId != "") {
- var user = userManager.getUser(otherUserId);
- if (!groupUsers.contains(user)) {
- groupUsers.add(user);
- otherUsers.remove(user);
- }
- }
+ resolve();
+ try {
+
+ var userManager = getAccreditableManager().getUserManager();
+ var groupManager = getAccreditableManager().getGroupManager();
+ var group = groupManager.getGroup(groupId);
+
+ var memberArray = group.getMembers();
+
+ var groupUsers = new java.util.ArrayList();
+ var otherUsers = new java.util.ArrayList();
+ var groupMachines = new java.util.ArrayList();
+ var otherMachines = new java.util.ArrayList();
+
+ for (var i = 0; i < memberArray.length; i++) {
+ var member = memberArray[i];
+ if (member instanceof Packages.org.apache.lenya.cms.ac.User) {
+ groupUsers.add(member);
+ }
+ if (member instanceof Packages.org.apache.lenya.cms.ac.Machine) {
+ groupMachines.add(machine);
+ }
+ }
- var groupUserId = cocoon.request.get("group_user");
- if (cocoon.request.get("remove_user") && groupUserId != "") {
- var user = userManager.getUser(groupUserId);
- if (groupUsers.contains(user)) {
- groupUsers.remove(user);
- otherUsers.add(user);
- }
- }
-
- if (cocoon.request.get("cancel")) {
- break;
+ var userIterator = userManager.getUsers();
+ while (userIterator.hasNext()) {
+ var user = userIterator.next();
+ if (!groupUsers.contains(user)) {
+ otherUsers.add(user);
+ }
}
- if (cocoon.request.get("submit")) {
- group.removeAllMembers();
-
- var userIterator = groupUsers.iterator();
- while (userIterator.hasNext()) {
- var user = userIterator.next();
- group.add(user);
- user.save();
+ while (true) {
+ cocoon.sendPageAndWait("groups/" + groupId + "/members.xml", {
+ "group-id" : groupId,
+ "users" : otherUsers,
+ "group-users" : groupUsers,
+ "machines" : otherMachines,
+ "group-machines" : groupMachines,
+ });
+
+ var otherUserId = cocoon.request.get("user");
+ if (cocoon.request.get("add_user") && otherUserId != "") {
+ var user = userManager.getUser(otherUserId);
+ if (!groupUsers.contains(user)) {
+ groupUsers.add(user);
+ otherUsers.remove(user);
+ }
+ }
+
+ var groupUserId = cocoon.request.get("group_user");
+ if (cocoon.request.get("remove_user") && groupUserId != "") {
+ var user = userManager.getUser(groupUserId);
+ if (groupUsers.contains(user)) {
+ groupUsers.remove(user);
+ otherUsers.add(user);
+ }
+ }
+
+ if (cocoon.request.get("cancel")) {
+ break;
+ }
+
+ if (cocoon.request.get("submit")) {
+ group.removeAllMembers();
+
+ var userIterator = groupUsers.iterator();
+ while (userIterator.hasNext()) {
+ var user = userIterator.next();
+ group.add(user);
+ user.save();
+ }
+
+ break;
}
-
- break;
}
- }
- sendPage("redirect.html", { "url" : "index.html" });
+ cocoon.sendPage("redirect.html", { "url" : "index.html" });
+ }
+ finally {
+ release();
+ }
}
//
@@ -124,49 +138,55 @@
//
function group_add_group() {
- var groupManager = getGroupManager();
- var groupId = "";
- var name = "";
- var description = "";
- var message = "";
-
- while (true) {
- sendPageAndWait("groups/profile.xml", {
- "page-title" : "Add Group",
- "group-id" : groupId,
- "name" : name,
- "description" : description,
- "message" : message,
- "new-group" : true
- });
+ resolve();
+ try {
+ var groupManager = getAccreditableManager().getGroupManager();
+ var groupId = "";
+ var name = "";
+ var description = "";
+ var message = "";
- if (cocoon.request.get("cancel")) {
- break;
- }
-
- message = "";
- groupId = cocoon.request.get("group-id");
- name = cocoon.request.get("name");
- description = cocoon.request.get("description");
-
- var existingGroup = groupManager.getGroup(groupId);
- if (existingGroup != null) {
- message = "This group already exists.";
- }
- else if (!Packages.org.apache.lenya.cms.ac.AbstractItem.isValidId(groupId)) {
- message = "This is not a valid group ID.";
- }
- else {
- var configDir = groupManager.getConfigurationDirectory();
- var group = new Packages.org.apache.lenya.cms.ac.FileGroup(configDir, groupId);
- group.setName(name);
- group.setDescription(description);
- group.save();
- groupManager.add(group);
- break;
+ while (true) {
+ cocoon.sendPageAndWait("groups/profile.xml", {
+ "page-title" : "Add Group",
+ "group-id" : groupId,
+ "name" : name,
+ "description" : description,
+ "message" : message,
+ "new-group" : true
+ });
+
+ if (cocoon.request.get("cancel")) {
+ break;
+ }
+
+ message = "";
+ groupId = cocoon.request.get("group-id");
+ name = cocoon.request.get("name");
+ description = cocoon.request.get("description");
+
+ var existingGroup = groupManager.getGroup(groupId);
+ if (existingGroup != null) {
+ message = "This group already exists.";
+ }
+ else if (!Packages.org.apache.lenya.cms.ac.AbstractItem.isValidId(groupId)) {
+ message = "This is not a valid group ID.";
+ }
+ else {
+ var configDir = groupManager.getConfigurationDirectory();
+ var group = new Packages.org.apache.lenya.cms.ac.FileGroup(configDir, groupId);
+ group.setName(name);
+ group.setDescription(description);
+ group.save();
+ groupManager.add(group);
+ break;
+ }
}
- }
- sendPage("redirect.html", { "url" : "../groups.html" });
+ cocoon.sendPage("redirect.html", { "url" : "../groups.html" });
+ }
+ finally {
+ release();
+ }
}
//
@@ -174,30 +194,41 @@
//
function group_delete_group() {
- var groupManager = getGroupManager();
- var groupId = cocoon.request.get("group-id");
- var group = groupManager.getGroup(groupId);
- var name = group.getName();
- var showPage = true;
-
- while (showPage) {
- sendPageAndWait("groups/confirm-delete-common.xml", {
- "type" : "group",
- "id" : groupId,
- "name" : name
- });
+ resolve();
+ try {
+
+ var groupManager = getAccreditableManager().getGroupManager();
+ var groupId = cocoon.request.get("group-id");
+ var group = groupManager.getGroup(groupId);
+ var name = group.getName();
+ var showPage = true;
- if (cocoon.request.get("submit")) {
- groupManager.remove(group);
- var members = group.getMembers();
- group['delete']();
- for (var i = 0; i < members.length; i++) {
- members[i].save();
+ while (showPage) {
+ cocoon.sendPageAndWait("groups/confirm-delete-common.xml", {
+ "type" : "group",
+ "id" : groupId,
+ "name" : name
+ });
+
+ if (cocoon.request.get("cancel")) {
+ break;
+ }
+
+ if (cocoon.request.get("submit")) {
+ groupManager.remove(group);
+ var members = group.getMembers();
+ group['delete']();
+ for (var i = 0; i < members.length; i++) {
+ members[i].save();
+ }
+ showPage = false;
}
- showPage = false;
}
- }
-
- sendPage("redirect.html", { "url" : "../groups.html" });
+
+ cocoon.sendPage("redirect.html", { "url" : "../groups.html" });
+ }
+ finally {
+ release();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org