Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 922 → Rev 923

/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/SystemUserAction.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.SystemUser;
58,14 → 60,16
else if("edit".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long userId = StringConverter.parseLong(theForm.get("id"));
SystemUser u;
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm(
this, request, "ak.hostcaptain.core.form.SystemUserEditForm");
 
if(userId == null) {
u = SystemUserManager.getInstance().create(user);
showForm.set("enabled", new Boolean(true));
}
else {
SystemUser u = SystemUserManager.getInstance().get(user, userId);
u = SystemUserManager.getInstance().get(user, userId);
showForm.set("uid", StringConverter.toString(u.getUid()));
showForm.set("name", u.getName());
if(u.getOwner() != null)
75,7 → 79,11
}
 
initUserList(request, user);
return mapping.findForward("default");
request.setAttribute("u", u);
if(u.editableBy(user))
return mapping.findForward("default");
else
return mapping.findForward("view");
}
else if("delete".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
98,9 → 106,20
u = SystemUserManager.getInstance().get(user, userId);
}
 
u.setUid(user, StringConverter.parseInteger(theForm.get("uid")));
u.setName(user, (String)theForm.get("name"));
Integer uid = StringConverter.parseInteger(theForm.get("uid"));
if(SystemUserManager.getInstance().uidExists(user, u, uid)) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.NONUNIQUE_SYSTEM_USER_UID);
}
u.setUid(user, uid);
 
String name = (String)theForm.get("name");
if(SystemUserManager.getInstance().nameExists(user, u, name)) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.NONUNIQUE_SYSTEM_USER_NAME);
}
u.setName(user, name);
 
Long ownerId = StringConverter.parseLong(theForm.get("owner"));
if(ownerId == null)
u.setOwner(user, null);
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/InetDomainAction.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.InetDomain;
58,14 → 60,16
else if("edit".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long domainId = StringConverter.parseLong(theForm.get("id"));
InetDomain domain;
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm(
this, request, "ak.hostcaptain.core.form.InetDomainEditForm");
 
if(domainId == null) {
domain = InetDomainManager.getInstance().create(user);
showForm.set("enabled", new Boolean(true));
}
else {
InetDomain domain = InetDomainManager.getInstance().get(user, domainId);
domain = InetDomainManager.getInstance().get(user, domainId);
showForm.set("name", domain.getName());
if(domain.getOwner() != null)
showForm.set("owner", StringConverter.toString(domain.getOwner().getId()));
74,7 → 78,11
}
 
initUserList(request, user);
return mapping.findForward("default");
request.setAttribute("domain", domain);
if(domain.editableBy(user))
return mapping.findForward("default");
else
return mapping.findForward("view");
}
else if("delete".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
97,7 → 105,13
domain = InetDomainManager.getInstance().get(user, domainId);
}
 
domain.setName(user, (String)theForm.get("name"));
String name = (String)theForm.get("name");
if(InetDomainManager.getInstance().nameExists(user, domain, name)) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.NONUNIQUE_DOMAIN_NAME);
}
domain.setName(user, name);
 
domain.setOwner(user, UserManager.getInstance().get(user,
StringConverter.parseLong(theForm.get("owner"))));
 
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/MailboxAction.java
61,16 → 61,18
else if("edit".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long boxId = StringConverter.parseLong(theForm.get("id"));
Mailbox mailbox;
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm(
this, request, "ak.hostcaptain.core.form.MailboxEditForm");
 
if(boxId == null) {
mailbox = MailboxManager.getInstance().create(user);
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);
mailbox = MailboxManager.getInstance().get(user, boxId);
showForm.set("login", mailbox.getLogin());
if(mailbox.getDomain() != null)
showForm.set("domain", StringConverter.toString(mailbox.getDomain().getId()));
85,7 → 87,11
}
 
initLists(request, user);
return mapping.findForward("default");
request.setAttribute("mailbox", mailbox);
if(mailbox.editableBy(user))
return mapping.findForward("default");
else
return mapping.findForward("view");
}
else if("delete".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
103,8 → 109,10
String password = (String)theForm.get("password");
 
if(boxId == null) {
if(password == null || password.equals(""))
if(password == null || password.equals("")) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.PASSWORD_REQUIRED);
}
 
mailbox = MailboxManager.getInstance().create(user);
 
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/MailAliasAction.java
66,18 → 66,22
}
else if("edit".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
MailAlias alias;
Long aliasId = StringConverter.parseLong(theForm.get("id"));
List dests;
 
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm(
this, request, "ak.hostcaptain.core.form.MailAliasEditForm");
 
if(aliasId == null) {
alias = MailAliasManager.getInstance().create(user);
dests = new ArrayList();
showForm.set("enabled", new Boolean(true));
}
else {
MailAlias alias = MailAliasManager.getInstance().get(user, aliasId);
List dests = new ArrayList(MailAliasDestinationManager.getInstance()
.listMailAliasesDestination(alias));
alias = MailAliasManager.getInstance().get(user, aliasId);
dests = new ArrayList(MailAliasDestinationManager.getInstance()
.listMailAliasesDestination(alias));
MailAliasDestBean[] d = new MailAliasDestBean[dests.size()];
 
// FIXME: sort dests here
97,7 → 101,14
}
 
initLists(request, user);
return mapping.findForward("default");
request.setAttribute("alias", alias);
request.setAttribute("dests", dests);
if(alias.editableBy(user))
return mapping.findForward("default");
else if(alias.mayChangeDestinations(user))
return mapping.findForward("editdests");
else
return mapping.findForward("view");
}
else if("delete".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
111,7 → 122,8
else if("submit".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long aliasId = StringConverter.parseLong(theForm.get("id"));
MailAlias alias = (aliasId == null) ? null
MailAlias alias = (aliasId == null)
? MailAliasManager.getInstance().create(user)
: MailAliasManager.getInstance().get(user, aliasId);
MailAliasDestBean[] dests = (MailAliasDestBean[])theForm.get("dests");
 
121,16 → 133,19
// by submit
 
// validate required fields, because it cannot be done in general case
if(StringConverter.isEmpty(theForm.get("address")))
if(StringConverter.isEmpty(theForm.get("address"))) {
handleErrors(mapping, form, request, response);
throw new UserException("ak.hostcaptain.core.mail.alias.edit.address.empty");
if(StringConverter.isEmpty(theForm.get("domain")))
}
if(StringConverter.isEmpty(theForm.get("domain"))) {
handleErrors(mapping, form, request, response);
throw new UserException("ak.hostcaptain.core.mail.alias.edit.domain.wrong");
if(StringConverter.isEmpty(theForm.get("owner")))
}
if(StringConverter.isEmpty(theForm.get("owner"))) {
handleErrors(mapping, form, request, response);
throw new UserException("ak.hostcaptain.core.mail.alias.edit.owner.wrong");
}
 
if(alias == null)
alias = MailAliasManager.getInstance().create(user);
 
alias.getDestinations(user).clear();
for(int i = 0; i < dests.length; i++) {
// FIXME: validate dest id, mailbox id, email
149,6 → 164,10
else
dest = MailAliasDestinationManager.getInstance().get(user, destId);
 
// connect
dest.setAlias(user, alias);
alias.getDestinations(user).add(dest);
 
// set mailbox or email
if(mailboxId != null) {
dest.setMailbox(user, MailboxManager.getInstance().get(user, mailboxId));
161,10 → 180,6
 
dest.setEnabled(user, dests[i].getEnabled());
dest.setComment(user, dests[i].getComment());
 
// connect
dest.setAlias(user, alias);
alias.getDestinations(user).add(dest);
}
 
alias.setAddress(user, (String)theForm.get("address"));
194,7 → 209,14
theForm.set("dests", newDests);
 
initLists(request, user);
return mapping.findForward("back");
request.setAttribute("alias", alias);
request.setAttribute("dests", newDests);
if(alias.editableBy(user))
return mapping.findForward("default");
else if(alias.mayChangeDestinations(user))
return mapping.findForward("editdests");
else
return mapping.findForward("view");
}
 
// delete
218,6 → 240,7
System.arraycopy(dests, n+1, newDests,
n, dests.length-n-1);
theForm.set("dests", newDests);
request.setAttribute("dests", newDests);
break;
}
catch(NumberFormatException ex) {
227,7 → 250,13
}
 
initLists(request, user);
return mapping.findForward("back");
request.setAttribute("alias", alias);
if(alias.editableBy(user))
return mapping.findForward("default");
else if(alias.mayChangeDestinations(user))
return mapping.findForward("editdests");
else
return mapping.findForward("view");
}
}
else {
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/UserAction.java
94,7 → 94,10
 
initUserList(request, user);
request.setAttribute("u", u);
return mapping.findForward("default");
if(u.editableBy(user))
return mapping.findForward("default");
else
return mapping.findForward("view");
}
else if("delete".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
102,8 → 105,10
User u = UserManager.getInstance().get(user, userId);
request.setAttribute("u", u);
 
if(u.equals(user))
if(u.equals(user)) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.DELETE_ME_SELF);
}
 
// FIXME: invalidate session of deleted user if it is logged in
// FIXME: if two admins delete each other at the same time
119,8 → 124,10
String password = (String)theForm.get("password");
 
if(userId == null) {
if(password == null || password.equals(""))
if(password == null || password.equals("")) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.PASSWORD_REQUIRED);
}
 
u = UserManager.getInstance().create(user);
}
129,7 → 136,12
}
request.setAttribute("u", u);
 
u.setLogin(user, (String)theForm.get("login"));
String login = (String)theForm.get("login");
if(UserManager.getInstance().loginExists(user, u, login)) {
handleErrors(mapping, form, request, response);
throw new UserException(CoreResources.NONUNIQUE_USER_LOGIN);
}
u.setLogin(user, login);
 
if(u.editableBy(user)) {
Long bossId = StringConverter.parseLong(theForm.get("boss"));