1 package de.webman.acl.eventhandler; 2 3 import java.util.*; 4 5 import com.teamkonzept.web.*; 6 import com.teamkonzept.lib.*; 7 import com.teamkonzept.webman.*; 8 import com.teamkonzept.webman.mainint.*; 9 import com.teamkonzept.webman.mainint.events.*; 10 import de.webman.acl.*; 11 12 17 public class ACUserGrantRightEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants 18 { 19 private ACUserGrantRightEventHandler() {} 20 21 private static ACUserGrantRightEventHandler instance = new ACUserGrantRightEventHandler(); 22 23 public static ACUserGrantRightEventHandler getInstance() 24 { 25 return instance; 26 } 27 28 public void handleEvent(TKEvent evt) throws TKException 29 { 30 try { 31 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.ACCESS_CONTROL); 32 String loginId = evt.getParameter( PARAMETER, "LOGIN_ID" ); 33 String contextId = evt.getParameter( PARAMETER, "CONTEXT_ID" ); 34 String roleId = evt.getParameter( PARAMETER, "ROLE_ID" ); 35 String source = evt.getParameter( PARAMETER, "SOURCE" ); 36 37 Login theUser = null; 38 Context theContext = null; 39 Role theRole = null; 40 41 if (loginId.length() > 0) { 42 theUser = LoginFactory.getInstance().getLogin(new Integer (loginId)); 43 } 44 if (contextId.length() > 0) { 45 theContext = ContextFactory.getInstance().getContext(new Integer (contextId)); 46 } 47 if (roleId.length() > 0) { 48 theRole = RoleFactory.getInstance().getRole(new Integer (roleId)); 49 } 50 if (theUser != null && theRole != null && theContext != null) 51 { 52 PolicyFactory.getInstance().createPolicy(theUser, 53 theRole, 54 theContext, 55 null, 56 null, 57 true); 58 } 59 TKHTMLTemplate t = null; 60 if (source.equals("USER")) 61 { 62 t = evt.getPrepHTMLTemplate( "f_ac_user.tmpl" ); 63 HTMLUtils.fillFrameSet( t, HTMLUtils.LEFT_FRAME_WIDTH, "AC_USER_LIST", "AC_USER_EDIT" ); 64 t.set("USER_ID", loginId); 65 } 66 else if (source.equals("GROUP")) 67 { 68 t = evt.getPrepHTMLTemplate( "f_ac_group.tmpl" ); 69 HTMLUtils.fillFrameSet( t, HTMLUtils.LEFT_FRAME_WIDTH, "AC_GROUP_LIST", "AC_GROUP_EDIT" ); 70 t.set("GROUP_ID", loginId); 71 } 72 String editPage = evt.getParameter(PARAMETER, "EDIT_PAGE"); 73 t.set("EDIT_PAGE", (editPage == null ? "1" : editPage)); 74 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL); 75 evt.finishTemplate( t ); 76 77 } catch (Throwable e) { 78 throw WebmanExceptionHandler.getException(e); 79 } 80 } 81 82 public boolean isHandler(TKEvent evt) 83 { 84 return evt.getName().equalsIgnoreCase( "AC_USER_GRANT_RIGHT" ); 85 } 86 87 } 88 | Popular Tags |