1 package fr.paris.lutece.plugins.workflow.service;
2
3 import fr.paris.lutece.portal.business.rbac.RBAC;
4 import fr.paris.lutece.portal.service.i18n.I18nService;
5 import fr.paris.lutece.portal.service.rbac.Permission;
6 import fr.paris.lutece.portal.service.rbac.ResourceIdService;
7 import fr.paris.lutece.portal.service.rbac.ResourceType;
8 import fr.paris.lutece.portal.service.rbac.ResourceTypeManager;
9 import fr.paris.lutece.util.ReferenceList;
10
11 import java.util.Locale;
12
13
14
15
16
17
18 public class WorkflowAppResourceIdService extends ResourceIdService
19 {
20 public static final String RESOURCE_TYPE_KEY = "WORKFLOW_APP";
21 public static final String PERM_WORKFLOW_LIST = "PERM_WORKFLOW_LIST";
22 public static final String PERM_WORKFLOW_CREATE = "PERM_WORKFLOW_CREATE";
23 public static final String PERM_WORKFLOW_IMPORT = "PERM_WORKFLOW_IMPORT";
24
25 private static final String PROPERTY_LABEL_RESOURCE_TYPE = "workflow.permission.label.resource_type_workflow_app";
26 private static final String PROPERTY_LABEL_LIST = "workflow.permission.label.list_workflow";
27 private static final String PROPERTY_LABEL_CREATE = "workflow.permission.label.create_workflow";
28 private static final String PROPERTY_LABEL_IMPORT = "workflow.permission.label.import_workflow";
29 private static final String PROPERTY_LABEL_TITLE = "workflow.permission.label.title_workflow_app";
30
31 public WorkflowAppResourceIdService( )
32 {
33 setPluginName( WorkflowPlugin.PLUGIN_NAME );
34 }
35
36 @Override
37 public void register( )
38 {
39 ResourceType rt = new ResourceType( );
40 rt.setResourceIdServiceClass( getClass( ).getName( ) );
41 rt.setPluginName( WorkflowPlugin.PLUGIN_NAME );
42 rt.setResourceTypeKey( RESOURCE_TYPE_KEY );
43 rt.setResourceTypeLabelKey( PROPERTY_LABEL_RESOURCE_TYPE );
44
45 Permission p = new Permission( );
46 p.setPermissionKey( PERM_WORKFLOW_CREATE );
47 p.setPermissionTitleKey( PROPERTY_LABEL_CREATE );
48 rt.registerPermission( p );
49
50 p = new Permission( );
51 p.setPermissionKey( PERM_WORKFLOW_LIST );
52 p.setPermissionTitleKey( PROPERTY_LABEL_LIST );
53 rt.registerPermission( p );
54
55 p = new Permission( );
56 p.setPermissionKey( PERM_WORKFLOW_IMPORT );
57 p.setPermissionTitleKey( PROPERTY_LABEL_IMPORT );
58 rt.registerPermission( p );
59
60 ResourceTypeManager.registerResourceType( rt );
61 }
62
63 @Override
64 public ReferenceList getResourceIdList( Locale locale )
65 {
66 ReferenceList rl = new ReferenceList( );
67 rl.addItem( RBAC.WILDCARD_RESOURCES_ID, I18nService.getLocalizedString( PROPERTY_LABEL_TITLE, locale ) );
68 return rl;
69 }
70
71 @Override
72 public String getTitle( String strId, Locale locale )
73 {
74 return I18nService.getLocalizedString( PROPERTY_LABEL_TITLE, locale );
75 }
76 }