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 package fr.paris.lutece.plugins.ctv.controller.front;
35
36 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.ACTION_ABANDON;
37 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.ACTION_COMPLETE_LATER;
38 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.ACTION_SAVE;
39 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.ETAPE_EMPRISE;
40 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.ETAPE_EXECUTANT_TRAVAUX;
41 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.PAGE_PORTAL;
42 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.PARAMETER_NEXT_STEP;
43 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.TEMPLATE_EXECUTANT_TRAVAUX;
44 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.XPAGE_ACCUEIL;
45
46 import java.util.Map;
47
48 import javax.servlet.http.HttpServletRequest;
49
50 import org.apache.commons.lang3.StringUtils;
51
52 import fr.paris.lutece.plugins.ctv.constants.CtvConstants;
53 import fr.paris.lutece.plugins.ctv.service.ExecutantControllerService;
54 import fr.paris.lutece.plugins.ctv.service.FormulaireDemandeOccupationServiceImpl;
55 import fr.paris.lutece.plugins.ctv.service.IExecutantControllerService;
56 import fr.paris.lutece.plugins.ctv.service.IFormulaire;
57 import fr.paris.lutece.plugins.ctv.util.Utils;
58 import fr.paris.lutece.portal.service.security.UserNotSignedException;
59 import fr.paris.lutece.portal.util.mvc.commons.annotations.Action;
60 import fr.paris.lutece.portal.util.mvc.commons.annotations.View;
61 import fr.paris.lutece.portal.util.mvc.xpage.MVCApplication;
62 import fr.paris.lutece.portal.util.mvc.xpage.annotations.Controller;
63 import fr.paris.lutece.portal.web.xpages.XPage;
64
65 @Controller( xpageName = ETAPE_EXECUTANT_TRAVAUX )
66 public class ExecutantApp extends MVCApplication
67 {
68
69 private IExecutantControllerService executantControllerService = ExecutantControllerService.getInstance( );
70 private IFormulaire formulaireService = FormulaireDemandeOccupationServiceImpl.getInstance( );
71
72 @View( value = ETAPE_EXECUTANT_TRAVAUX, defaultView = true )
73 public XPage getExecutantTravaux( HttpServletRequest request ) throws UserNotSignedException
74 {
75 Utils.getUser( request );
76 Map<String, Object> model = getModel( );
77 executantControllerService.initModel( model );
78 executantControllerService.alimenterModel( request, model );
79 return getXPage( TEMPLATE_EXECUTANT_TRAVAUX, request.getLocale( ), model );
80 }
81
82 @Action( CtvConstants.ACTION_NEXT )
83 public XPage nextPage( HttpServletRequest request )
84 {
85 executantControllerService.updateFromRequest( request );
86 return redirect( request, PAGE_PORTAL + ETAPE_EMPRISE );
87 }
88
89 @Action( value = ACTION_COMPLETE_LATER )
90 public XPage completeLater( HttpServletRequest request )
91 {
92 executantControllerService.updateFromRequest( request );
93 return redirect( request, PAGE_PORTAL + XPAGE_ACCUEIL );
94 }
95
96 @Action( ACTION_SAVE )
97 public XPage doSaveAction( HttpServletRequest request )
98 {
99 executantControllerService.updateFromRequest( request );
100
101 String nextStepPath = request.getParameter( PARAMETER_NEXT_STEP );
102 if ( StringUtils.isAnyEmpty( nextStepPath ) )
103 {
104 return redirect( request, PAGE_PORTAL + XPAGE_ACCUEIL );
105 }
106 return redirect( request, PAGE_PORTAL + nextStepPath );
107 }
108
109 @Action( ACTION_ABANDON )
110 public XPage doAbandonAction( HttpServletRequest request )
111 {
112 formulaireService.removeFilesFromSession( request );
113
114 String nextStepPath = request.getParameter( PARAMETER_NEXT_STEP );
115 if ( StringUtils.isAnyEmpty( nextStepPath ) )
116 {
117 return redirect( request, PAGE_PORTAL + XPAGE_ACCUEIL );
118 }
119 return redirect( request, PAGE_PORTAL + nextStepPath );
120 }
121
122 }