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.workflow.modules.notifycrmnoesb.service.taskinfo;
35
36 import fr.paris.lutece.plugins.workflow.modules.notifycrmnoesb.business.TaskNotifyCRMConfig;
37 import fr.paris.lutece.plugins.workflow.modules.notifycrmnoesb.service.INotifyCRMService;
38 import fr.paris.lutece.plugins.workflow.modules.notifycrmnoesb.service.NotifyCRMNoEsbPlugin;
39 import fr.paris.lutece.plugins.workflow.modules.notifycrmnoesb.util.constants.NotifyCRMConstants;
40 import fr.paris.lutece.plugins.workflow.service.taskinfo.AbstractTaskInfoProvider;
41 import fr.paris.lutece.plugins.workflowcore.business.resource.ResourceHistory;
42 import fr.paris.lutece.plugins.workflowcore.service.config.ITaskConfigService;
43 import fr.paris.lutece.plugins.workflowcore.service.resource.IResourceHistoryService;
44 import fr.paris.lutece.portal.service.template.AppTemplateService;
45 import fr.paris.lutece.util.html.HtmlTemplate;
46
47
48 import java.util.Locale;
49 import java.util.Map;
50
51 import javax.inject.Inject;
52 import javax.inject.Named;
53
54 import javax.servlet.http.HttpServletRequest;
55
56
57
58
59
60
61
62 public class NotifyCRMTaskInfoProvider extends AbstractTaskInfoProvider
63 {
64
65 private static final String TEMPLATE_TASK_NOTIFY_NOTIFICATION = "admin/plugins/workflow/modules/notifycrmnoesb/task_notify_crm_notification.html";
66 @Inject
67 private IResourceHistoryService _resourceHistoryService;
68 @Inject
69 @Named( NotifyCRMConstants.BEAN_TASK_CONFIG_SERVICE )
70 private ITaskConfigService _taskNotifyCRMConfigService;
71 @Inject
72 private INotifyCRMService _notifyCRMService;
73
74
75
76
77 @Override
78 public String getPluginName( )
79 {
80 return NotifyCRMNoEsbPlugin.PLUGIN_NAME;
81 }
82
83
84
85
86 @Override
87 public String getTaskResourceInfo( int nIdHistory, int nIdTask, HttpServletRequest request )
88 {
89 Locale locale = Locale.FRANCE;
90
91 ResourceHistory resourceHistory = _resourceHistoryService.findByPrimaryKey( nIdHistory );
92 TaskNotifyCRMConfig config = _taskNotifyCRMConfigService.findByPrimaryKey( nIdTask );
93
94 Map<String, Object> model = _notifyCRMService.fillModelInfoResource( resourceHistory.getIdResource( ) );
95 model.put( NotifyCRMConstants.MARK_MESSAGE, config.getMessage( ) );
96
97 HtmlTemplate t = AppTemplateService.getTemplateFromStringFtl( AppTemplateService.getTemplate( TEMPLATE_TASK_NOTIFY_NOTIFICATION, locale, model ).getHtml( ), locale, model );
98 return t.getHtml( );
99 }
100 }