KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > module > admin > UsersAndRoles


1
2
3  /*
4  -- GeiNuke --
5 Copyright (c) 2005 by Roberto Sidoti [geinuke@users.sourceforge.net]
6  http://www.hostingjava.it/-geinuke/
7
8 This file is part of GeiNuke.
9
10     GeiNuke is free software; you can redistribute it and/or modify
11     it under the terms of the GNU General Public License as published by
12     the Free Software Foundation; either version 2 of the License, or
13     (at your option) any later version.
14
15     GeiNuke is distributed in the hope that it will be useful,
16     but WITHOUT ANY WARRANTY; without even the implied warranty of
17     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18     GNU General Public License for more details.
19
20     You should have received a copy of the GNU General Public License
21     along with GeiNuke; if not, write to the Free Software
22     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 */

24 package com.geinuke.module.admin;
25
26 import java.util.ArrayList JavaDoc;
27
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30
31 import org.apache.velocity.context.Context;
32 import com.geinuke.common.GlobalConfigurationI;
33 import com.geinuke.common.ModuleWidgetI;
34 import com.geinuke.common.NukeModuleI;
35 import com.geinuke.common.UserI;
36 import com.geinuke.middle.IUserBL;
37 import com.geinuke.module.ModuleWriter;
38 import com.geinuke.servlet.GeiServlet;
39 import com.geinuke.util.NukeResource;
40 import com.geinuke.util.Paginator;
41 import com.geinuke.vo.ModuleDBVO;
42 import com.geinuke.vo.RoleVO;
43 import com.geinuke.vo.UserVO;
44
45
46 public class UsersAndRoles implements ModuleWidgetI{
47
48         
49     protected void handleUserRole(HttpServletRequest JavaDoc req,Context ctx,ArrayList JavaDoc roles) throws Exception JavaDoc{
50         String JavaDoc uid=req.getParameter("uid");
51         IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL");
52         UserVO u=ubl.getUserByID( Integer.parseInt(uid) );
53         if(req.getParameter("incR")!=null){
54             int idR= Integer.parseInt( req.getParameter("incR") );
55             int pos=NukeResource.getRolePositionByRoleName(u.getRole(),roles);
56             if(pos>=0){
57                 pos=(pos+1)%roles.size();
58                 u.setRole( (RoleVO)roles.get(pos) );
59                 ubl.updateUserRole(u);
60             }
61         }else if(req.getParameter("decR")!=null){
62             int idR= Integer.parseInt( req.getParameter("decR") );
63             int pos=NukeResource.getRolePositionByRoleName(u.getRole(),roles);
64             if(pos>=0){
65                 pos=pos-1;
66                 if(pos<0)
67                     pos=roles.size()-1;
68                 u.setRole( (RoleVO)roles.get(pos) );
69                 ubl.updateUserRole(u);
70             }
71         }
72     
73     }
74     
75     public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res, UserI user, GlobalConfigurationI gConf) throws Exception JavaDoc {
76         
77         String JavaDoc moduleTempName=null,error=null,p=null;
78         ArrayList JavaDoc users=null;
79         IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL");
80         p=req.getParameter("p");
81         
82         ArrayList JavaDoc roles=ubl.getAllRoles();
83         if(p!=null && p.equals("mUser")){
84             this.handleUserRole(req,ctx,roles);
85         }
86         
87         users=ubl.getAllUsers();
88         String JavaDoc pag=req.getParameter("wp");
89         Paginator pager=new Paginator(users,5,"Admin.jhtm?"+req.getQueryString());
90         if(pag!=null){
91             users=pager.getPage(Integer.parseInt(pag));
92         }else{
93             users=pager.getPage(1);
94         }
95         //Paginator pager=new Paginator(users,5,"Admin.jhtml?"+req.getQueryString());
96

97         ctx.put("roles",roles);
98         ctx.put("pag",pager);
99         
100         ctx.put("users",users);
101         moduleTempName=gConf.getModulePage(module.getName(),req);
102         return ModuleWriter.fill(ctx,module,moduleTempName);
103         
104     }
105
106 }
Popular Tags