1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
package fr.xcompta.spring.controller;
import java.util.List;
import java.util.Optional;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import fr.xcompta.core.base.Classe;
import fr.xcompta.spring.repository.ClasseRepository;
@Controller
public class ClasseController {
@Autowired
private ClasseRepository classeRepository;
@GetMapping("/afficherClasse")
public ModelAndView afficherUn(@RequestParam(name = "numero", required = true) Short numero) {
Optional<fr.xcompta.core.base.Classe> mayBeClasse = classeRepository.findById(numero);
ModelAndView model = new ModelAndView();
if (mayBeClasse.isPresent()) {
model.setViewName("Classe/detail");
model.addObject("classe", mayBeClasse.get());
} else {
// Pas d'objet trouvé à afficher
model.setViewName("/error");
model.addObject("message", "Pas de classe trouvée pour le numéro " + numero);
}
return model;
}
@GetMapping("/afficherClasses")
public ModelAndView afficherTout() {
List<Classe> classes = (List<Classe>) classeRepository.findAll();
ModelAndView model = new ModelAndView();
model.setViewName("classe/list");
model.addObject("classes", classes);
return model;
}
@GetMapping("/formulaireClasse")
public ModelAndView afficherFormulaire(Classe classe) {
ModelAndView model = new ModelAndView();
model.setViewName("classe/form");
return model;
}
@PostMapping("/sauverClasse")
// public ModelAndView sauverClasse(@Valid Classe classe, BindingResult result,
public ModelAndView sauverClasse(@Valid Classe classe, BindingResult result) {
ModelAndView model = new ModelAndView();
if (result.hasErrors()) {
model.setViewName("/classe/form");
} else {
classeRepository.save(classe);
return afficherUn(classe.getNumero());
}
return model;
}
@PostMapping("/modifierClasse")
public ModelAndView modifierClasse(@RequestParam(name = "numero", required = true) short numero) {
Optional<Classe> mayBeClasse = classeRepository.findById(numero);
ModelAndView model = new ModelAndView();
if (mayBeClasse.isPresent()) {
model.setViewName("/classe/form");
model.addObject("classe", mayBeClasse.get());
} else {
// Erreur pas d'objet trouvé à modifier
}
return model;
}
@PostMapping("/supprimerClasse")
public ModelAndView supprimerClasse(@RequestParam(name = "numero", required = true) short numero) {
ModelAndView model = new ModelAndView();
Optional<Classe> mayBeClasse = classeRepository.findById(numero);
if (mayBeClasse.isPresent()) {
classeRepository.deleteById(numero);
// classeRepository.delete(mayBeClasse.get();
// model.addObject("message", mayBeClasse.get() + " a été supprimée");
return afficherTout();// "Clase " + numero + " supprimée");
} else {
model.setViewName("error");
model.addObject("message", "Pas d'objet classe trouvé pour le numéro " + numero);
}
return model;
}
} |
Partager