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});
  +}
  +