package com.astalange.web.controller; import com.astalange.core.entity.ModePaiement; import com.astalange.core.repository.ModePaiementRepository; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; @Controller @RequestMapping("/modespaiement") public class ModePaiementController { private final ModePaiementRepository modePaiementRepository; public ModePaiementController(ModePaiementRepository modePaiementRepository) { this.modePaiementRepository = modePaiementRepository; } @GetMapping public String listModes(Model model) { model.addAttribute("modes", modePaiementRepository.findAll()); return "parametrage/modespaiement_list"; } @GetMapping("/new") public String showCreateForm(Model model) { model.addAttribute("modePaiement", new ModePaiement()); return "parametrage/modespaiement_form"; } @GetMapping("/{id}/edit") public String showEditForm(@PathVariable Long id, Model model) { ModePaiement mode = modePaiementRepository.findById(id) .orElseThrow(() -> new IllegalArgumentException("Invalid ID: " + id)); model.addAttribute("modePaiement", mode); return "parametrage/modespaiement_form"; } @PostMapping public String saveMode(@ModelAttribute("modePaiement") ModePaiement modePaiement) { modePaiementRepository.save(modePaiement); return "redirect:/modespaiement"; } @PostMapping("/{id}/delete") public String deleteMode(@PathVariable Long id) { ModePaiement mode = modePaiementRepository.findById(id) .orElseThrow(() -> new IllegalArgumentException("Invalid ID: " + id)); modePaiementRepository.delete(mode); return "redirect:/modespaiement"; } }