implemented the main community administration menu, took some rough edges

off the menu transitions (on the Find pages)
This commit is contained in:
Eric J. Bowersox 2003-06-16 07:51:15 +00:00
parent ce6136ab9e
commit eb32d42bd7
6 changed files with 54 additions and 12 deletions

View File

@ -1371,7 +1371,7 @@ INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link) VALUES
(5, 0, 'TEXT', 'Home Page', 'SERVLET', 'community/${alias}' ), (5, 0, 'TEXT', 'Home Page', 'SERVLET', 'community/${alias}' ),
(5, 60000, 'TEXT', 'Members', 'SERVLET', 'TODO' ), (5, 60000, 'TEXT', 'Members', 'SERVLET', 'TODO' ),
(5, 60100, 'TEXT', 'Profile', 'SERVLET', 'TODO' ), (5, 60100, 'TEXT', 'Profile', 'SERVLET', 'TODO' ),
(5, 60200, 'TEXT', 'Administration', 'SERVLET', 'TODO' ), (5, 60200, 'TEXT', 'Administration', 'SERVLET', 'comm/admin/main.js.vs?cc=${cid}'),
(5, 60300, 'SEPARATOR', NULL, NULL, NULL ), (5, 60300, 'SEPARATOR', NULL, NULL, NULL ),
(5, 60400, 'TEXT', 'Unjoin', 'SERVLET', 'TODO' ); (5, 60400, 'TEXT', 'Unjoin', 'SERVLET', 'TODO' );
UPDATE menuitems SET perm_nsid = 16, perm_name = 'administration' WHERE menuid = 5 AND sequence = 60200; UPDATE menuitems SET perm_nsid = 16, perm_name = 'administration' WHERE menuid = 5 AND sequence = 60200;
@ -1391,7 +1391,8 @@ UPDATE menuitems SET enable = 0 WHERE menuid = 6 AND sequence = 100;
INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle) INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle)
VALUES (7, 16, 'admin.menu', 'Community Administration:', '${name}'); VALUES (7, 16, 'admin.menu', 'Community Administration:', '${name}');
INSERT INTO menuvars (menuid, var_name, default_val) VALUES INSERT INTO menuvars (menuid, var_name, default_val) VALUES
(7, 'name', NULL); (7, 'name', NULL),
(7, 'cid', NULL);
INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link, perm_nsid, perm_name) VALUES INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link, perm_nsid, perm_name) VALUES
(7, 0, 'TEXT', 'Edit Community Profile', 'SERVLET', 'TODO', 15, 'set.property'); (7, 0, 'TEXT', 'Edit Community Profile', 'SERVLET', 'TODO', 15, 'set.property');

View File

@ -95,23 +95,23 @@ public class LibraryVenice
private final int getCommunityParameter(Request req) throws ValidationException private final int getCommunityParameter(Request req) throws ValidationException
{ {
Map pmap = req.getParameters(); Map pmap = req.getParameters();
String cparam = StringUtils.stringize(pmap.get("cid")); String[] cparam = (String[])(pmap.get("cid"));
if (cparam==null) if (cparam==null)
cparam = StringUtils.stringize(pmap.get("cc")); cparam = (String[])(pmap.get("cc"));
if (cparam==null) if (cparam==null)
cparam = StringUtils.stringize(pmap.get("sig")); cparam = (String[])(pmap.get("sig"));
if (cparam==null) if (cparam==null)
return -1; // completely not-specified return -1; // completely not-specified
try try
{ // get the community ID { // get the community ID
return Integer.parseInt(cparam.trim()); return Integer.parseInt(cparam[0].trim());
} // end try } // end try
catch (NumberFormatException e) catch (NumberFormatException e)
{ // couldn't be parsed as an integer - damn! { // couldn't be parsed as an integer - damn!
ValidationException ve = new ValidationException(LibraryVenice.class,"LibraryMessages","invalid.cid",e); ValidationException ve = new ValidationException(LibraryVenice.class,"LibraryMessages","invalid.cid",e);
ve.setParameter(0,cparam); ve.setParameter(0,cparam[0]);
throw ve; throw ve;
} // end catch } // end catch

View File

@ -0,0 +1,38 @@
// The contents of this file are subject to the Mozilla Public License Version 1.1
// (the "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
//
// Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
// WARRANTY OF ANY KIND, either express or implied. See the License for the specific
// language governing rights and limitations under the License.
//
// The Original Code is the Venice Web Communities System.
//
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
// for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
// Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
//
// Contributor(s):
importPackage(java.lang);
importClass(Packages.com.silverwrist.dynamo.Namespaces);
importPackage(Packages.com.silverwrist.dynamo.except);
importPackage(Packages.com.silverwrist.dynamo.iface);
importPackage(Packages.com.silverwrist.venice.iface);
importPackage(Packages.com.silverwrist.venice.menu);
req = bsf.lookupBean("request");
req_help = bsf.lookupBean("request_help");
user = vlib.getUser(req);
comm = vlib.getCommunity(req);
// Get the menu provider and the menu.
mprov = vcast.queryMenuProvider(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,"venice-menus"));
srm = cast.querySecurityReferenceMonitor(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,"srm"));
aclids = cast.newIntArray(2);
aclids[0] = comm.getAcl().getAclID();
aclids[1] = srm.getGlobalAcl().getAclID();
menu = mprov.getStandardMenu(user,VeniceNamespaces.COMMUNITY_GLOBALS_NAMESPACE,"admin.menu",aclids);
menu.setVariable("name",comm.getName());
menu.setVariable("cid",String.valueOf(comm.getCID()));
dynamo.scriptOutput(menu);

View File

@ -81,6 +81,7 @@ if (rhelp.isVerb("POST"))
if (rc==null) if (rc==null)
{ // create the VelocityView for the output { // create the VelocityView for the output
rc = new VelocityView("Find Categories","find_categories.vm"); rc = new VelocityView("Find Categories","find_categories.vm");
rc.menuSelector = "top";
rc.setParameter("mode",mode.getName()); rc.setParameter("mode",mode.getName());
rc.setParameter("term",term.toString()); rc.setParameter("term",term.toString());
rc.setParameter("ofs",cast.toIntegerObject(ofs)); rc.setParameter("ofs",cast.toIntegerObject(ofs));

View File

@ -129,6 +129,7 @@ else if (use_categories)
if (rc==null) if (rc==null)
{ // create the VelocityView for the output { // create the VelocityView for the output
rc = new VelocityView("Find Communities","find_communities.vm"); rc = new VelocityView("Find Communities","find_communities.vm");
rc.menuSelector = "top";
rc.setParameter("field",field.getName()); rc.setParameter("field",field.getName());
rc.setParameter("mode",mode.getName()); rc.setParameter("mode",mode.getName());
rc.setParameter("term",term.toString()); rc.setParameter("term",term.toString());

View File

@ -84,6 +84,7 @@ if (rhelp.isVerb("POST"))
if (rc==null) if (rc==null)
{ // create the VelocityView for the output { // create the VelocityView for the output
rc = new VelocityView("Find Users","find_users.vm"); rc = new VelocityView("Find Users","find_users.vm");
rc.menuSelector = "top";
rc.setParameter("field",field.getName()); rc.setParameter("field",field.getName());
rc.setParameter("mode",mode.getName()); rc.setParameter("mode",mode.getName());
rc.setParameter("term",term.toString()); rc.setParameter("term",term.toString());