package net.techreadiness.customer.action; import javax.inject.Inject; import net.techreadiness.service.OrganizationService; import net.techreadiness.service.UserService; import net.techreadiness.service.exception.AuthorizationException; import net.techreadiness.service.object.Org; import net.techreadiness.ui.BaseAction; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; @Results({ @Result(name = "success", type = "redirect", location = "${returnUrl}") }) public class UpdateOrgAction extends BaseAction { private static final long serialVersionUID = 1L; private Long selectedOrgId; private String returnUrl; @Inject private OrganizationService orgService; @Inject private UserService userService; @Override public String execute() throws Exception { if (selectedOrgId != null) { boolean hasAccess = userService.hasAccessToOrg(getServiceContext(), getServiceContext().getUserId(), selectedOrgId); if (hasAccess) { Org org = orgService.getById(getServiceContext(), selectedOrgId); getServiceContext().setOrg(org); } else { throw new AuthorizationException(); } } return SUCCESS; } public void setSelectedOrgId(Long selectedOrgId) { this.selectedOrgId = selectedOrgId; } public String getReturnUrl() { return returnUrl; } public void setReturnUrl(String returnUrl) { this.returnUrl = returnUrl; } }