/*
====================================================================
Project Name: bugtracker
File Name: /src/com/espada/bugtracker/servlets/UpdateRoles.java
Author: Kishan Peiris <kishan@espadanet.com>
Description: Update user/roles on a selected project
CVS Repository: goliath:/projects/repository/cvsroot/
CVS Module: bugtracker
Version: CVS $Id: UpdateRoles.java,v 1.4 2001/04/16 06:45:47 manik Exp $
====================================================================
====================================================================
Copyright (C) 2001, Silk Road (Pvt.) Ltd.
====================================================================
*/
package com.espada.bugtracker.servlets;
import com.sr.espada.se.util.config.*;
import com.sr.espada.se.util.logwriter.*;
import java.util.*;
// webmacro resources
import org.webmacro.*;
import org.webmacro.broker.*;
import org.webmacro.resource.*;
import org.webmacro.servlet.WebContext;
// servlet libraries
import javax.servlet.http.*;
import javax.servlet.*;
// bugtracker java apps
import com.espada.bugtracker.app.*;
public class UpdateRoles extends BTServlet
{
/** the default template to use **/
public String getInitialTemplate(){
return("assignProjects.wm");
}
/**************************** Start Of Method updateRoles ********************************************/
/** List all available projects...*/
private void updateRoles(HttpServletRequest request, HttpServletResponse response, WebContext c)
{
HttpSession session = request.getSession();
boolean loggedIn=false;
LogWriter.write("The value of loggedIn is " + loggedIn);
try
{
loggedIn = ( (String) session.getAttribute("loggedIn") ).equalsIgnoreCase("true");
LogWriter.write("The value of loggedIn is " + loggedIn);
}
catch (NullPointerException npexLI)
{
LogWriter.write("session attrib loggedIn seems to be a Knull.");
// do nothing! It measn the user is not logged in for some odd reason.
}
LogWriter.write("The value of loggedIn is " + loggedIn);
int proId = 0;
if(loggedIn)
{
defaultTemplate = "assignProjects.wm";
int UID = ( (Integer)session.getAttribute("UID") ).intValue();
proId = Integer.parseInt(request.getParameter("proId"));
c.put("USER",session.getAttribute("USER"));
int uId, rId;
Roles role = new Roles();
for (int i=0; i< Integer.parseInt(request.getParameter("numUsers")); i++)
{
try {
if (request.getParameter("roleId" + i) != request.getParameter("origRole" + i)) // why waste time with this user if nothing has changed?
{
rId=Integer.parseInt(request.getParameter("roleId" + i));
uId=Integer.parseInt(request.getParameter("userId" + i));
if (rId == 1)
{
new User(uId).makeAdmin();
}
else
{
role.update( uId, proId, rId );
}
}
}
catch (NullPointerException npex)
{
// do nothing. This means that the user didnt have the auth to change any values here. :-)
// continue on with next user in loop. - Manik (Apr, 2001)
}
}
defaultTemplate = "errorMesg.wm"; // NOT really an error!! Just an alert that user roles were updated.
c.put("errorId","18");
c.put("proId",String.valueOf(proId));
}
else
{
defaultTemplate = "errorMesg.wm";
c.put("errorId","9");
}
c.put("loggedIn",String.valueOf(loggedIn));
c.put("USER",session.getAttribute("USER"));
c.put("myRoleId",session.getAttribute("USERROLE") );
} //end of method
protected void doAction(HttpServletRequest req, HttpServletResponse resp, WebContext c){
if( req.getParameter("actionType").equals("Delete") )
{
new User(Integer.parseInt(req.getParameter("userToDel"))).delUserProject(Integer.parseInt(req.getParameter("proId")));
HttpSession session = req.getSession();
c.put("loggedIn",session.getAttribute("loggedIn"));
c.put("USER",session.getAttribute("USER"));
c.put("myRoleId",session.getAttribute("USERROLE") );
c.put("errorId","21");
c.put("proId",req.getParameter("proId"));
defaultTemplate = "errorMesg.wm";
}
else
{
updateRoles(req,resp,c);
}
}
} //end of class
|