Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 914 → Rev 915

/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/InetDomainAction.java
35,7 → 35,8
throws Exception
{
if("submit".equals(mapping.getParameter())) {
initUserList(request);
User user = (User)request.getSession().getAttribute("user");
initUserList(request, user);
}
}
 
72,7 → 73,7
showForm.set("comment", domain.getComment());
}
 
initUserList(request);
initUserList(request, user);
return mapping.findForward("default");
}
else if("delete".equals(mapping.getParameter())) {
97,7 → 98,7
}
 
domain.setName((String)theForm.get("name"));
domain.setOwner(UserManager.getInstance().get(
domain.setOwner(UserManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("owner"))));
 
domain.setEnabled((Boolean)theForm.get("enabled"));
112,10 → 113,10
}
}
 
private void initUserList(HttpServletRequest request)
private void initUserList(HttpServletRequest request, User user)
throws Exception
{
List list = new ArrayList(UserManager.getInstance().listUsers());
List list = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(list, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", list);
}
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/ChangePasswordAction.java
35,7 → 35,7
 
if(user.checkPassword((String)theForm.get("oldpassword"))) {
user.setNewPassword((String)theForm.get("password"));
UserManager.getInstance().save(user);
UserManager.getInstance().save(user, user); // FIXME: allow user to change own password
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl());
return null;
}
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/MailboxAction.java
21,6 → 21,8
import ak.backpath.BackPath;
 
import ak.hostcaptain.util.StringConverter;
import ak.hostcaptain.util.UserException;
import ak.hostcaptain.core.CoreResources;
import ak.hostcaptain.core.model.User;
import ak.hostcaptain.core.model.UserManager;
import ak.hostcaptain.core.model.Mailbox;
63,7 → 65,9
this, request, "ak.hostcaptain.core.form.MailboxEditForm");
 
if(boxId == null) {
showForm.set("enabled", new Boolean(true));
showForm.set("enabled", new Boolean(true));
showForm.set("viruscheck", new Boolean(true));
showForm.set("spamcheck", new Boolean(true));
}
else {
Mailbox mailbox = MailboxManager.getInstance().get(user, boxId);
100,7 → 104,7
 
if(boxId == null) {
if(password == null || password.equals(""))
throw new Exception("empty password"); // FIXME: exception type and message?
throw new UserException(CoreResources.PASSWORD_REQUIRED);
 
mailbox = MailboxManager.getInstance().create(user);
 
113,7 → 117,7
mailbox.setLogin((String)theForm.get("login"));
mailbox.setDomain(InetDomainManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("domain"))));
mailbox.setOwner(UserManager.getInstance().get(
mailbox.setOwner(UserManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("owner"))));
mailbox.setVirusCheck((Boolean)theForm.get("viruscheck"));
mailbox.setSpamCheck((Boolean)theForm.get("spamcheck"));
144,7 → 148,7
private void initLists(HttpServletRequest request, User user)
throws Exception
{
List users = new ArrayList(UserManager.getInstance().listUsers());
List users = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(users, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", users);
 
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/MailAliasAction.java
24,6 → 24,7
import ak.backpath.BackPath;
 
import ak.hostcaptain.util.StringConverter;
import ak.hostcaptain.util.UserException;
import ak.hostcaptain.core.model.User;
import ak.hostcaptain.core.model.UserManager;
import ak.hostcaptain.core.model.Mailbox;
75,11 → 76,11
}
else {
MailAlias alias = MailAliasManager.getInstance().get(user, aliasId);
List dests = new ArrayList(MailAliasDestinationManager.getInstance()
.listMailAliasesDestination(alias));
List dests = new ArrayList(MailAliasDestinationManager.getInstance()
.listMailAliasesDestination(alias));
MailAliasDestBean[] d = new MailAliasDestBean[dests.size()];
 
// FIXME: sort dests here
// FIXME: sort dests here
 
for(int i = 0; i < dests.size(); i++) {
d[i] = new MailAliasDestBean((MailAliasDestination)dests.get(i));
86,11 → 87,11
}
showForm.set("dests", d);
 
showForm.set("address", alias.getAddress());
if(alias.getDomain() != null)
showForm.set("domain", StringConverter.toString(alias.getDomain().getId()));
if(alias.getOwner() != null)
showForm.set("owner", StringConverter.toString(alias.getOwner().getId()));
showForm.set("address", alias.getAddress());
if(alias.getDomain() != null)
showForm.set("domain", StringConverter.toString(alias.getDomain().getId()));
if(alias.getOwner() != null)
showForm.set("owner", StringConverter.toString(alias.getOwner().getId()));
showForm.set("enabled", alias.getEnabled());
showForm.set("comment", alias.getComment());
}
111,11 → 112,22
DynaActionForm theForm = (DynaActionForm)form;
Long aliasId = StringConverter.parseLong(theForm.get("id"));
MailAlias alias = (aliasId == null) ? null
: MailAliasManager.getInstance().get(user, aliasId);
: MailAliasManager.getInstance().get(user, aliasId);
MailAliasDestBean[] dests = (MailAliasDestBean[])theForm.get("dests");
 
// submit
// submit
if(request.getParameter("submit") != null) {
// FIXME: if empty element of select box is active, it will be changed
// by submit
 
// validate required fields, because it cannot be done in general case
if(StringConverter.isEmpty(theForm.get("address")))
throw new UserException("ak.hostcaptain.core.mail.alias.edit.address.empty");
if(StringConverter.isEmpty(theForm.get("domain")))
throw new UserException("ak.hostcaptain.core.mail.alias.edit.domain.wrong");
if(StringConverter.isEmpty(theForm.get("owner")))
throw new UserException("ak.hostcaptain.core.mail.alias.edit.owner.wrong");
 
if(alias == null)
alias = MailAliasManager.getInstance().create(user);
 
128,35 → 140,38
&& (dests[i].getEmail() == null || dests[i].getEmail().equals("")))
continue;
 
// get bean
Long destId = StringConverter.parseLong(dests[i].getId());
Long mailboxId = StringConverter.parseLong(dests[i].getMailbox());
// get bean
Long destId = StringConverter.parseLong(dests[i].getId());
Long mailboxId = StringConverter.parseLong(dests[i].getMailbox());
MailAliasDestination dest;
if(destId == null)
dest = MailAliasDestinationManager.getInstance().create();
else
dest = MailAliasDestinationManager.getInstance().get(destId);
dest = MailAliasDestinationManager.getInstance().create(user);
else
dest = MailAliasDestinationManager.getInstance().get(user, destId);
 
// set mailbox or email
// set mailbox or email
if(mailboxId != null) {
dest.setMailbox(MailboxManager.getInstance().get(user, mailboxId));
dest.setEmail(null);
}
else if(dests[i].getEmail() != null && !dests[i].getEmail().equals("")) {
else if(dests[i].getEmail() != null && !dests[i].getEmail().equals("")) {
dest.setMailbox(null);
dest.setEmail(dests[i].getEmail());
}
 
// connect
dest.setAlias(alias);
dest.setEnabled(dests[i].getEnabled());
dest.setComment(dests[i].getComment());
 
// connect
dest.setAlias(alias);
alias.getDestinations().add(dest);
}
 
alias.setAddress((String)theForm.get("address"));
alias.setDomain(InetDomainManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("domain"))));
alias.setOwner(UserManager.getInstance().get(
StringConverter.parseLong(theForm.get("owner"))));
alias.setAddress((String)theForm.get("address"));
alias.setDomain(InetDomainManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("domain"))));
alias.setOwner(UserManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("owner"))));
alias.setEnabled((Boolean)theForm.get("enabled"));
alias.setComment((String)theForm.get("comment"));
 
169,9 → 184,13
 
// add
else if(request.getParameter("add") != null) {
// FIXME: if called when no entries defined two rows are created
 
MailAliasDestBean[] newDests = new MailAliasDestBean[dests.length+1];
System.arraycopy(dests, 0, newDests, 0, dests.length);
if(dests.length > 0)
System.arraycopy(dests, 0, newDests, 0, dests.length);
newDests[dests.length] = new MailAliasDestBean();
newDests[dests.length].setEnabled(new Boolean(true));
theForm.set("dests", newDests);
 
initLists(request, user);
192,20 → 211,13
if(n < 0 || n >= dests.length) break;
 
MailAliasDestBean[] newDests;
if(dests.length <= 1) {
newDests = new MailAliasDestBean[1];
newDests[0] = new MailAliasDestBean();
}
else {
newDests = new MailAliasDestBean[dests.length-1];
if(n > 0)
System.arraycopy(dests, 0, newDests, 0, n);
if(n < dests.length-1)
System.arraycopy(dests, n+1, newDests,
n, dests.length-n-1);
}
newDests = new MailAliasDestBean[dests.length-1];
if(n > 0)
System.arraycopy(dests, 0, newDests, 0, n);
if(n < dests.length-1)
System.arraycopy(dests, n+1, newDests,
n, dests.length-n-1);
theForm.set("dests", newDests);
 
break;
}
catch(NumberFormatException ex) {
226,12 → 238,12
private void initLists(HttpServletRequest request, User user)
throws Exception
{
// list of mailboxes to redirect to
// list of mailboxes to redirect to
List mailboxes = new ArrayList(MailboxManager.getInstance().listMailboxes(user));
Collections.sort(mailboxes, MailboxManager.LOGIN_COMPARATOR);
request.setAttribute("mailboxes", mailboxes);
 
List users = new ArrayList(UserManager.getInstance().listUsers());
List users = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(users, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", users);
 
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/UserAction.java
35,7 → 35,8
throws Exception
{
if("submit".equals(mapping.getParameter())) {
initUserList(request);
User user = (User)request.getSession().getAttribute("user");
initUserList(request, user);
}
}
 
46,7 → 47,7
User user = (User)request.getSession().getAttribute("user");
 
if("list".equals(mapping.getParameter())) {
List list = new ArrayList(UserManager.getInstance().listUsers());
List list = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(list, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", list);
 
62,7 → 63,7
showForm.set("enabled", new Boolean(true));
}
else {
User u = UserManager.getInstance().get(userId);
User u = UserManager.getInstance().get(user, userId);
showForm.set("login", u.getLogin());
if(u.getBoss() != null)
showForm.set("boss", StringConverter.toString(u.getBoss().getId()));
71,13 → 72,13
showForm.set("comment", u.getComment());
}
 
initUserList(request);
initUserList(request, user);
return mapping.findForward("default");
}
else if("delete".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long userId = StringConverter.parseLong(theForm.get("id"));
User u = UserManager.getInstance().get(userId);
User u = UserManager.getInstance().get(user, userId);
 
if(u.equals(user))
throw new UserException(CoreResources.DELETE_ME_SELF);
85,7 → 86,7
// FIXME: invalidate session of deleted user if it is logged in
// FIXME: if two admins delete each other at the same time
 
UserManager.getInstance().delete(u);
UserManager.getInstance().delete(user, u);
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl());
return null;
}
99,10 → 100,10
if(password == null || password.equals(""))
throw new UserException(CoreResources.PASSWORD_REQUIRED);
 
u = UserManager.getInstance().create();
u = UserManager.getInstance().create(user);
}
else {
u = UserManager.getInstance().get(userId);
u = UserManager.getInstance().get(user, userId);
}
 
u.setLogin((String)theForm.get("login"));
111,7 → 112,7
if(bossId == null)
u.setBoss(null);
else
u.setBoss(UserManager.getInstance().get(bossId));
u.setBoss(UserManager.getInstance().get(user, bossId));
 
if(!user.equals(u)) // do not allow user to change own superuser status
u.setSuperuser((Boolean)theForm.get("superuser"));
122,7 → 123,7
u.setEnabled((Boolean)theForm.get("enabled"));
u.setComment((String)theForm.get("comment"));
 
UserManager.getInstance().save(u);
UserManager.getInstance().save(user, u);
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl());
return null;
}
131,10 → 132,10
}
}
 
private void initUserList(HttpServletRequest request)
private void initUserList(HttpServletRequest request, User user)
throws Exception
{
List list = new ArrayList(UserManager.getInstance().listUsers());
List list = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(list, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", list);
}
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/SystemUserAction.java
35,7 → 35,8
throws Exception
{
if("submit".equals(mapping.getParameter())) {
initUserList(request);
User user = (User)request.getSession().getAttribute("user");
initUserList(request, user);
}
}
 
73,7 → 74,7
showForm.set("comment", u.getComment());
}
 
initUserList(request);
initUserList(request, user);
return mapping.findForward("default");
}
else if("delete".equals(mapping.getParameter())) {
104,7 → 105,7
if(ownerId == null)
u.setOwner(null);
else
u.setOwner(UserManager.getInstance().get(ownerId));
u.setOwner(UserManager.getInstance().get(user, ownerId));
 
u.setEnabled((Boolean)theForm.get("enabled"));
u.setComment((String)theForm.get("comment"));
118,10 → 119,10
}
}
 
private void initUserList(HttpServletRequest request)
private void initUserList(HttpServletRequest request, User user)
throws Exception
{
List list = new ArrayList(UserManager.getInstance().listUsers());
List list = new ArrayList(UserManager.getInstance().listUsers(user));
Collections.sort(list, UserManager.LOGIN_COMPARATOR);
request.setAttribute("users", list);
}