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.document.web.history;
35
36 import fr.paris.lutece.plugins.document.business.Document;
37 import fr.paris.lutece.plugins.document.business.DocumentHome;
38 import fr.paris.lutece.plugins.document.business.history.HistoryEvent;
39 import fr.paris.lutece.plugins.document.business.history.HistoryEventHome;
40 import fr.paris.lutece.plugins.document.service.DocumentService;
41 import fr.paris.lutece.plugins.document.service.DocumentTypeResourceIdService;
42 import fr.paris.lutece.plugins.document.utils.IntegerUtils;
43 import fr.paris.lutece.portal.service.template.AppTemplateService;
44 import fr.paris.lutece.portal.web.admin.PluginAdminPageJspBean;
45 import fr.paris.lutece.util.html.HtmlTemplate;
46
47 import java.util.Collection;
48 import java.util.HashMap;
49 import java.util.Map;
50
51 import javax.servlet.http.HttpServletRequest;
52
53
54
55
56
57 public class DocumentHistoryJspBean extends PluginAdminPageJspBean
58 {
59
60
61
62 private static final long serialVersionUID = -3845929456241534490L;
63 private static final String TEMPLATE_HISTORY = "admin/plugins/document/history/document_history.html";
64 private static final String MARK_DOCUMENT = "document";
65 private static final String MARK_EVENTS_LIST = "events_list";
66 private static final String PROPERTY_PAGE_TITLE = "document.document_history.pageTitle";
67 private static final String PARAMETER_DOCUMENT_ID = "id_document";
68
69
70
71
72
73
74 public String getHistory( HttpServletRequest request )
75 {
76 setPageTitleProperty( PROPERTY_PAGE_TITLE );
77
78 String strDocumentId = request.getParameter( PARAMETER_DOCUMENT_ID );
79 int nDocumentId = IntegerUtils.convert( strDocumentId );
80 Document document = DocumentHome.findByPrimaryKeyWithoutBinaries( nDocumentId );
81 Collection<HistoryEvent> listEvents = null;
82
83 if ( ( document != null ) &&
84 DocumentService.getInstance( )
85 .isAuthorizedAdminDocument( document.getSpaceId( ),
86 document.getCodeDocumentType( ), DocumentTypeResourceIdService.PERMISSION_VIEW_HISTORY, getUser( ) ) )
87 {
88 listEvents = HistoryEventHome.findByDocument( nDocumentId, getLocale( ) );
89 }
90 else
91 {
92 document = null;
93 }
94
95 Map<String, Object> model = new HashMap<String, Object>( );
96
97 model.put( MARK_DOCUMENT, document );
98 model.put( MARK_EVENTS_LIST, listEvents );
99
100 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_HISTORY, getLocale( ), model );
101
102 return getAdminPage( template.getHtml( ) );
103 }
104 }