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.bo.controller.demandes.occupation;
35
36 import java.util.Map;
37
38 import javax.servlet.http.HttpServletRequest;
39
40 import com.mysql.jdbc.StringUtils;
41
42 import fr.paris.lutece.plugins.ctv.bo.controller.demandes.AbstractCtvJspBean;
43 import fr.paris.lutece.plugins.ctv.service.ChantierControllerService;
44 import fr.paris.lutece.plugins.ctv.service.FormulaireDemandeOccupationBoServiceImpl;
45 import fr.paris.lutece.plugins.ctv.service.IChantierControllerService;
46 import fr.paris.lutece.plugins.ctv.service.IFormulaireDemandeOccupationBoService;
47 import fr.paris.lutece.portal.util.mvc.admin.annotations.Controller;
48 import fr.paris.lutece.portal.util.mvc.commons.annotations.Action;
49 import fr.paris.lutece.portal.util.mvc.commons.annotations.View;
50
51 @Controller( controllerJsp = "chantier.jsp", controllerPath = "jsp/admin/plugins/ctv/gestionDemandes/occupation/etapes", right = "DEMANDE_OCCUPATION" )
52 public class ChantierJspBean extends AbstractCtvJspBean
53 {
54
55 private static final long serialVersionUID = -5906084384644405383L;
56
57
58 private static final String TEMPLATE_CHANTIER = "admin/plugins/ctv/etapes/chantier.html";
59
60
61 private static final String CHANTIER_TITLE = "ctv.etape.chantier.title";
62
63 private static final String VIEW_CHANTIER = "chantier";
64
65
66 private IChantierControllerService chantierControllerService = ChantierControllerService.getInstance( );
67 protected IFormulaireDemandeOccupationBoService formulaireService = FormulaireDemandeOccupationBoServiceImpl.getInstance( );
68
69 @View( defaultView = true, value = VIEW_CHANTIER )
70 public String getChantierView( HttpServletRequest request )
71 {
72 Map<String, Object> model = getModel( );
73 int numDemande = formulaireService.getNumDemande( request );
74 fillUserPossibleActions( request, model, numDemande );
75 fillModelForChantier( request, model );
76 if ( request.getParameter( "complete" ) != null )
77 {
78 model.put( "controlForm", true );
79 }
80 return getPage( CHANTIER_TITLE, TEMPLATE_CHANTIER, model );
81 }
82
83 @Action( ACTION_SAVE )
84 public String doSaveAction( HttpServletRequest request )
85 {
86 chantierControllerService.registerConverters( );
87 chantierControllerService.updateFromRequest( request );
88 int numDemande = formulaireService.getNumDemande( request );
89 demandeService.updateIsChantierStepSeen( numDemande, true );
90 fillLastUser( numDemande, request );
91
92 String nextStepPath = request.getParameter( PARAMETER_NEXT_STEP );
93 if ( StringUtils.isNullOrEmpty( nextStepPath ) )
94 {
95 return redirect( request, "../demandeOccupation.jsp" );
96 }
97 return redirect( request, nextStepPath );
98 }
99
100 @Action( ACTION_ABANDON )
101 public String abandon( HttpServletRequest request )
102 {
103 formulaireService.removeFilesFromSession( request );
104 String nextStepPath = request.getParameter( PARAMETER_NEXT_STEP );
105 if ( StringUtils.isNullOrEmpty( nextStepPath ) )
106 {
107 return redirect( request, "../demandeOccupation.jsp" );
108 }
109 return redirect( request, nextStepPath );
110 }
111
112 private void fillModelForChantier( HttpServletRequest request, Map<String, Object> model )
113 {
114 chantierControllerService.initModel( model );
115 chantierControllerService.alimenterModel( request, model );
116 formulaireService.alimentationModelBO( request, model );
117 int numDemande = formulaireService.getNumDemande( request );
118 fillUserPossibleActions( request, model, numDemande );
119 model.put( MARK_PATH_TABLEAU_DE_BORD, PATH_TABLEAU_DE_BORD );
120 model.put( MARK_PAGE_TITLE, TABLEAU_BORD_PAGE_TITLE );
121 model.put( "controlForm", true );
122 }
123
124 }