17,6 → 17,7 |
import org.apache.struts.action.ActionError; |
|
import ak.strutsx.RequestUtilsX; |
import ak.strutsx.ErrorHandlerX; |
import ak.backpath.BackPath; |
|
import ak.hostcaptain.util.StringConverter; |
27,7 → 28,17 |
|
public final class UserAction |
extends Action |
implements ErrorHandlerX |
{ |
public void handleErrors(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
{ |
if("submit".equals(mapping.getParameter())) { |
initUserList(request); |
} |
} |
|
public ActionForward execute(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
52,9 → 63,13 |
} |
else { |
User u = UserManager.getInstance().get(userId); |
showForm.set("login", u.getLogin()); |
showForm.set("login", u.getLogin()); |
if(u.getBoss() != null) |
showForm.set("boss", StringConverter.toString(u.getBoss().getId())); |
showForm.set("superuser", u.getSuperuser()); |
} |
|
initUserList(request); |
return mapping.findForward("default"); |
} |
else if("delete".equals(mapping.getParameter())) { |
88,7 → 103,14 |
u = UserManager.getInstance().get(userId); |
} |
|
u.setLogin((String)theForm.get("login")); |
u.setLogin((String)theForm.get("login")); |
|
Long bossId = StringConverter.parseLong(theForm.get("boss")); |
if(bossId == null) |
u.setBoss(UserManager.getInstance().get(bossId)); |
|
if(!user.equals(u)) // do not allow user to change own superuser status |
u.setSuperuser((Boolean)theForm.get("superuser")); |
|
if(password != null && !password.equals("")) |
u.setNewPassword(password); |
101,4 → 123,12 |
throw new Exception("unknown mapping parameter"); |
} |
} |
|
private void initUserList(HttpServletRequest request) |
throws Exception |
{ |
List list = new ArrayList(UserManager.getInstance().listUsers()); |
Collections.sort(list, UserManager.LOGIN_COMPARATOR); |
request.setAttribute("users", list); |
} |
} |