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.directories.service.entrytype;
35
36 import java.util.HashMap;
37 import java.util.Locale;
38 import java.util.Map;
39
40 import javax.servlet.http.HttpServletRequest;
41
42 import org.apache.commons.lang.StringUtils;
43
44 import fr.paris.lutece.plugins.directories.service.upload.DirectoriesAsynchronousUploadHandler;
45 import fr.paris.lutece.plugins.genericattributes.business.Entry;
46 import fr.paris.lutece.plugins.genericattributes.business.Response;
47 import fr.paris.lutece.plugins.genericattributes.service.entrytype.AbstractEntryTypeFile;
48 import fr.paris.lutece.plugins.genericattributes.service.upload.AbstractGenAttUploadHandler;
49 import fr.paris.lutece.portal.service.template.AppTemplateService;
50 import fr.paris.lutece.portal.service.util.AppPathService;
51 import fr.paris.lutece.util.html.HtmlTemplate;
52
53
54
55
56
57
58
59
60 public class EntryTypeImage extends AbstractEntryTypeFile
61 {
62
63
64
65 private static final String TEMPLATE_HTML_CODE = "skin/plugins/directories/entries/fill_entry_type_image.html";
66 private static final String TEMPLATE_HTML_CODE_ADMIN = "admin/plugins/directories/entries/fill_entry_type_image.html";
67 private static final String TEMPLATE_FILE_IMAGE = "skin/plugins/directories/entries/recap_entry_type_image.html";
68 private static final String TEMPLATE_CREATE = "admin/plugins/directories/entries/create_entry_type_file.html";
69 private static final String TEMPLATE_MODIFY = "admin/plugins/directories/entries/modify_entry_type_file.html";
70 private static final String TEMPLATE_READONLY_FRONTOFFICE = "skin/plugins/directories/entries/readonly_entry_type_image.html";
71 private static final String TEMPLATE_READONLY_BACKOFFICE = "admin/plugins/directories/entries/readonly_entry_type_image.html";
72 public static final String BEAN_NAME = "directories.entryTypeImage";
73 private static final String MARK_FILE_NAME = "file_name";
74 private static final String MARK_IMG_URL = "img_url";
75
76
77
78
79 @Override
80 public String getTemplateHtmlForm( Entry entry, boolean bDisplayFront )
81 {
82 return bDisplayFront ? TEMPLATE_HTML_CODE : TEMPLATE_HTML_CODE_ADMIN;
83 }
84
85
86
87
88 @Override
89 protected boolean checkForImages( )
90 {
91 return true;
92 }
93
94
95
96
97 @Override
98 public String getUrlDownloadFile( int nResponseId, String strBaseUrl )
99 {
100 return getUrlDownloadImage( nResponseId, strBaseUrl );
101 }
102
103
104
105
106 @Override
107 public String getResponseValueForRecap( Entry entry, HttpServletRequest request, Response response, Locale locale )
108 {
109 if ( ( response.getFile( ) != null ) && StringUtils.isNotBlank( response.getFile( ).getTitle( ) ) )
110 {
111 if ( response.getIdResponse( ) > 0 )
112 {
113 Map<String, Object> model = new HashMap<>( );
114 model.put( MARK_FILE_NAME, response.getFile( ).getTitle( ) );
115 model.put( MARK_IMG_URL, getUrlDownloadFile( response.getIdResponse( ), AppPathService.getBaseUrl( request ) ) );
116
117 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_FILE_IMAGE, locale, model );
118
119 return template.getHtml( );
120 }
121
122 return response.getFile( ).getTitle( );
123 }
124
125 return StringUtils.EMPTY;
126 }
127
128
129
130
131 @Override
132 public String getTemplateCreate( Entry entry, boolean bDisplayFront )
133 {
134 return TEMPLATE_CREATE;
135
136 }
137
138
139
140
141 @Override
142 public String getTemplateModify( Entry entry, boolean bDisplayFront )
143 {
144 return TEMPLATE_MODIFY;
145
146 }
147
148
149
150
151 @Override
152 public AbstractGenAttUploadHandler getAsynchronousUploadHandler( )
153 {
154 return DirectoriesAsynchronousUploadHandler.getHandler( );
155
156 }
157
158
159
160
161 @Override
162 public String getTemplateEntryReadOnly( boolean bDisplayFront )
163 {
164 if ( bDisplayFront )
165 {
166 return TEMPLATE_READONLY_FRONTOFFICE;
167 }
168
169 return TEMPLATE_READONLY_BACKOFFICE;
170 }
171
172 }