Class SendCalendarNotificationFunction
- java.lang.Object
-
- org.ametys.plugins.workflow.AbstractWorkflowComponent
-
- org.ametys.plugins.explorer.workflow.AbstractExplorerNodeWorkflowComponent
-
- org.ametys.plugins.workspaces.project.notification.SendCalendarNotificationFunction
-
- All Implemented Interfaces:
com.opensymphony.workflow.FunctionProvider,PluginAware,Initializable,Contextualizable,LogEnabled,Serviceable
public class SendCalendarNotificationFunction extends AbstractExplorerNodeWorkflowComponent implements com.opensymphony.workflow.FunctionProvider, Initializable, PluginAware, Contextualizable
OS workflow function to send mail after an action is triggered.
-
-
Field Summary
Fields Modifier and Type Field Description protected Context_contextContext available to subclasses.protected I18nUtils_i18nUtilsI18nUtilsprotected String_pluginNameThe plugin name.protected ProjectManager_projectManagerThe project resolverprotected RenderingContextHandler_renderingContextHandlerThe rendering context handlerprotected AmetysObjectResolver_resolverThe ametys resolverprotected RightManager_rightManagerThe right manager.protected UserManager_userManagerThe users manager.protected WorkflowProvider_workflowProviderThe workflow providerprotected static StringBODY_KEYThe mail body key.protected static StringRIGHTSThe mail subject key.static StringSEND_MAILProvide "false" to prevent the function sending the mail.protected static StringSUBJECT_KEYThe mail subject key.-
Fields inherited from class org.ametys.plugins.explorer.workflow.AbstractExplorerNodeWorkflowComponent
EXPLORERNODE_KEY
-
Fields inherited from class org.ametys.plugins.workflow.AbstractWorkflowComponent
_logger, _manager, CONTEXT_PARAMETERS_KEY, FAIL_CONDITIONS_KEY, RESULT_MAP_KEY, WORKFLOW_ERRORS_KEY, WORKFLOW_WARNS_KEY
-
-
Constructor Summary
Constructors Constructor Description SendCalendarNotificationFunction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String_getRecurrentDateInfo(CalendarEvent event, DateFormat dayFormat)Get the recurrent information on a eventvoidcontextualize(Context context)voidexecute(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps)protected List<String>getBodyI18nParams(Project project, User issuer, CalendarEvent event)Get the i18n parameters of mail body textprotected PagegetCalendarModulePage(Project project)Get the module's pageprotected StringgetDefaultLanguage()Get the default language to resolve module's pageprotected StringgetEventUrl(Project project, String calendarId, Date eventStartDate)Get the absolute full url of the eventprotected StringgetProjectUrl(Project project)Get the absolute url of projectprotected List<String>getSubjectI18nParams(Project project, User issuer, CalendarEvent event)Get the i18n parameters of mail subjectprotected List<UserIdentity>getUsersToNotify(AmetysObject object, String[] rightsId)Get the users allowed to be notifiedvoidinitialize()protected voidsendMail(Project project, CalendarEvent event, User issuer, String mailSubjecti18nKey, String mailBodyi18nKey, String[] rightIds)Sent an emailvoidsetPluginInfo(String pluginName, String featureName, String id)Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.-
Methods inherited from class org.ametys.plugins.explorer.workflow.AbstractExplorerNodeWorkflowComponent
getExplorerNode
-
Methods inherited from class org.ametys.plugins.workflow.AbstractWorkflowComponent
addWorkflowError, addWorkflowWarning, enableLogging, getConditionFailures, getContextParameters, getResultsMap, getUser, service
-
-
-
-
Field Detail
-
SEND_MAIL
public static final String SEND_MAIL
Provide "false" to prevent the function sending the mail. Useful when making large automatic workflow operations (for instance, when bulk importing and proposing in one action).- See Also:
- Constant Field Values
-
SUBJECT_KEY
protected static final String SUBJECT_KEY
The mail subject key.- See Also:
- Constant Field Values
-
RIGHTS
protected static final String RIGHTS
The mail subject key.- See Also:
- Constant Field Values
-
BODY_KEY
protected static final String BODY_KEY
The mail body key.- See Also:
- Constant Field Values
-
_rightManager
protected RightManager _rightManager
The right manager.
-
_userManager
protected UserManager _userManager
The users manager.
-
_workflowProvider
protected WorkflowProvider _workflowProvider
The workflow provider
-
_pluginName
protected String _pluginName
The plugin name.
-
_i18nUtils
protected I18nUtils _i18nUtils
I18nUtils
-
_resolver
protected AmetysObjectResolver _resolver
The ametys resolver
-
_projectManager
protected ProjectManager _projectManager
The project resolver
-
_renderingContextHandler
protected RenderingContextHandler _renderingContextHandler
The rendering context handler
-
-
Constructor Detail
-
SendCalendarNotificationFunction
public SendCalendarNotificationFunction()
-
-
Method Detail
-
initialize
public void initialize() throws Exception
- Specified by:
initializein interfaceInitializable- Throws:
Exception
-
setPluginInfo
public void setPluginInfo(String pluginName, String featureName, String id)
Description copied from interface:PluginAwareSets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.- Specified by:
setPluginInfoin interfacePluginAware- Parameters:
pluginName- Unique identifier for the plugin hosting the extensionfeatureName- Unique feature identifier (unique for a given pluginName)id- Unique identifier of this component
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
execute
public void execute(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps) throws com.opensymphony.workflow.WorkflowException
- Specified by:
executein interfacecom.opensymphony.workflow.FunctionProvider- Throws:
com.opensymphony.workflow.WorkflowException
-
sendMail
protected void sendMail(Project project, CalendarEvent event, User issuer, String mailSubjecti18nKey, String mailBodyi18nKey, String[] rightIds)
Sent an email- Parameters:
project- The projectevent- The calendar eventissuer- The issuermailSubjecti18nKey- The i18n key for subjectmailBodyi18nKey- The i18n key for bodyrightIds- The rights to check
-
getUsersToNotify
protected List<UserIdentity> getUsersToNotify(AmetysObject object, String[] rightsId)
Get the users allowed to be notified- Parameters:
object- The object responsible of the notificationrightsId- The id of rights to check- Returns:
- The allowed users
-
getSubjectI18nParams
protected List<String> getSubjectI18nParams(Project project, User issuer, CalendarEvent event)
Get the i18n parameters of mail subject- Parameters:
project- the the projectissuer- the issuerevent- the event- Returns:
- the i18n parameters
-
getBodyI18nParams
protected List<String> getBodyI18nParams(Project project, User issuer, CalendarEvent event)
Get the i18n parameters of mail body text- Parameters:
project- The projectissuer- the issuerevent- the event- Returns:
- the i18n parameters
-
_getRecurrentDateInfo
protected String _getRecurrentDateInfo(CalendarEvent event, DateFormat dayFormat)
Get the recurrent information on a event- Parameters:
event- the eventdayFormat- the date format for day- Returns:
- the recurrent information or empty if the event is not recurrent
-
getEventUrl
protected String getEventUrl(Project project, String calendarId, Date eventStartDate)
Get the absolute full url of the event- Parameters:
project- The projectcalendarId- The id of parent calendareventStartDate- The start date of the event- Returns:
- The full uri
-
getProjectUrl
protected String getProjectUrl(Project project)
Get the absolute url of project- Parameters:
project- The project- Returns:
- the project's url
-
getDefaultLanguage
protected String getDefaultLanguage()
Get the default language to resolve module's page- Returns:
- The default language
-
getCalendarModulePage
protected Page getCalendarModulePage(Project project)
Get the module's page- Parameters:
project- The project- Returns:
- The page or
nullif not found
-
-