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.service;
35
36 import fr.paris.lutece.plugins.directory.business.DirectoryXsl;
37 import fr.paris.lutece.plugins.directory.business.DirectoryXslFilter;
38 import fr.paris.lutece.plugins.directory.business.DirectoryXslHome;
39 import fr.paris.lutece.plugins.directory.utils.DirectoryUtils;
40 import fr.paris.lutece.portal.service.plugin.PluginService;
41 import fr.paris.lutece.portal.service.rbac.Permission;
42 import fr.paris.lutece.portal.service.rbac.ResourceIdService;
43 import fr.paris.lutece.portal.service.rbac.ResourceType;
44 import fr.paris.lutece.portal.service.rbac.ResourceTypeManager;
45 import fr.paris.lutece.util.ReferenceList;
46
47 import java.util.Locale;
48
49
50
51
52
53
54 public class DirectoryXslResourceIdService extends ResourceIdService
55 {
56
57 public static final String PERMISSION_CREATE = "CREATE";
58
59
60 public static final String PERMISSION_DELETE = "DELETE";
61
62
63 public static final String PERMISSION_MODIFY = "MODIFY";
64 private static final String PROPERTY_LABEL_RESOURCE_TYPE = "directory.permission.label.resource_type_directory_xsl";
65 private static final String PROPERTY_LABEL_CREATE = "directory.permission.label.create_directory_xsl";
66 private static final String PROPERTY_LABEL_DELETE = "directory.permission.label.delete_directory_xsl";
67 private static final String PROPERTY_LABEL_MODIFY = "directory.permission.label.modify_directory_xsl";
68
69
70 public DirectoryXslResourceIdService( )
71 {
72 setPluginName( DirectoryPlugin.PLUGIN_NAME );
73 }
74
75
76
77
78 @Override
79 public void register( )
80 {
81 ResourceType rt = new ResourceType( );
82 rt.setResourceIdServiceClass( DirectoryXslResourceIdService.class.getName( ) );
83 rt.setPluginName( DirectoryPlugin.PLUGIN_NAME );
84 rt.setResourceTypeKey( DirectoryXsl.RESOURCE_TYPE );
85 rt.setResourceTypeLabelKey( PROPERTY_LABEL_RESOURCE_TYPE );
86
87 Permission p = new Permission( );
88 p.setPermissionKey( PERMISSION_CREATE );
89 p.setPermissionTitleKey( PROPERTY_LABEL_CREATE );
90 rt.registerPermission( p );
91
92 p = new Permission( );
93 p.setPermissionKey( PERMISSION_MODIFY );
94 p.setPermissionTitleKey( PROPERTY_LABEL_MODIFY );
95 rt.registerPermission( p );
96
97 p = new Permission( );
98 p.setPermissionKey( PERMISSION_DELETE );
99 p.setPermissionTitleKey( PROPERTY_LABEL_DELETE );
100 rt.registerPermission( p );
101
102 ResourceTypeManager.registerResourceType( rt );
103 }
104
105
106
107
108
109
110
111
112 @Override
113 public ReferenceList getResourceIdList( Locale locale )
114 {
115 return DirectoryXslHome.getRefList( new DirectoryXslFilter( ), PluginService.getPlugin( DirectoryPlugin.PLUGIN_NAME ) );
116 }
117
118
119
120
121 @Override
122 public String getTitle( String strId, Locale locale )
123 {
124 int nIdExport = DirectoryUtils.convertStringToInt( strId );
125 DirectoryXsl export = DirectoryXslHome.findByPrimaryKey( nIdExport, PluginService.getPlugin( DirectoryPlugin.PLUGIN_NAME ) );
126
127 return ( export != null ) ? export.getTitle( ) : null;
128 }
129 }