head	1.4;
access;
symbols
	TIGRIS_0_9_2_4:1.1
	TIGRIS_0_9_2_3:1.1
	HELM_PEER_PORT_BRANCH:1.3.0.2
	TURBINE_PEER:1.3
	TIGRIS_0_9_2_1:1.3
	TIGRIS_0_9_2:1.1.0.4
	TIGRIS_0_9_0:1.1.0.2;
locks; strict;
comment	@# @;


1.4
date	2001.02.21.03.44.23;	author edk;	state dead;
branches;
next	1.3;

1.3
date	2001.01.26.18.29.04;	author edk;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2001.01.26.05.24.06;	author edk;	state dead;
branches;
next	1.1;

1.1
date	2000.12.19.20.40.00;	author elicia;	state Exp;
branches;
next	;

1.3.2.1
date	2001.01.28.01.02.18;	author dlr;	state dead;
branches;
next	;


desc
@@


1.4
log
@these appear to have been renamed to ProjectNewsApproval
@
text
@/* ================================================================
 * Copyright (c) 2000 CollabNet.  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 CollabNet.
 */

package org.tigris.helm.project;

import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

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

import com.workingdogs.village.*;

import org.joist.*;
import org.joist.util.*;
import org.joist.session.*;
import org.joist.security.RedirectException;
import org.joist.database.JoistDatabaseException;

import org.tigris.helm.security.HelmServlet;
import org.tigris.helm.security.AccessControlList;
import org.tigris.helm.domain.*;

public class NewsItemApprove extends org.tigris.helm.security.HelmServlet {
    public static final  String versionID = "$Id: NewsItemApprove.java,v 1.3 2001/01/26 18:29:04 edk Exp $";
    private static Log log = new Log("NewsItemApprove", "NewsItemApprove");
    private static boolean debug = true;

    /**
     * Process requests for project approval.
     */
    protected String processRequest (Connection connection, WebContext context)
	    throws HandlerException, RedirectException
    {
	    if (debug) log.info("NewsItemApprove: started!");

	    String templateName = super.processRequest(connection, context);
	
	    String action = (String)context.get("action");
	    if (debug) log.info("NewsItemApprove: action=" + action );

	    try
	    {
            boolean validAction = false;

            if (action.equals("none"))
            {
                validAction = true;
            }

            if (action.equals("Perform Actions"))
	        {
	        	validAction = true;
                User loginUser = getLoginUser(context);
		        Enumeration paramNames =
                    context.getRequest().getParameterNames();
		        String paramName;
		        while (paramNames.hasMoreElements())
		        {
		            paramName = (String) paramNames.nextElement();
		            if (debug) log.info("NewsItemApprove: param name=" + paramName);
		            if (paramName.startsWith("action_"))
		            {
			            String desiredAction = context.getForm(paramName);
			            if (debug) log.info("NewsItemApprove: desired action="
			               + desiredAction);
			            String newsID = paramName.substring(7);
                        if (debug) log.info("newsID=" + newsID);

                        AccessControlList acl = getACL(context, connection);
                        NewsItem newsItem = 
                            new NewsItem(connection, dMgr, newsID);

			            if (desiredAction.equals("Approve"))
			            {
			               newsItem.approve(acl);
			            }
			            if (desiredAction.equals("Disapprove"))
			            {
                           newsItem.disapprove(acl);
			            }
		            }
		        }
                Project currentProject = getCurrentProject(context);
                String url = currentProject.getProjectPageURL("ProjectNews").toString();
		        redirectToURL(context, url);
	        } 

            if (!validAction) redirectToUnauthorized();
	    } 
        catch (RedirectException e)
        {
           throw e;
        }
        catch (Exception e)
        {
	       log.exception(e);
	       String message = "ProjectIssues: " + e.getMessage();
	       if (debug) log.debug(message);
	       context.put("message", message);
        }

        if (debug) log.info("NewsItemApprove:  done");

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


1.3
log
@readding all the files as part of the process of returning to the way
things were as of tuesday
@
text
@d71 1
a71 1
    public static final  String versionID = "$Id: NewsItemApprove.java,v 1.1 2000/12/19 20:40:00 elicia Exp $";
@


1.3.2.1
log
@Porting to the Turbine Peer system.  -dlr and leonardr
@
text
@d71 1
a71 1
    public static final  String versionID = "$Id: NewsItemApprove.java,v 1.3 2001/01/26 18:29:04 edk Exp $";
@


1.2
log
@revert this stuff to its state as of 2001/01/24 12:42:00 GMT -- with
the following exceptions, which have some different modifications so
they'll work with changes which have happened in joist:

ProjectNewsEdit.java
SkinManager.java
SkinStyleElementValueManager.java
StyleElementManager.java
StyleManager.java

it compiles.  i dunno if it works, though.
@
text
@@


1.1
log
@initial revision
@
text
@d71 1
a71 1
    public static final  String versionID = "$Id: NewsItemApprove.java,v 1.4 2000/11/28 19:57:14 leonardr Exp $";
@

