@PreAuthorize("isOrganizationAdmin(#id) or hasRole('ROLE_ADMIN')")
@RequestMapping(value = "/manager/editOrg/{id}", method = RequestMethod.GET)
public String editOrganization(HttpServletRequest request, Model model, @PathVariable Long id) {
checkRequiredEntity(organizationService, id);
Organization existingOrg = organizationService.get(id);
if (existingOrg != null) {
if (!model.containsAttribute("organization")) {
OrganizationForm orgForm = new OrganizationForm();
orgForm.setEditing(true);
orgForm.setName(existingOrg.getName());
orgForm.setId(existingOrg.getId());
orgForm.setStorageConfigurationId(existingOrg.getOrgStorageConfig().getStorageConfigurations().get(0).getId());
orgForm.setStoragePrefix(existingOrg.getOrgStorageConfig().getPrefix());
if (existingOrg.getCustomBranding() != null) {
AppFile logo = existingOrg.getCustomBranding().getLogo();
if (logo != null) {
MockMultipartFile logoMultipartFile = new MockMultipartFile(logo.getName(), logo.getName(), logo.getType(), new byte[0]);
orgForm.setLogo(logoMultipartFile);
}
orgForm.setEmailHeader(existingOrg.getCustomBranding().getEmailHeader());
orgForm.setEmailFooter(existingOrg.getCustomBranding().getEmailFooter());
orgForm.setSubdomain(existingOrg.getCustomBranding().getSubdomain());
}
model.addAttribute("organization", orgForm);
} else {
((OrganizationForm) model.asMap().get("organization")).setStorageConfigurationId(existingOrg.getOrgStorageConfig().getStorageConfigurations().get(0).getId());
}
model.addAttribute("originalName", existingOrg.getName());
model.addAttribute("categories", existingOrg.getCategories());
model.addAttribute("appStates", AppState.values());
// List<ApplicationVersion> applicationVersions = applicationVersionService.getAll(existingOrg.getId());
// model.addAttribute("applicationVersions", applicationVersions);
// boolean hasApplicationRequests = false;
// for (ApplicationVersion applicationVersion : applicationVersions) {