You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by un...@apache.org on 2003/12/14 16:55:33 UTC
cvs commit: cocoon-2.1/src/blocks/slide/samples flow.js
unico 2003/12/14 07:55:33
Modified: src/blocks/slide/samples flow.js
Log:
major refactoring admin samples continued
I was having conflicts due to line ending cleaning hopefully not overwriting that again.
Revision Changes Path
1.4 +114 -46 cocoon-2.1/src/blocks/slide/samples/flow.js
Index: flow.js
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/slide/samples/flow.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- flow.js 12 Dec 2003 05:13:01 -0000 1.3
+++ flow.js 14 Dec 2003 15:55:33 -0000 1.4
@@ -1,40 +1,21 @@
importPackage(Packages.org.apache.cocoon.components.slide);
+importPackage(Packages.org.apache.cocoon.samples.slide);
importPackage(Packages.org.apache.cocoon.components.source.helpers);
importPackage(Packages.org.apache.excalibur.source);
+importPackage(Packages.org.apache.excalibur.xml.dom);
var repository = cocoon.getComponent("org.apache.cocoon.components.repository.SourceRepository");
-var provider = cocoon.getComponent(PrincipalProvider.ROLE + "Selector").select("slide");
var resolver = cocoon.getComponent(SourceResolver.ROLE);
+var slide = cocoon.getComponent(SlideRepository.ROLE);
+var nat = slide.getNamespaceToken("cocoon");
// ---------------------------------------------- utility functions
function getBaseURI() {
var namespace = cocoon.parameters["namespace"];
var caller = cocoon.parameters["caller"];
- return "slide://" + caller + "@" + namespace;
-}
-
-function getParentPath() {
- var parentPath = cocoon.request.getParameter("parentPath");
- if (!parentPath.lastIndexOf('/') != parentPath.length-1) {
- parentPath = parentPath + "/";
- }
- return parentPath;
-}
-
-function getResourcePath() {
- return cocoon.request.getParameter("resourcePath");
-
-}
-
-// ---------------------------------------------- authentication
-
-function authenticate() {
- var userid = cocoon.request.getParameter("userid");
- var password = cocoon.request.getParameter("password");
- // TODO: if (password = correct) ..
- cocoon.sendPage("authentication",{id:userid,role:"root"});
+ return "slide://" + caller + "@" + namespace + "/";
}
// ---------------------------------------------- file management
@@ -42,42 +23,42 @@
// make a new collection
function public_mkcol() {
var baseUri = getBaseURI();
- var parentPath = getParentPath();
+ var parentPath = cocoon.request.getParameter("parentPath");
var collectionName = cocoon.request.getParameter("collectionName");
var location = baseUri + parentPath + collectionName;
var status = repository.makeCollection(location);
- cocoon.redirectTo("content" + parentPath);
+ cocoon.redirectTo("content/" + parentPath);
}
// upload a file
function public_upload() {
var baseUri = getBaseURI();
- var parentPath = getParentPath();
+ var parentPath = cocoon.request.getParameter("parentPath");
var resourceName = cocoon.request.getParameter("resourceName");
var dest = baseUri + parentPath + resourceName;
var src = "upload://uploadFile";
var status = repository.save(src,dest);
- cocoon.redirectTo("content" + parentPath);
+ cocoon.redirectTo("content/" + parentPath);
}
// delete a resource
function public_delete() {
var baseUri = getBaseURI();
- var parentPath = getParentPath();
+ var parentPath = cocoon.request.getParameter("parentPath");
var resourceName = cocoon.request.getParameter("resourceName");
var location = baseUri + parentPath + resourceName;
var status = repository.remove(location);
- cocoon.redirectTo("content" + parentPath);
+ cocoon.redirectTo("content/" + parentPath);
}
// ---------------------------------------------- property management
function public_addproperty() {
var baseUri = getBaseURI();
- var resourcePath = getResourcePath();
+ var resourcePath = cocoon.request.getParameter("resourcePath");
var location = baseUri + resourcePath;
var source = null;
try {
@@ -94,12 +75,12 @@
resolver.release(source);
}
}
- cocoon.redirectTo("properties" + resourcePath);
+ cocoon.redirectTo("properties/" + resourcePath);
}
function public_removeproperty() {
var baseUri = getBaseURI();
- var resourcePath = getResourcePath();
+ var resourcePath = cocoon.request.getParameter("resourcePath");
var location = baseUri + resourcePath;
var source = null;
try {
@@ -113,14 +94,14 @@
resolver.release(source);
}
}
- cocoon.redirectTo("properties" + resourcePath);
+ cocoon.redirectTo("properties/" + resourcePath);
}
// ---------------------------------------------- lock management
function public_removelock() {
var baseUri = getBaseURI();
- var resourcePath = getResourcePath();
+ var resourcePath = cocoon.request.getParameter("resourcePath");
var subject = cocoon.request.getParameter("subject");
var location = baseUri + resourcePath;
@@ -128,12 +109,12 @@
// TODO: remove lock
- cocoon.redirectTo("locks" + resourcePath);
+ cocoon.redirectTo("locks/" + resourcePath);
}
function public_addlock() {
var baseUri = getBaseURI();
- var resourcePath = getResourcePath();
+ var resourcePath = cocoon.request.getParameter("resourcePath");
var subject = cocoon.request.getParameter("subject");
var type = cocoon.request.getParameter("type");
var inheritable = cocoon.request.getParameter("inheritable");
@@ -144,7 +125,7 @@
// TODO: add lock
- cocoon.redirectTo("locks" + resourcePath);
+ cocoon.redirectTo("locks/" + resourcePath);
}
// ---------------------------------------------- user management
@@ -154,8 +135,8 @@
var password = cocoon.request.getParameter("password");
var role = cocoon.request.getParameter("role");
var caller = cocoon.parameters["caller"];
-
- provider.addPrincipal(new Principal(caller),new Principal(username,role,password));
+
+ AdminHelper.addUser(nat,caller,username,password,role);
cocoon.redirectTo("users/");
}
@@ -163,22 +144,109 @@
var username = cocoon.request.getParameter("username");
var caller = cocoon.parameters["caller"];
- provider.removePrincipal(new Principal(caller),new Principal(username));
+ AdminHelper.removeUser(nat,caller,username);
cocoon.redirectTo("users/");
}
function public_addgroup() {
var groupname = cocoon.request.getParameter("groupname");
var caller = cocoon.parameters["caller"];
-
- provider.addPrincipalGroup(new Principal(caller),new PrincipalGroup(groupname));
- cocoon.sendPage("users/",null);
+
+ AdminHelper.addGroup(nat,caller,groupname);
+ cocoon.redirectTo("users/");
}
function public_removegroup() {
var groupname = cocoon.request.getParameter("groupname");
var caller = cocoon.parameters["caller"];
- provider.removePrincipalGroup(new Principal(caller),new PrincipalGroup(groupname));
- cocoon.sendPage("users/",null);
+ AdminHelper.removeGroup(nat,caller,groupname);
+ cocoon.redirectTo("users/");
+}
+
+function public_addmember() {
+ var username = cocoon.request.getParameter("username");
+ var groupname = cocoon.request.getParameter("groupname");
+ var caller = cocoon.parameters["caller"];
+
+ AdminHelper.addGroupMember(nat,caller,groupname,username);
+ cocoon.redirectTo("users/");
+}
+
+function public_removemember() {
+ var username = cocoon.request.getParameter("username");
+ var groupname = cocoon.request.getParameter("groupname");
+ var caller = cocoon.parameters["caller"];
+
+ AdminHelper.removeGroupMember(nat,caller,groupname,username);
+ cocoon.redirectTo("users/");
+}
+
+// ---------------------------------------------- permission management
+
+function public_removePermission() {
+ var caller = cocoon.parameters["caller"];
+ var resourcePath = cocoon.request.getParameter("resourcePath");
+ var subject = cocoon.request.getParameter("subject");
+ var action = cocoon.request.getParameter("action");
+
+ AdminHelper.removePermission(nat,caller,resourcePath,subject,action);
+ cocoon.redirectTo("permissions/" + resourcePath);
+}
+
+function public_addPermission() {
+ var caller = cocoon.parameters["caller"];
+ var resourcePath = cocoon.request.getParameter("resourcePath");
+ var subject = cocoon.request.getParameter("subject");
+ var action = cocoon.request.getParameter("action");
+ var inheritable = cocoon.request.getParameter("inheritable");
+ var negative = cocoon.request.getParameter("negative");
+
+ AdminHelper.addPermission(nat,caller,resourcePath,subject,action,inheritable,negative);
+ cocoon.redirectTo("permissions/" + resourcePath);
+}
+
+// ---------------------------------------------- screens
+
+function screen_authenticate() {
+ var userid = cocoon.request.getParameter("userid");
+ var password = cocoon.request.getParameter("password");
+ cocoon.sendPage("screens/authentication.jx",{id:userid,role:"root"});
}
+
+function screen_permissions() {
+ var caller = cocoon.parameters["caller"];
+ var path = cocoon.parameters["path"];
+
+ var permissions = AdminHelper.listPermissions(nat,caller,path);
+ cocoon.sendPage("screens/permissions.jx",{permissions:permissions});
+}
+
+function screen_actions() {
+ var caller = cocoon.parameters["caller"];
+
+ var actions = AdminHelper.listActions(nat,caller);
+ cocoon.sendPage("screens/actions.jx",{actions:actions});
+}
+
+function screen_groups() {
+ var caller = cocoon.parameters["caller"];
+
+ var groups = AdminHelper.listGroups(nat,caller);
+ cocoon.sendPage("screens/groups.jx",{groups:groups});
+}
+
+function screen_roles() {
+ var caller = cocoon.parameters["caller"];
+
+ var roles = AdminHelper.listRoles(nat,caller);
+ cocoon.sendPage("screens/roles.jx",{roles:roles});
+}
+
+function screen_users() {
+ var caller = cocoon.parameters["caller"];
+
+ var users = AdminHelper.listUsers(nat,caller);
+ cocoon.sendPage("screens/users.jx",{users:users});
+}
+