head	1.5;
access;
symbols
	TIGRIS_NOV_12_2000:1.4
	OLDHELM:1.4.0.4
	TIGRIS_NOV_11_2000:1.4
	TIGRIS_SEP_13_2000:1.4.0.2
	TIGRIS_BASELINE:1.4;
locks; strict;
comment	@# @;


1.5
date	2000.11.12.23.09.15;	author dlr;	state dead;
branches;
next	1.4;

1.4
date	2000.09.20.03.13.14;	author brian;	state Exp;
branches;
next	1.3;

1.3
date	2000.06.22.23.39.30;	author dlr;	state Exp;
branches;
next	1.2;

1.2
date	2000.02.03.04.21.31;	author jrobbins;	state Exp;
branches;
next	1.1;

1.1
date	2000.01.30.01.59.36;	author jrobbins;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Does not exist in newhelm.
@
text
@/* ================================================================
 * Copyright (c) 2000 Collab.Net.  All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 * 
 * 1. Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 * 
 * 2. Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * 
 * 3. The end-user documentation included with the redistribution, if
 * any, must include the following acknowlegement: "This product includes
 * software developed by Collab.Net (http://www.Collab.Net/)."
 * Alternately, this acknowlegement may appear in the software itself, if
 * and wherever such third-party acknowlegements normally appear.
 * 
 * 4. The hosted project names must not be used to endorse or promote
 * products derived from this software without prior written
 * permission. For written permission, please contact info@@collab.net.
 * 
 * 5. Products derived from this software may not use the "Tigris" name
 * nor may "Tigris" appear in their names without prior written
 * permission of Collab.Net.
 * 
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL COLLAB.NET OR ITS CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * ====================================================================
 * 
 * This software consists of voluntary contributions made by many
 * individuals on behalf of Collab.Net.
 */


package org.tigris.helm.admin;

import org.webmacro.util.*;
import org.webmacro.servlet.*;
import org.webmacro.engine.*;
import org.webmacro.broker.*;

import javax.servlet.*;
import javax.servlet.http.*;

import java.sql.*;

import org.joist.security.PermissionSet;
import org.joist.security.RedirectException;
import org.joist.security.SecureServlet;
import org.joist.session.SessionManager;
import org.joist.database.DataManager;
import org.joist.database.UserManager;

import org.tigris.helm.tool.TigrisUpdate;
import org.tigris.helm.tool.UpdateException;
import org.tigris.helm.database.ModuleManager;
import org.tigris.helm.database.TUserManager;


/**
 * Delete a module
 */

public class ModuleDelete extends SecureServlet {

  static private Log log = new Log("modDel", "ModuleDelete");
  static private boolean debug = true;


  protected String processRequest(Connection connection, WebContext context)
    throws HandlerException, RedirectException
  {
    if (debug) log.debug("module delete step -1");
    String templateName = super.processRequest(connection, context);
    // super sets $UserName, Cancel
    if (debug) log.debug("module delete step 0");

    // Get the userID and permissions of the person who logged in.
    String loginUserID = (String)context.get("loginUserID");
    PermissionSet userPerms = (PermissionSet)context.get("UserPermissions");
    SessionManager sMgr = getSessionManager(context);
    TUserManager uMgr = (TUserManager)
        sMgr.getDataManager().getManager("org.tigris.helm.database.TUserManager");
        
    String project = context.getForm("project");
    if (project == null)
      redirectToError(context, "ModuleDelete: No project specified");
    context.put("project", project);

    String module = context.getForm("module");
    if (module == null)
	    redirectToError(context, "ModuleDelete: No module specified");
    context.put("module", module);

    boolean isModuleOwner = false;
    context.put("isModuleOwner", Boolean.FALSE);

    if (debug) log.debug("module delete step 1");
    String userID = "";
    String loginID = "";

    try {
	userID = sMgr.getUserID();
	if (debug) log.debug("now userID=" + userID );
	loginID = uMgr.getLoginID(connection, userID);
	context.put("loginID", loginID);
	if (debug) log.debug("now loginID=" + loginID );
    }
    catch (SQLException e) {
	log.exception(e);
	String message = e.getMessage();
	if (debug) log.debug(message);
	context.put("message", "got an SQLException");
    }
    catch (TUserManager.NoSuchUserException e) {
	log.exception(e);
	String message = e.getMessage();
	if (debug) log.debug(message);
	context.put("message", "got an NoSuchUserException");
    }

    
    try {
	isModuleOwner = uMgr.isModuleOwner(connection,
					   loginID, project,
					   module);
	context.put("isModuleOwner",
		    isModuleOwner ? Boolean.TRUE : Boolean.FALSE);
    }
    catch (SQLException e) {
      log.exception(e);
      String message = e.getMessage();
      if (debug) log.debug(message);
    }
    catch (TUserManager.NoSuchUserException e) {
      log.exception(e);
      String message =  e.getMessage();
      if (debug) log.debug(message);
    }


    // Determine which button was pushed
    String action = (String) context.get("action");

    try {
      if (action.equals("Confirm Delete") && isModuleOwner) {
        ModuleManager.deleteModule(connection, project, module);
        redirectTo("ProjectEdit");
      }
    }
    catch (SQLException e) {
      log.exception(e);
      String message = "ModuleDelete: " + e.getMessage();
      if (debug) log.debug(message);
      throw new HandlerException(e.getMessage());
    }
    catch (UpdateException e) {
      log.exception(e);
      String message = "ModuleDelete: " + e.getMessage();
      if (debug) log.debug(message);
      throw new HandlerException(e.getMessage());
    }

       
    return templateName;
  }
    
} /* end class ModuleDelete */
@


1.4
log
@
Obtained from:
Submitted by:
Reviewed by:

Moved from org.helm to org.tigris.helm
Moved from org/helm to org/tigris/helm

perl -pi.bak -e, how I love thee

note: this update was done POST-CVS-REPOSITORY surgury.  In order to
get this right, you may need to remove the directories

$CVSROOT/helm/java/org/helm
$CVSROOT/helm/data/htdoc/look/www/org/helm
$CVSROOT/helm/templates/org/helm

before doing the "CVS update" call, since those directories don't
exist anymore and CVS will try to create lockfiles for you in them,
giving you an error.
@
text
@@


1.3
log
@Switched from DataManager.getXxxManger() API to DataManager.getManager("xxx.xxx.xxx").  Please note that this has the possiblity of introducing minor bugs if I did not type all the fully qualified class names properly.
@
text
@d48 1
a48 1
package org.helm.admin;
d67 4
a70 4
import org.helm.tool.TigrisUpdate;
import org.helm.tool.UpdateException;
import org.helm.database.ModuleManager;
import org.helm.database.TUserManager;
d96 1
a96 1
        sMgr.getDataManager().getManager("org.helm.database.TUserManager");
@


1.2
log
@Added tigris.org license
PR:
Obtained from:
Submitted by:
Reviewed by:
@
text
@d95 2
a96 2
    DataManager dMgr = sMgr.getDataManager();
    TUserManager uMgr = (TUserManager) dMgr.getUserManager();
@


1.1
log
@initial checking
@
text
@d1 46
a46 1
// Copyright (c) 2000 Collab.Net, Inc. All Rights Reserved.
@

