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.participatorybudget.web.campaign;
35
36 import java.util.List;
37 import java.util.Map;
38
39 import javax.servlet.http.HttpServletRequest;
40
41 import fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignImage;
42 import fr.paris.lutece.plugins.participatorybudget.business.campaign.CampaignImageHome;
43 import fr.paris.lutece.portal.service.message.AdminMessage;
44 import fr.paris.lutece.portal.service.message.AdminMessageService;
45 import fr.paris.lutece.portal.util.mvc.admin.annotations.Controller;
46 import fr.paris.lutece.portal.util.mvc.commons.annotations.Action;
47 import fr.paris.lutece.portal.util.mvc.commons.annotations.View;
48 import fr.paris.lutece.util.url.UrlItem;
49
50
51
52
53 @Controller( controllerJsp = "ManageCampaignImages.jsp", controllerPath = "jsp/admin/plugins/participatorybudget/campaign/", right = "CAMPAIGN_MANAGEMENT" )
54 public class CampaignImageJspBean extends ManageCampaignJspBean
55 {
56
57
58
59
60
61 private static final String TEMPLATE_MANAGE_CAMPAIGNIMAGES = "/admin/plugins/participatorybudget/campaign/manage_campaignimages.html";
62 private static final String TEMPLATE_CREATE_CAMPAIGNIMAGE = "/admin/plugins/participatorybudget/campaign/create_campaignimage.html";
63 private static final String TEMPLATE_MODIFY_CAMPAIGNIMAGE = "/admin/plugins/participatorybudget/campaign/modify_campaignimage.html";
64
65
66 private static final String PARAMETER_ID_CAMPAIGNIMAGE = "id";
67
68
69 private static final String PROPERTY_PAGE_TITLE_MANAGE_CAMPAIGNIMAGES = "participatorybudget.manage_campaignimages.pageTitle";
70 private static final String PROPERTY_PAGE_TITLE_MODIFY_CAMPAIGNIMAGE = "participatorybudget.modify_campaignimage.pageTitle";
71 private static final String PROPERTY_PAGE_TITLE_CREATE_CAMPAIGNIMAGE = "participatorybudget.create_campaignimage.pageTitle";
72
73
74 private static final String MARK_CAMPAIGNIMAGE_LIST = "campaignimage_list";
75 private static final String MARK_CAMPAIGNIMAGE = "campaignimage";
76
77 private static final String JSP_MANAGE_CAMPAIGNIMAGES = "jsp/admin/plugins/participatorybudget/campaign/ManageCampaignImages.jsp";
78
79
80 private static final String MESSAGE_CONFIRM_REMOVE_CAMPAIGNIMAGE = "participatorybudget.message.confirmRemoveCampaignImage";
81 private static final String PROPERTY_DEFAULT_LIST_CAMPAIGNIMAGE_PER_PAGE = "participatorybudget.listCampaignImages.itemsPerPage";
82
83 private static final String VALIDATION_ATTRIBUTES_PREFIX = "participatorybudget.model.entity.campaignimage.attribute.";
84
85
86 private static final String VIEW_MANAGE_CAMPAIGNIMAGES = "manageCampaignImages";
87 private static final String VIEW_CREATE_CAMPAIGNIMAGE = "createCampaignImage";
88 private static final String VIEW_MODIFY_CAMPAIGNIMAGE = "modifyCampaignImage";
89
90
91 private static final String ACTION_CREATE_CAMPAIGNIMAGE = "createCampaignImage";
92 private static final String ACTION_MODIFY_CAMPAIGNIMAGE = "modifyCampaignImage";
93 private static final String ACTION_REMOVE_CAMPAIGNIMAGE = "removeCampaignImage";
94 private static final String ACTION_CONFIRM_REMOVE_CAMPAIGNIMAGE = "confirmRemoveCampaignImage";
95
96
97 private static final String INFO_CAMPAIGNIMAGE_CREATED = "participatorybudget.info.campaignimage.created";
98 private static final String INFO_CAMPAIGNIMAGE_UPDATED = "participatorybudget.info.campaignimage.updated";
99 private static final String INFO_CAMPAIGNIMAGE_REMOVED = "participatorybudget.info.campaignimage.removed";
100
101
102 private CampaignImage _campaignimage;
103
104
105
106
107
108
109
110
111 @View( value = VIEW_MANAGE_CAMPAIGNIMAGES, defaultView = true )
112 public String getManageCampaignImages( HttpServletRequest request )
113 {
114 _campaignimage = null;
115 List<CampaignImage> listCampaignImages = (List<CampaignImage>) CampaignImageHome.getCampaignImagesList( );
116 Map<String, Object> model = getPaginatedListModel( request, MARK_CAMPAIGNIMAGE_LIST, listCampaignImages, JSP_MANAGE_CAMPAIGNIMAGES );
117
118 return getPage( PROPERTY_PAGE_TITLE_MANAGE_CAMPAIGNIMAGES, TEMPLATE_MANAGE_CAMPAIGNIMAGES, model );
119 }
120
121
122
123
124
125
126
127
128 @View( VIEW_CREATE_CAMPAIGNIMAGE )
129 public String getCreateCampaignImage( HttpServletRequest request )
130 {
131 _campaignimage = ( _campaignimage != null ) ? _campaignimage : new CampaignImage( );
132
133 Map<String, Object> model = getModel( );
134 model.put( MARK_CAMPAIGNIMAGE, _campaignimage );
135
136 return getPage( PROPERTY_PAGE_TITLE_CREATE_CAMPAIGNIMAGE, TEMPLATE_CREATE_CAMPAIGNIMAGE, model );
137 }
138
139
140
141
142
143
144
145
146 @Action( ACTION_CREATE_CAMPAIGNIMAGE )
147 public String doCreateCampaignImage( HttpServletRequest request )
148 {
149 populate( _campaignimage, request );
150
151
152 if ( !validateBean( _campaignimage, VALIDATION_ATTRIBUTES_PREFIX ) )
153 {
154 return redirectView( request, VIEW_CREATE_CAMPAIGNIMAGE );
155 }
156
157 CampaignImageHome.create( _campaignimage );
158 addInfo( INFO_CAMPAIGNIMAGE_CREATED, getLocale( ) );
159
160 return redirectView( request, VIEW_MANAGE_CAMPAIGNIMAGES );
161 }
162
163
164
165
166
167
168
169
170 @Action( ACTION_CONFIRM_REMOVE_CAMPAIGNIMAGE )
171 public String getConfirmRemoveCampaignImage( HttpServletRequest request )
172 {
173 int nId = Integer.parseInt( request.getParameter( PARAMETER_ID_CAMPAIGNIMAGE ) );
174 UrlItem url = new UrlItem( getActionUrl( ACTION_REMOVE_CAMPAIGNIMAGE ) );
175 url.addParameter( PARAMETER_ID_CAMPAIGNIMAGE, nId );
176
177 String strMessageUrl = AdminMessageService.getMessageUrl( request, MESSAGE_CONFIRM_REMOVE_CAMPAIGNIMAGE, url.getUrl( ),
178 AdminMessage.TYPE_CONFIRMATION );
179
180 return redirect( request, strMessageUrl );
181 }
182
183
184
185
186
187
188
189
190 @Action( ACTION_REMOVE_CAMPAIGNIMAGE )
191 public String doRemoveCampaignImage( HttpServletRequest request )
192 {
193 int nId = Integer.parseInt( request.getParameter( PARAMETER_ID_CAMPAIGNIMAGE ) );
194 CampaignImageHome.remove( nId );
195 addInfo( INFO_CAMPAIGNIMAGE_REMOVED, getLocale( ) );
196
197 return redirectView( request, VIEW_MANAGE_CAMPAIGNIMAGES );
198 }
199
200
201
202
203
204
205
206
207 @View( VIEW_MODIFY_CAMPAIGNIMAGE )
208 public String getModifyCampaignImage( HttpServletRequest request )
209 {
210 int nId = Integer.parseInt( request.getParameter( PARAMETER_ID_CAMPAIGNIMAGE ) );
211
212 if ( _campaignimage == null || ( _campaignimage.getId( ) != nId ) )
213 {
214 _campaignimage = CampaignImageHome.findByPrimaryKey( nId );
215 }
216
217 Map<String, Object> model = getModel( );
218 model.put( MARK_CAMPAIGNIMAGE, _campaignimage );
219
220 return getPage( PROPERTY_PAGE_TITLE_MODIFY_CAMPAIGNIMAGE, TEMPLATE_MODIFY_CAMPAIGNIMAGE, model );
221 }
222
223
224
225
226
227
228
229
230 @Action( ACTION_MODIFY_CAMPAIGNIMAGE )
231 public String doModifyCampaignImage( HttpServletRequest request )
232 {
233 populate( _campaignimage, request );
234
235
236 if ( !validateBean( _campaignimage, VALIDATION_ATTRIBUTES_PREFIX ) )
237 {
238 return redirect( request, VIEW_MODIFY_CAMPAIGNIMAGE, PARAMETER_ID_CAMPAIGNIMAGE, _campaignimage.getId( ) );
239 }
240
241 CampaignImageHome.update( _campaignimage );
242 addInfo( INFO_CAMPAIGNIMAGE_UPDATED, getLocale( ) );
243
244 return redirectView( request, VIEW_MANAGE_CAMPAIGNIMAGES );
245 }
246 }