Files
BiCO/src/main/java/de/jottyfan/bico/modules/theme/ThemeController.java
2025-12-14 17:39:19 +01:00

56 lines
1.9 KiB
Java

package de.jottyfan.bico.modules.theme;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import de.jottyfan.bico.db.tables.records.TLessonRecord;
import de.jottyfan.bico.modules.CommonController;
import jakarta.servlet.http.HttpServletRequest;
/**
*
* @author jotty
*
*/
@Controller
public class ThemeController extends CommonController {
@Autowired
private ThemeService service;
@GetMapping("/theme")
public String getThemeManipulationBySlotId(@RequestParam("slotId") Integer slotId, Model model) {
model.addAttribute("slotId", slotId);
model.addAttribute("day", service.getSlotDay(slotId));
model.addAttribute("list", service.getThemeManipulation(slotId));
model.addAttribute("themes", service.getAllThemes());
model.addAttribute("lesson", service.getLesson(slotId));
return "/theme";
}
@PostMapping("/theme/add")
public String addThemeToSlot(@RequestParam("slotId") Integer slotId, Model model, HttpServletRequest request) {
String subjectId = request.getParameter("pkSubject");
Integer pkSubject = Integer.valueOf(subjectId);
service.addThemeToSlot(slotId, pkSubject);
return "redirect:/theme?slotId=" + slotId;
}
@GetMapping("/theme/delete")
public String addThemeToSlot(@RequestParam("lessonSubjectId") Integer pkLessonSubject, @RequestParam("slotId") Integer slotId) {
service.removeThemeFromSlot(pkLessonSubject);
return "redirect:/theme?slotId=" + slotId;
}
@PostMapping("/theme/update")
public String updateLesson(@RequestParam("slotId") Integer slotId, @ModelAttribute("lesson") TLessonRecord bean) {
service.updateLesson(bean);
return "redirect:/theme?slotId=" + slotId;
}
}