Bonjour,
Comme j'ai une relation many-to-one entre une Evaluation et un User, et que l'Evaluation est créé après validation d'un test, j'aimerais pouvoir rentrer dans la colonne user_id de Evaluation l'id ou le user connecté en session, sachant qu'il faut forcément être connecté pour passer le test.
Voici mon controler qui gère l'Evaluation
D'après ce que j'ai lu sur le web, j'ai essayé plusieurs trucs, notamment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @RequestMapping(value="showQcm/{sequenceId}", method = RequestMethod.POST) public String processQcm(@PathVariable ("sequenceId") Long sequenceId, @ModelAttribute ("evaluation") Evaluation evaluation, Model model) { Qcm qcm = qcmService.findBySequenceId(sequenceId); evaluation.setQcm(qcm); evaluation.setDate(new Date()); evaluationService.save(evaluation); evaluationService.saveCorrectAnswers(qcm, evaluation); model.addAttribute("eval", evaluation); model.addAttribute("qcmSuccess", qcm); return "qcmSuccess"; }
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @RequestMapping(value="showQcm/{sequenceId}", method = RequestMethod.POST) public String processQcm(@PathVariable ("sequenceId") Long sequenceId, @ModelAttribute ("evaluation") Evaluation evaluation, @ModelAttribute ("connectedUser") User user, Model model) { Qcm qcm = qcmService.findBySequenceId(sequenceId); evaluation.setQcm(qcm); evaluation.setUser(user); evaluation.setDate(new Date()); evaluationService.save(evaluation); evaluationService.saveCorrectAnswers(qcm, evaluation); model.addAttribute("eval", evaluation); model.addAttribute("qcmSuccess", qcm); return "qcmSuccess"; }ou bien en rajoutant dans processQcm HttpSession session, et session.setAttribute("connectedUser", user),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @Controller @SessionAttributes("connectedUser")
mais rien ne marche.
Auriez vous des suggestions ?
Partager