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.quicklinks.service;
35
36 import fr.paris.lutece.plugins.quicklinks.business.Quicklinks;
37 import fr.paris.lutece.plugins.quicklinks.business.QuicklinksHome;
38 import fr.paris.lutece.portal.service.plugin.PluginService;
39 import fr.paris.lutece.portal.service.rbac.Permission;
40 import fr.paris.lutece.portal.service.rbac.ResourceIdService;
41 import fr.paris.lutece.portal.service.rbac.ResourceType;
42 import fr.paris.lutece.portal.service.rbac.ResourceTypeManager;
43 import fr.paris.lutece.portal.service.util.AppLogService;
44 import fr.paris.lutece.util.ReferenceList;
45
46 import java.util.Locale;
47
48
49
50
51
52
53 public class QuicklinksResourceIdService extends ResourceIdService
54 {
55
56 public static final String PERMISSION_CREATE = "CREATE";
57
58
59 public static final String PERMISSION_DELETE = "DELETE";
60
61
62 public static final String PERMISSION_MODIFY = "MODIFY";
63
64
65 public static final String PERMISSION_COPY = "COPY";
66
67
68 public static final String PERMISSION_CHANGE_STATE = "CHANGE_STATE";
69 private static final String PROPERTY_LABEL_RESOURCE_TYPE = "quicklinks.permission.label.resourceType";
70 private static final String PROPERTY_LABEL_CREATE = "quicklinks.permission.label.create";
71 private static final String PROPERTY_LABEL_DELETE = "quicklinks.permission.label.delete";
72 private static final String PROPERTY_LABEL_MODIFY = "quicklinks.permission.label.modify";
73 private static final String PROPERTY_LABEL_COPY = "quicklinks.permission.label.copy";
74 private static final String PROPERTY_LABEL_CHANGE_STATE = "quicklinks.permission.label.changeState";
75
76
77 public QuicklinksResourceIdService( )
78 {
79 setPluginName( QuicklinksPlugin.PLUGIN_NAME );
80 }
81
82
83
84
85 public void register( )
86 {
87 ResourceType rt = new ResourceType( );
88 rt.setResourceIdServiceClass( QuicklinksResourceIdService.class.getName( ) );
89 rt.setPluginName( QuicklinksPlugin.PLUGIN_NAME );
90 rt.setResourceTypeKey( Quicklinks.RESOURCE_TYPE );
91 rt.setResourceTypeLabelKey( PROPERTY_LABEL_RESOURCE_TYPE );
92
93 Permission p = new Permission( );
94 p.setPermissionKey( PERMISSION_CREATE );
95 p.setPermissionTitleKey( PROPERTY_LABEL_CREATE );
96 rt.registerPermission( p );
97
98 p = new Permission( );
99 p.setPermissionKey( PERMISSION_MODIFY );
100 p.setPermissionTitleKey( PROPERTY_LABEL_MODIFY );
101 rt.registerPermission( p );
102
103 p = new Permission( );
104 p.setPermissionKey( PERMISSION_COPY );
105 p.setPermissionTitleKey( PROPERTY_LABEL_COPY );
106 rt.registerPermission( p );
107
108 p = new Permission( );
109 p.setPermissionKey( PERMISSION_CHANGE_STATE );
110 p.setPermissionTitleKey( PROPERTY_LABEL_CHANGE_STATE );
111 rt.registerPermission( p );
112
113 p = new Permission( );
114 p.setPermissionKey( PERMISSION_DELETE );
115 p.setPermissionTitleKey( PROPERTY_LABEL_DELETE );
116 rt.registerPermission( p );
117
118 ResourceTypeManager.registerResourceType( rt );
119 }
120
121
122
123
124
125
126
127
128 public ReferenceList getResourceIdList( Locale locale )
129 {
130 return QuicklinksHome.findReferenceList( PluginService.getPlugin( QuicklinksPlugin.PLUGIN_NAME ) );
131 }
132
133
134
135
136
137
138
139
140
141
142 public String getTitle( String strId, Locale locale )
143 {
144 int nIdQuicklinks = -1;
145
146 try
147 {
148 nIdQuicklinks = Integer.parseInt( strId );
149 }
150 catch( NumberFormatException ne )
151 {
152 AppLogService.error( ne );
153 }
154
155 Quicklinks quicklinks = QuicklinksHome.findByPrimaryKey( nIdQuicklinks, PluginService.getPlugin( QuicklinksPlugin.PLUGIN_NAME ) );
156
157 return quicklinks.getTitle( );
158 }
159 }