56 lines
1.9 KiB
Java
56 lines
1.9 KiB
Java
package com.astalange.web.controller;
|
|
|
|
import com.astalange.core.entity.Equipement;
|
|
import com.astalange.core.repository.EquipementRepository;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
@Controller
|
|
@RequestMapping("/equipements")
|
|
public class EquipementController {
|
|
|
|
private final EquipementRepository equipementRepository;
|
|
|
|
public EquipementController(EquipementRepository equipementRepository) {
|
|
this.equipementRepository = equipementRepository;
|
|
}
|
|
|
|
@GetMapping
|
|
public String listEquipements(Model model) {
|
|
model.addAttribute("equipements", equipementRepository.findAll());
|
|
return "parametrage/equipements_list";
|
|
}
|
|
|
|
@GetMapping("/new")
|
|
public String showCreateForm(Model model) {
|
|
model.addAttribute("equipement", new Equipement());
|
|
return "parametrage/equipements_form";
|
|
}
|
|
|
|
@GetMapping("/{id}/edit")
|
|
public String showEditForm(@PathVariable Long id, Model model) {
|
|
Equipement equipement = equipementRepository.findById(id)
|
|
.orElseThrow(() -> new IllegalArgumentException("Invalid equipment ID: " + id));
|
|
model.addAttribute("equipement", equipement);
|
|
return "parametrage/equipements_form";
|
|
}
|
|
|
|
@PostMapping
|
|
public String saveEquipement(@ModelAttribute("equipement") Equipement equipement) {
|
|
if (equipement.getObligatoire() == null) {
|
|
equipement.setObligatoire(false);
|
|
}
|
|
equipementRepository.save(equipement);
|
|
return "redirect:/equipements";
|
|
}
|
|
|
|
@PostMapping("/{id}/delete")
|
|
public String deleteEquipement(@PathVariable Long id) {
|
|
Equipement equipement = equipementRepository.findById(id)
|
|
.orElseThrow(() -> new IllegalArgumentException("Invalid equipment ID: " + id));
|
|
equipementRepository.delete(equipement);
|
|
return "redirect:/equipements";
|
|
}
|
|
}
|