52 lines
1.5 KiB
Java
52 lines
1.5 KiB
Java
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";
|
|
}
|
|
}
|
|
}
|