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.directory.modules.pdfproducerarchive.service;
35
36 import fr.paris.lutece.plugins.directory.business.DirectoryAction;
37 import fr.paris.lutece.plugins.directory.business.DirectoryActionHome;
38 import fr.paris.lutece.plugins.directory.service.DirectoryPlugin;
39 import fr.paris.lutece.portal.service.plugin.Plugin;
40 import fr.paris.lutece.portal.service.plugin.PluginDefaultImplementation;
41 import fr.paris.lutece.portal.service.plugin.PluginService;
42
43
44
45
46
47
48 public class DirectoryPDFProducerArchivePlugin extends PluginDefaultImplementation
49 {
50 public static final String PLUGIN_NAME = "directory-pdfproducer-archive";
51 public static final String DIRECTORY_ACTION_NAME_KEY = "module.directory.pdfproducerarchive.actions.extractzip.name";
52 public static final String DIRECTORY_ACTION_DESCRIPTION = "module.directory.pdfproducerarchive.actions.extractzip.description";
53 public static final String DIRECTORY_ACTION_URL = "jsp/admin/plugins/directory/modules/pdfproducer/archive/basket/ConfirmAddZipToBasket.jsp";
54 public static final String DIRECTORY_ACTION_URL_ICON_PDF = "icon-shopping-cart";
55 public static final String DIRECTORY_ACTION_PERMISSION = "ADDZIPBASKET";
56 public static final int DIRECTORY_ACTION_STATE_0 = 0;
57 public static final int DIRECTORY_ACTION_STATE_1 = 1;
58
59
60
61
62 public void init( )
63 {
64 checkAndAddNewDirectoryRecordAction( );
65 }
66
67
68
69
70 public void install( )
71 {
72 super.install( );
73 checkAndAddNewDirectoryRecordAction( );
74 }
75
76
77
78
79 public void uninstall( )
80 {
81 super.uninstall( );
82
83 Plugin directoryPlugin = PluginService.getPlugin( DirectoryPlugin.PLUGIN_NAME );
84
85 DirectoryAction directoryAction = initAction( DIRECTORY_ACTION_STATE_0 );
86
87 if ( DirectoryActionHome.checkActionsDirectoryRecord( directoryAction, directoryPlugin ) )
88 {
89 DirectoryActionHome.deleteActionsDirectoryRecord( directoryAction, directoryPlugin );
90 }
91
92 directoryAction = initAction( DIRECTORY_ACTION_STATE_1 );
93
94 if ( DirectoryActionHome.checkActionsDirectoryRecord( directoryAction, directoryPlugin ) )
95 {
96 DirectoryActionHome.deleteActionsDirectoryRecord( directoryAction, directoryPlugin );
97 }
98 }
99
100
101
102
103 private static void checkAndAddNewDirectoryRecordAction( )
104 {
105 Plugin directoryPlugin = PluginService.getPlugin( DirectoryPlugin.PLUGIN_NAME );
106
107 DirectoryAction directoryAction = initAction( DIRECTORY_ACTION_STATE_0 );
108
109 if ( !DirectoryActionHome.checkActionsDirectoryRecord( directoryAction, directoryPlugin ) )
110 {
111 DirectoryActionHome.addNewActionInDirectoryRecordAction( directoryAction, directoryPlugin );
112 }
113
114 directoryAction = initAction( DIRECTORY_ACTION_STATE_1 );
115
116 if ( !DirectoryActionHome.checkActionsDirectoryRecord( directoryAction, directoryPlugin ) )
117 {
118 DirectoryActionHome.addNewActionInDirectoryRecordAction( directoryAction, directoryPlugin );
119 }
120 }
121
122
123
124
125
126
127 private static DirectoryAction initAction( int nFormState )
128 {
129 DirectoryAction directoryAction = new DirectoryAction( );
130 directoryAction.setNameKey( DIRECTORY_ACTION_NAME_KEY );
131 directoryAction.setDescriptionKey( DIRECTORY_ACTION_DESCRIPTION );
132 directoryAction.setUrl( DIRECTORY_ACTION_URL );
133 directoryAction.setIconUrl( DIRECTORY_ACTION_URL_ICON_PDF );
134 directoryAction.setPermission( DIRECTORY_ACTION_PERMISSION );
135 directoryAction.setFormState( nFormState );
136
137 return directoryAction;
138 }
139 }