package de.jottyfan.bico.modules.camp; import java.io.IOException; import java.security.Principal; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import de.jottyfan.bico.modules.CommonController; import jakarta.servlet.http.HttpServletResponse; /** * * @author jotty * */ @Configuration @Controller public class AdminRegistrationController extends CommonController { @Autowired private AdminRegistrationService service; @GetMapping("/camp/registration/admin") public String getList(Model model, Principal principal) { if (isCampAdmin(principal)) { model.addAttribute("list", service.getAllRegistrations()); model.addAttribute("ages", service.getAges()); } return "/camp/list"; } @GetMapping("/camp/registration/admin/download") @ResponseBody public String download(HttpServletResponse response, Principal principal) throws IOException { if (isCampAdmin(principal)) { response.setHeader("Content-Disposition", String.format("attachment; filename=Gemeindefreizeit-Anmeldungen-%s.csv", LocalDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME))); response.setContentType("text/csv; charset=utf-8"); return service.getDownload(); } else { return "forbidden"; } } }