/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/IndexAction.java |
---|
7,22 → 7,31 |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import ak.strutsx.ErrorHandlerX; |
import ak.hostcaptain.core.model.User; |
import ak.hostcaptain.core.model.SystemUserManager; |
import ak.hostcaptain.core.model.InetDomainManager; |
import ak.hostcaptain.core.model.MailboxManager; |
import ak.hostcaptain.core.model.MailAliasManager; |
public final class IndexAction |
extends Action |
implements ErrorHandlerX |
{ |
public void handleErrors(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
{ |
} |
public ActionForward execute(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
{ |
User user = (User)request.getSession().getAttribute("user"); |
request.setAttribute("showSystemUsers", |
new Boolean(SystemUserManager.getInstance().areSystemUsersAvailable(user))); |
request.setAttribute("showInetDomains", |
new Boolean(InetDomainManager.getInstance().areInetDomainsAvailable(user))); |
request.setAttribute("showMailboxes", |
new Boolean(MailboxManager.getInstance().areMailboxesAvailable(user))); |
request.setAttribute("showMailAliases", |
new Boolean(MailAliasManager.getInstance().areMailAliasesAvailable(user))); |
return mapping.findForward("success"); |
} |
} |
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/InetDomainAction.java |
---|
46,9 → 46,11 |
User user = (User)request.getSession().getAttribute("user"); |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(InetDomainManager.getInstance().listInetDomains()); |
List list = new ArrayList(InetDomainManager.getInstance().listInetDomains(user)); |
Collections.sort(list, InetDomainManager.NAME_COMPARATOR); |
request.setAttribute("domains", list); |
request.setAttribute("allowedToCreate", |
new Boolean(InetDomainManager.getInstance().allowedToCreate(user))); |
return mapping.findForward("default"); |
} |
62,7 → 64,7 |
showForm.set("enabled", new Boolean(true)); |
} |
else { |
InetDomain domain = InetDomainManager.getInstance().get(domainId); |
InetDomain domain = InetDomainManager.getInstance().get(user, domainId); |
showForm.set("name", domain.getName()); |
if(domain.getOwner() != null) |
showForm.set("owner", StringConverter.toString(domain.getOwner().getId())); |
76,9 → 78,9 |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long domainId = StringConverter.parseLong(theForm.get("id")); |
InetDomain domain = InetDomainManager.getInstance().get(domainId); |
InetDomain domain = InetDomainManager.getInstance().get(user, domainId); |
InetDomainManager.getInstance().delete(domain); |
InetDomainManager.getInstance().delete(user, domain); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
88,10 → 90,10 |
InetDomain domain; |
if(domainId == null) { |
domain = InetDomainManager.getInstance().create(); |
domain = InetDomainManager.getInstance().create(user); |
} |
else { |
domain = InetDomainManager.getInstance().get(domainId); |
domain = InetDomainManager.getInstance().get(user, domainId); |
} |
domain.setName((String)theForm.get("name")); |
101,7 → 103,7 |
domain.setEnabled((Boolean)theForm.get("enabled")); |
domain.setComment((String)theForm.get("comment")); |
InetDomainManager.getInstance().save(domain); |
InetDomainManager.getInstance().save(user, domain); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/MailboxAction.java |
---|
37,7 → 37,8 |
throws Exception |
{ |
if("submit".equals(mapping.getParameter())) { |
initLists(request); |
User user = (User)request.getSession().getAttribute("user"); |
initLists(request, user); |
} |
} |
47,9 → 48,11 |
{ |
User user = (User)request.getSession().getAttribute("user"); |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(MailboxManager.getInstance().listMailboxes()); |
List list = new ArrayList(MailboxManager.getInstance().listMailboxes(user)); |
Collections.sort(list, MailboxManager.LOGIN_COMPARATOR); |
request.setAttribute("mailboxes", list); |
request.setAttribute("allowedToCreate", |
new Boolean(MailboxManager.getInstance().allowedToCreate(user))); |
return mapping.findForward("default"); |
} |
63,7 → 66,7 |
showForm.set("enabled", new Boolean(true)); |
} |
else { |
Mailbox mailbox = MailboxManager.getInstance().get(boxId); |
Mailbox mailbox = MailboxManager.getInstance().get(user, boxId); |
showForm.set("login", mailbox.getLogin()); |
if(mailbox.getDomain() != null) |
showForm.set("domain", StringConverter.toString(mailbox.getDomain().getId())); |
77,15 → 80,15 |
showForm.set("comment", mailbox.getComment()); |
} |
initLists(request); |
initLists(request, user); |
return mapping.findForward("default"); |
} |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long boxId = StringConverter.parseLong(theForm.get("id")); |
Mailbox mailbox = MailboxManager.getInstance().get(boxId); |
Mailbox mailbox = MailboxManager.getInstance().get(user, boxId); |
MailboxManager.getInstance().delete(mailbox); |
MailboxManager.getInstance().delete(user, mailbox); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
99,16 → 102,16 |
if(password == null || password.equals("")) |
throw new Exception("empty password"); // FIXME: exception type and message? |
mailbox = MailboxManager.getInstance().create(); |
mailbox = MailboxManager.getInstance().create(user); |
// FIXME: create an user as owner of the new mailbox here |
} |
else { |
mailbox = MailboxManager.getInstance().get(boxId); |
mailbox = MailboxManager.getInstance().get(user, boxId); |
} |
mailbox.setLogin((String)theForm.get("login")); |
mailbox.setDomain(InetDomainManager.getInstance().get( |
mailbox.setDomain(InetDomainManager.getInstance().get(user, |
StringConverter.parseLong(theForm.get("domain")))); |
mailbox.setOwner(UserManager.getInstance().get( |
StringConverter.parseLong(theForm.get("owner")))); |
120,7 → 123,7 |
mailbox.setSystemUser(null); |
} |
else { |
mailbox.setSystemUser(SystemUserManager.getInstance().get(systemUserId)); |
mailbox.setSystemUser(SystemUserManager.getInstance().get(user, systemUserId)); |
} |
if(password != null && !password.equals("")) |
129,7 → 132,7 |
mailbox.setEnabled((Boolean)theForm.get("enabled")); |
mailbox.setComment((String)theForm.get("comment")); |
MailboxManager.getInstance().save(mailbox); |
MailboxManager.getInstance().save(user, mailbox); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
138,7 → 141,7 |
} |
} |
private void initLists(HttpServletRequest request) |
private void initLists(HttpServletRequest request, User user) |
throws Exception |
{ |
List users = new ArrayList(UserManager.getInstance().listUsers()); |
145,11 → 148,11 |
Collections.sort(users, UserManager.LOGIN_COMPARATOR); |
request.setAttribute("users", users); |
List systemUsers = new ArrayList(SystemUserManager.getInstance().listSystemUsers()); |
List systemUsers = new ArrayList(SystemUserManager.getInstance().listSystemUsers(user)); |
Collections.sort(systemUsers, SystemUserManager.UID_COMPARATOR); |
request.setAttribute("systemusers", systemUsers); |
List domains = new ArrayList(InetDomainManager.getInstance().listInetDomains()); |
List domains = new ArrayList(InetDomainManager.getInstance().listInetDomains(user)); |
Collections.sort(domains, InetDomainManager.NAME_COMPARATOR); |
request.setAttribute("domains", domains); |
} |
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/MailAliasAction.java |
---|
55,9 → 55,11 |
{ |
User user = (User)request.getSession().getAttribute("user"); |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(MailAliasManager.getInstance().listMailAliases()); |
List list = new ArrayList(MailAliasManager.getInstance().listMailAliases(user)); |
Collections.sort(list, MailAliasManager.ADDRESS_COMPARATOR); |
request.setAttribute("aliases", list); |
request.setAttribute("allowedToCreate", |
new Boolean(MailAliasManager.getInstance().allowedToCreate(user))); |
return mapping.findForward("default"); |
} |
72,9 → 74,9 |
showForm.set("enabled", new Boolean(true)); |
} |
else { |
MailAlias alias = MailAliasManager.getInstance().get(aliasId); |
MailAlias alias = MailAliasManager.getInstance().get(user, aliasId); |
List dests = new ArrayList(MailAliasDestinationManager.getInstance() |
.listMailAliasesDestination(alias)); |
.listMailAliasesDestination(alias)); |
MailAliasDestBean[] d = new MailAliasDestBean[dests.size()]; |
// FIXME: sort dests here |
99,9 → 101,9 |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long aliasId = StringConverter.parseLong(theForm.get("id")); |
MailAlias alias = MailAliasManager.getInstance().get(aliasId); |
MailAlias alias = MailAliasManager.getInstance().get(user, aliasId); |
MailAliasManager.getInstance().delete(alias); |
MailAliasManager.getInstance().delete(user, alias); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
109,13 → 111,13 |
DynaActionForm theForm = (DynaActionForm)form; |
Long aliasId = StringConverter.parseLong(theForm.get("id")); |
MailAlias alias = (aliasId == null) ? null |
: MailAliasManager.getInstance().get(aliasId); |
: MailAliasManager.getInstance().get(user, aliasId); |
MailAliasDestBean[] dests = (MailAliasDestBean[])theForm.get("dests"); |
// submit |
if(request.getParameter("submit") != null) { |
if(alias == null) |
alias = MailAliasManager.getInstance().create(); |
alias = MailAliasManager.getInstance().create(user); |
alias.getDestinations().clear(); |
for(int i = 0; i < dests.length; i++) { |
137,7 → 139,7 |
// set mailbox or email |
if(mailboxId != null) { |
dest.setMailbox(MailboxManager.getInstance().get(mailboxId)); |
dest.setMailbox(MailboxManager.getInstance().get(user, mailboxId)); |
dest.setEmail(null); |
} |
else if(dests[i].getEmail() != null && !dests[i].getEmail().equals("")) { |
151,7 → 153,7 |
} |
alias.setAddress((String)theForm.get("address")); |
alias.setDomain(InetDomainManager.getInstance().get( |
alias.setDomain(InetDomainManager.getInstance().get(user, |
StringConverter.parseLong(theForm.get("domain")))); |
alias.setOwner(UserManager.getInstance().get( |
StringConverter.parseLong(theForm.get("owner")))); |
159,7 → 161,7 |
alias.setComment((String)theForm.get("comment")); |
// update alias |
MailAliasManager.getInstance().save(alias); |
MailAliasManager.getInstance().save(user, alias); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
233,7 → 235,7 |
Collections.sort(users, UserManager.LOGIN_COMPARATOR); |
request.setAttribute("users", users); |
List domains = new ArrayList(InetDomainManager.getInstance().listInetDomains()); |
List domains = new ArrayList(InetDomainManager.getInstance().listInetDomains(user)); |
Collections.sort(domains, InetDomainManager.NAME_COMPARATOR); |
request.setAttribute("domains", domains); |
} |
/sun/hostcaptain/trunk/src/ak/hostcaptain/core/action/SystemUserAction.java |
---|
46,9 → 46,11 |
User user = (User)request.getSession().getAttribute("user"); |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(SystemUserManager.getInstance().listSystemUsers()); |
List list = new ArrayList(SystemUserManager.getInstance().listSystemUsers(user)); |
Collections.sort(list, SystemUserManager.NAME_COMPARATOR); |
request.setAttribute("users", list); |
request.setAttribute("allowedToCreate", |
new Boolean(SystemUserManager.getInstance().allowedToCreate(user))); |
return mapping.findForward("default"); |
} |
62,7 → 64,7 |
showForm.set("enabled", new Boolean(true)); |
} |
else { |
SystemUser u = SystemUserManager.getInstance().get(userId); |
SystemUser u = SystemUserManager.getInstance().get(user, userId); |
showForm.set("uid", StringConverter.toString(u.getUid())); |
showForm.set("name", u.getName()); |
if(u.getOwner() != null) |
77,9 → 79,9 |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long userId = StringConverter.parseLong(theForm.get("id")); |
SystemUser u = SystemUserManager.getInstance().get(userId); |
SystemUser u = SystemUserManager.getInstance().get(user, userId); |
SystemUserManager.getInstance().delete(u); |
SystemUserManager.getInstance().delete(user, u); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
89,10 → 91,10 |
SystemUser u; |
if(userId == null) { |
u = SystemUserManager.getInstance().create(); |
u = SystemUserManager.getInstance().create(user); |
} |
else { |
u = SystemUserManager.getInstance().get(userId); |
u = SystemUserManager.getInstance().get(user, userId); |
} |
u.setUid(StringConverter.parseInteger(theForm.get("uid"))); |
107,7 → 109,7 |
u.setEnabled((Boolean)theForm.get("enabled")); |
u.setComment((String)theForm.get("comment")); |
SystemUserManager.getInstance().save(u); |
SystemUserManager.getInstance().save(user, u); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |