Index: main/plugin-forms/doc/workflow-form-sample.xml
===================================================================
--- main/plugin-forms/doc/workflow-form-sample.xml	(revision 40335)
+++ main/plugin-forms/doc/workflow-form-sample.xml	(working copy)
@@ -68,7 +68,7 @@
             </results>
             <post-functions>
                  <function type="avalon">
-                   <arg name="role">org.ametys.plugins.forms.workflow.RequestInformationFunction</arg>
+                   <arg name="role">org.ametys.plugins.forms.workflow.SendMailFunction</arg>
                </function>
             </post-functions>
         </action>
Index: main/plugin-forms/i18n/messages_en.xml
===================================================================
--- main/plugin-forms/i18n/messages_en.xml	(revision 40335)
+++ main/plugin-forms/i18n/messages_en.xml	(working copy)
@@ -468,21 +468,15 @@
     <message key="PLUGINS_FORMS_WORKFLOW_COMMENTS_DIALOG_OK">OK</message>
     <message key="PLUGINS_FORMS_WORKFLOW_COMMENTS_DIALOG_CANCEL">Cancel</message>
     
-    <!-- Need complements dialog -->
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_TITLE">Ask for further information</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_FROM_FULLNAME">Sender</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_TO">To</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_SUBJECT">Subject</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_BODY">Body of the email</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_DO_SEND">Do send ?</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_OK">Ok</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_CANCEL">Cancel</message>
+    <!-- Send mail dialog -->
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_FROM_FULLNAME">Sender</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_TO">To</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_SUBJECT">Subject</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_BODY">Body of the email</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_DO_SEND">Do send ?</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_OK">Ok</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_CANCEL">Cancel</message>
     
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TITLE">No email address</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TEXT">The current form doesn't not contain an email field, therefore the recipient of the notification can not be determined. The author won't be warned about this workflow change. Do you want to continue ?</message>
-        
-    <!-- Notification emails default keys -->
-    <message key="WORKFLOW_MAIL_SUBJECT_ACTION_NEED_COMPLEMENTS">[{0}] Further information request on an form answer</message>
-    <message key="WORKFLOW_MAIL_BODY_ACTION_NEED_COMPLEMENTS">L'utilisateur "{0}" a demandé des compléments sur le formulaire du contenu "{1}", sur la page "{3}" du site "{2}".</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_NO_MAIL_TEXT">The current form doesn't not contain an email field, therefore the recipient of the notification can not be determined. The author won't be warned about this workflow change. Do you want to continue ?</message>
     
 </catalogue>
Index: main/plugin-forms/i18n/messages_fr.xml
===================================================================
--- main/plugin-forms/i18n/messages_fr.xml	(revision 40335)
+++ main/plugin-forms/i18n/messages_fr.xml	(working copy)
@@ -471,20 +471,15 @@
     <message key="PLUGINS_FORMS_WORKFLOW_COMMENTS_DIALOG_OK">OK</message>
     <message key="PLUGINS_FORMS_WORKFLOW_COMMENTS_DIALOG_CANCEL">Annuler</message> 
     
-    <!-- Need complements dialog -->
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_TITLE">Demande de compléments</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_FROM_FULLNAME">Expéditeur</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_TO">Pour</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_SUBJECT">Sujet</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_BODY">Corps de l'email</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_DO_SEND">Envoi de mail</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_OK">Ok</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_CANCEL">Annuler</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TITLE">Pas d'adresse email</message>
-    <message key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TEXT">Le formulaire actuel ne contient pas de champ de type mail permettant de déterminer le destinataire de la notification. Le soumissionnaire ne sera pas averti de ce changement d'état. Souhaitez-vous continuer ?</message>
-    
-    <!-- Notification emails default keys -->
-    <message key="WORKFLOW_MAIL_SUBJECT_ACTION_NEED_COMPLEMENTS">[{0}] Attente de compléments sur une réponse de formulaire</message>
-    <message key="WORKFLOW_MAIL_BODY_ACTION_NEED_COMPLEMENTS">L'utilisateur "{0}" a demandé des compléments sur une réponse au formulaire du contenu "{1}", sur la page "{3}" du site "{2}".</message>
+    <!-- Send mail dialog -->
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_FROM_FULLNAME">Expéditeur</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_TO">Pour</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_SUBJECT">Sujet</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_BODY">Corps de l'email</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_DO_SEND">Envoi de mail</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_OK">Ok</message>
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_CANCEL">Annuler</message>
+
+    <message key="PLUGINS_FORMS_SEND_MAIL_DIALOG_NO_MAIL_TEXT">Le formulaire actuel ne contient pas de champ de type mail permettant de déterminer le destinataire de la notification. Le soumissionnaire ne sera pas averti de ce changement d'état. Souhaitez-vous continuer ?</message>
     
 </catalogue>
Index: main/plugin-forms/plugin.xml
===================================================================
--- main/plugin-forms/plugin.xml	(revision 40335)
+++ main/plugin-forms/plugin.xml	(working copy)
@@ -1718,9 +1718,9 @@
                        logger="org.ametys.plugins.forms.workflow.FormEntriesWorkflow">
             </component>
             
-            <component role="org.ametys.plugins.forms.workflow.RequestInformationFunction"
-                       class="org.ametys.plugins.forms.workflow.RequestInformationFunction"
-                       logger="org.ametys.plugins.forms.workflow.RequestInformationFunction">
+            <component role="org.ametys.plugins.forms.workflow.SendMailFunction"
+                       class="org.ametys.plugins.forms.workflow.SendMailFunction"
+                       logger="org.ametys.plugins.forms.workflow.SendMailFunction">
             </component>
         </components>
     </feature>
Index: main/plugin-forms/resources/js/org/ametys/forms/workflow/FormEntriesWorkflowMenu.i18n.js
===================================================================
--- main/plugin-forms/resources/js/org/ametys/forms/workflow/FormEntriesWorkflowMenu.i18n.js	(revision 40335)
+++ main/plugin-forms/resources/js/org/ametys/forms/workflow/FormEntriesWorkflowMenu.i18n.js	(working copy)
@@ -61,8 +61,9 @@
 				tooltip: this.getConfiguration()["menu-" + actionId + "-description"],
 				handler: eval(this.getConfiguration()["menu-" + actionId + "-action"]),
 				hasComment: this.getConfiguration()["menu-" + actionId + "-comment"] == 'true',
-				hasFurtherInfo: this.getConfiguration()["menu-" + actionId + "-further-information"] == 'true',
+				sendMail: this.getConfiguration()["menu-" + actionId + "-send-mail"] == 'true',
 				multiselectionEnabled: this.getConfiguration()["menu-" + actionId + "-enable-multiselection"] == 'true',
+				dialogTitle: this.getConfiguration()["menu-" + actionId + "-dialog-title"],
 				subjectKey: this.getConfiguration()["menu-" + actionId + "-subject-key"] || "",
 				bodyKey: this.getConfiguration()["menu-" + actionId + "-body-key"] || "",
 				workflowActionPlugin: this.getConfiguration()["menu-" + actionId + "-actionPlugin"] || 'forms',
@@ -378,10 +379,10 @@
     var formTarget = org.ametys.messagebus.message.MessageTargetHelper.findFirst(currentSelection, org.ametys.plugins.forms.workflow.FormEntriesWorkflowMenu._testContentFormTarget);
     var formId = formTarget.getParameters().id;
     
-	if (item &amp;&amp; item.hasFurtherInfo)
+	if (item &amp;&amp; item.sendMail)
 	{
-	    // Show the further information dialog box to the user 
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog(formId, item, comment, org.ametys.plugins.forms.workflow.FormEntriesWorkflowMenu.doMenuAct2);
+	    // Show the send mail dialog box to the user 
+		org.ametys.plugins.forms.workflow.SendMailDialog(formId, item, comment, org.ametys.plugins.forms.workflow.FormEntriesWorkflowMenu.doMenuAct2);
 	}
 	else
 	{
@@ -390,7 +391,7 @@
 	
 }
 
-org.ametys.plugins.forms.workflow.FormEntriesWorkflowMenu.doMenuAct2 = function(formId, item, comment, furtherInfo)
+org.ametys.plugins.forms.workflow.FormEntriesWorkflowMenu.doMenuAct2 = function(formId, item, comment, sendMailInfo)
 {
 	var target = org.ametys.messagebus.bus.MessageBuilder.getInstance().createTarget('content-form', {
 			'id': formId, 
@@ -414,7 +415,7 @@
 		var params = {};
 		params.comment = comment;
 		params.formId = formId;
-		params.furtherInfo = Ext.util.JSON.encode(furtherInfo);
+		params.sendMailInfo = Ext.util.JSON.encode(sendMailInfo);
 		params.entryId = entryIds[i];
 		
 		var serverMessage = new org.ametys.servercomm.ServerMessage(plugin, url, params, org.ametys.servercomm.ServerComm.PRIORITY_MAJOR, item.ribbonControl.workflowActionCallback, item.ribbonControl, {entryId: entryIds[i], max: entryIds.length, formId: formId});
Index: main/plugin-forms/resources/js/org/ametys/forms/workflow/FurtherInformationDialog.i18n.js
===================================================================
--- main/plugin-forms/resources/js/org/ametys/forms/workflow/FurtherInformationDialog.i18n.js	(revision 40335)
+++ main/plugin-forms/resources/js/org/ametys/forms/workflow/FurtherInformationDialog.i18n.js	(nonexistent)
@@ -1,233 +0,0 @@
-/*
- *  Copyright 2016 Anyware Services
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-Ext.namespace('org.ametys.plugins.forms.workflow');
-
-/**
- * Create the further information dialog box.
- */
-org.ametys.plugins.forms.workflow.FurtherInformationDialog = function(formId, item, comment, callback)
-{
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._callback = callback;
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId = formId;
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._item = item;
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._comment = comment;
-	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._initialize();
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._form.getForm().reset();
-	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValues(item.entryIds[0]);
-}
-
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._initialize = function()
-{
-	if (org.ametys.plugins.forms.workflow.FurtherInformationDialog._box != null)
-	{
-		return;
-	}
-	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend = new Ext.form.Checkbox ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_DO_SEND"/>",
-		 name: "do-send",
-		 width: 285,
-		 allowBlank: false,
-		 listeners: {'check': org.ametys.plugins.forms.workflow.FurtherInformationDialog._onSendMailCheck},
-		 value: false
-	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldFrom= new Ext.form.TextField ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_FROM_FULLNAME"/>",
-		 name: "from-fullname",
-		 width: 285,
-		 allowBlank: false,
-		 value: "",
-		 disabled: true
-	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo = new Ext.form.ComboBox ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_TO"/>",
-		 name: "to",
-		 width: 285,
-		 mode: 'local',
-		 forceSelection : true,
-		 triggerAction: 'all',		
-		 editable: false,
-		 valueField: 'id',
- 		 displayField: 'text',
- 		 disabled: true,
- 		 allowBlank: false,
-		 
-		 store: new Ext.data.ArrayStore({
-	        fields: [
-	            'id',
-	            'text'
-	        ],
-	        data: []
-		 }),
-		 value: ""
-	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject = new Ext.form.TextField ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_SUBJECT"/>",
-		 name: "subject",
-		 width: 285,
-		 allowBlank: false,
-		 disabled: true,
-		 value: ""
-	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody = new Ext.form.TextArea ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_BODY"/>",
-		 name: "body",
-		 width: 285,
-		 allowBlank: false,
-		 height: 200,
-		 disabled: true,
-		 value: ""
-	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._form = new Ext.FormPanel( {
-		formId : 'further-info-form',
-		labelWidth: 90,
-		border: false,
-		items: [ org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend,
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldFrom,
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo, 
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject, 
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody ]
-	});
-	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._box = new org.ametys.DialogBox ({
-		title: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_TITLE"/>",
-		icon: getPluginResourcesUrl("forms") + "/img/edition/mailreceipt_16.png",
-
-		cls: 'text-dialog',
-		width: 425,
-		height: 400,
-		
-		items: [ org.ametys.plugins.forms.workflow.FurtherInformationDialog._form ],
-			
-		closeAction: 'hide',
-		defaultButton: org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody,
-		buttons : [ 
-		    {
-				text : "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_OK"/>",
-				handler: org.ametys.plugins.forms.workflow.FurtherInformationDialog._ok
-		    }, 
-		    {
-				text : "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_CANCEL"/>",
-				handler: org.ametys.plugins.forms.workflow.FurtherInformationDialog._cancel
-		    }
-		]
-	});
-}
-
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValues = function()
-{
-	var entryId = org.ametys.plugins.forms.workflow.FurtherInformationDialog._item.entryIds[0];
-	var formId = org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId;
-	
-	// Server call
-	var serverMessage = new org.ametys.servercomm.ServerMessage('forms', 'further-information', {formId: formId, entryId: entryId}, org.ametys.servercomm.ServerComm.PRIORITY_MAJOR, org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValuesCb, this, null);
-	org.ametys.servercomm.ServerComm.getInstance().send(serverMessage);
-}
-
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValuesCb = function(response, args)
-{
-	var furtherInfo = response.selectSingleNode("further-information");
-
-	var currentUser = furtherInfo.selectSingleNode("current-user");
-	var currentUserFullName = currentUser.getAttribute("fullname");
-	
-	var senderStandardizedName = currentUserFullName + " &lt;" + currentUser.getAttribute("email") + "&gt;";
-	
-	var emails = furtherInfo.selectSingleNode("emails").selectNodes("email");
-
-	var emailsInfo = [];
-	Ext.each(emails, function(emailNode) {
-		emailsInfo.push([emailNode.getAttribute("value"), emailNode.getAttribute("displayValue")]);
-	});
-	
-	if (Ext.isEmpty(emailsInfo))
-	{
-		Ext.Msg.confirm(
-				"<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TITLE"/>", 
-				"<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TEXT"/>", 
-				function (answer) {
-					if (answer == 'yes')
-					{
-						org.ametys.plugins.forms.workflow.FurtherInformationDialog._callback(
-								org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId,
-								org.ametys.plugins.forms.workflow.FurtherInformationDialog._item,
-								org.ametys.plugins.forms.workflow.FurtherInformationDialog._comment,
-								{}
-							);
-					}
-				}, 
-				this
-		);
-	}
-	else
-	{
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._box.show();
-		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldFrom.setValue(senderStandardizedName);
-		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend.setValue(true);
-		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.getStore().removeAll();
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.getStore().loadData(emailsInfo);
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.setValue(emailsInfo[0][0]);
-		
-		var subjectKey = org.ametys.plugins.forms.workflow.FurtherInformationDialog._item.subjectKey;
-		var bodyKey = org.ametys.plugins.forms.workflow.FurtherInformationDialog._item.bodyKey;
-		bodyKey = bodyKey == "" ? "" : bodyKey + "\n\n" + currentUserFullName;
-		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject.setValue(subjectKey);
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody.setValue(bodyKey);
-	}
-}
-
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._onSendMailCheck = function (field, checked)
-{
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.setDisabled(!checked);
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject.setDisabled(!checked);
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody.setDisabled(!checked);
-}
-
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._ok = function()
-{
-	if (org.ametys.plugins.forms.workflow.FurtherInformationDialog._form.getForm().isValid())																									
-	{
-		var values = {};
-
-		var sendMail = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend.getValue();
-		if (sendMail)
-		{
-			values.recipient = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.getValue();
-			values.subject = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject.getValue();
-			values.body = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody.getValue();
-		}
-		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._box.hide();
-		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._callback(
-			org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId,
-			org.ametys.plugins.forms.workflow.FurtherInformationDialog._item,
-			org.ametys.plugins.forms.workflow.FurtherInformationDialog._comment,
-			values
-		);
-	}
-}
-
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._cancel = function()
-{
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._box.hide();
-}
\ No newline at end of file
Index: main/plugin-forms/resources/js/org/ametys/forms/workflow/SendMailDialog.i18n.js
===================================================================
--- main/plugin-forms/resources/js/org/ametys/forms/workflow/SendMailDialog.i18n.js	(revision 40335)
+++ main/plugin-forms/resources/js/org/ametys/forms/workflow/SendMailDialog.i18n.js	(working copy)
@@ -16,46 +16,46 @@
 Ext.namespace('org.ametys.plugins.forms.workflow');
 
 /**
- * Create the further information dialog box.
+ * Create the send mail dialog box.
  */
-org.ametys.plugins.forms.workflow.FurtherInformationDialog = function(formId, item, comment, callback)
+org.ametys.plugins.forms.workflow.SendMailDialog = function(formId, item, comment, callback)
 {
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._callback = callback;
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId = formId;
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._item = item;
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._comment = comment;
+	org.ametys.plugins.forms.workflow.SendMailDialog._callback = callback;
+	org.ametys.plugins.forms.workflow.SendMailDialog._formId = formId;
+	org.ametys.plugins.forms.workflow.SendMailDialog._item = item;
+	org.ametys.plugins.forms.workflow.SendMailDialog._comment = comment;
 	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._initialize();
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._form.getForm().reset();
+	org.ametys.plugins.forms.workflow.SendMailDialog._initialize();
+	org.ametys.plugins.forms.workflow.SendMailDialog._form.getForm().reset();
 	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValues(item.entryIds[0]);
+	org.ametys.plugins.forms.workflow.SendMailDialog._setValues(item.entryIds[0]);
 }
 
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._initialize = function()
+org.ametys.plugins.forms.workflow.SendMailDialog._initialize = function()
 {
-	if (org.ametys.plugins.forms.workflow.FurtherInformationDialog._box != null)
+	if (org.ametys.plugins.forms.workflow.SendMailDialog._box != null)
 	{
 		return;
 	}
 	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend = new Ext.form.Checkbox ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_DO_SEND"/>",
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldDoSend = new Ext.form.Checkbox ({
+		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_DO_SEND"/>",
 		 name: "do-send",
 		 width: 285,
 		 allowBlank: false,
-		 listeners: {'check': org.ametys.plugins.forms.workflow.FurtherInformationDialog._onSendMailCheck},
+		 listeners: {'check': org.ametys.plugins.forms.workflow.SendMailDialog._onSendMailCheck},
 		 value: false
 	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldFrom= new Ext.form.TextField ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_FROM_FULLNAME"/>",
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldFrom= new Ext.form.TextField ({
+		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_FROM_FULLNAME"/>",
 		 name: "from-fullname",
 		 width: 285,
 		 allowBlank: false,
 		 value: "",
 		 disabled: true
 	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo = new Ext.form.ComboBox ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_TO"/>",
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo = new Ext.form.ComboBox ({
+		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_TO"/>",
 		 name: "to",
 		 width: 285,
 		 mode: 'local',
@@ -76,16 +76,16 @@
 		 }),
 		 value: ""
 	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject = new Ext.form.TextField ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_SUBJECT"/>",
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldSubject = new Ext.form.TextField ({
+		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_SUBJECT"/>",
 		 name: "subject",
 		 width: 285,
 		 allowBlank: false,
 		 disabled: true,
 		 value: ""
 	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody = new Ext.form.TextArea ({
-		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_FIELD_BODY"/>",
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldBody = new Ext.form.TextArea ({
+		 fieldLabel: "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_FIELD_BODY"/>",
 		 name: "body",
 		 width: 285,
 		 allowBlank: false,
@@ -93,62 +93,63 @@
 		 disabled: true,
 		 value: ""
 	});
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._form = new Ext.FormPanel( {
-		formId : 'further-info-form',
+	org.ametys.plugins.forms.workflow.SendMailDialog._form = new Ext.FormPanel( {
+		formId : 'send-mail-form',
 		labelWidth: 90,
 		border: false,
-		items: [ org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend,
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldFrom,
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo, 
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject, 
-		         org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody ]
+		items: [ org.ametys.plugins.forms.workflow.SendMailDialog._fieldDoSend,
+		         org.ametys.plugins.forms.workflow.SendMailDialog._fieldFrom,
+		         org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo, 
+		         org.ametys.plugins.forms.workflow.SendMailDialog._fieldSubject, 
+		         org.ametys.plugins.forms.workflow.SendMailDialog._fieldBody ]
 	});
 	
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._box = new org.ametys.DialogBox ({
-		title: "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_TITLE"/>",
+	// Use either the configured title or the name of the workflow action for the dialog title
+	org.ametys.plugins.forms.workflow.SendMailDialog._box = new org.ametys.DialogBox ({
+		title: org.ametys.plugins.forms.workflow.SendMailDialog._item.dialogTitle || org.ametys.plugins.forms.workflow.SendMailDialog._item.text,
 		icon: getPluginResourcesUrl("forms") + "/img/edition/mailreceipt_16.png",
 
 		cls: 'text-dialog',
 		width: 425,
 		height: 400,
 		
-		items: [ org.ametys.plugins.forms.workflow.FurtherInformationDialog._form ],
+		items: [ org.ametys.plugins.forms.workflow.SendMailDialog._form ],
 			
 		closeAction: 'hide',
-		defaultButton: org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody,
+		defaultButton: org.ametys.plugins.forms.workflow.SendMailDialog._fieldBody,
 		buttons : [ 
 		    {
-				text : "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_OK"/>",
-				handler: org.ametys.plugins.forms.workflow.FurtherInformationDialog._ok
+				text : "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_OK"/>",
+				handler: org.ametys.plugins.forms.workflow.SendMailDialog._ok
 		    }, 
 		    {
-				text : "<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_CANCEL"/>",
-				handler: org.ametys.plugins.forms.workflow.FurtherInformationDialog._cancel
+				text : "<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_CANCEL"/>",
+				handler: org.ametys.plugins.forms.workflow.SendMailDialog._cancel
 		    }
 		]
 	});
 }
 
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValues = function()
+org.ametys.plugins.forms.workflow.SendMailDialog._setValues = function()
 {
-	var entryId = org.ametys.plugins.forms.workflow.FurtherInformationDialog._item.entryIds[0];
-	var formId = org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId;
+	var entryId = org.ametys.plugins.forms.workflow.SendMailDialog._item.entryIds[0];
+	var formId = org.ametys.plugins.forms.workflow.SendMailDialog._formId;
 	
 	// Server call
-	var serverMessage = new org.ametys.servercomm.ServerMessage('forms', 'further-information', {formId: formId, entryId: entryId}, org.ametys.servercomm.ServerComm.PRIORITY_MAJOR, org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValuesCb, this, null);
+	var serverMessage = new org.ametys.servercomm.ServerMessage('forms', 'send-mail', {formId: formId, entryId: entryId}, org.ametys.servercomm.ServerComm.PRIORITY_MAJOR, org.ametys.plugins.forms.workflow.SendMailDialog._setValuesCb, this, null);
 	org.ametys.servercomm.ServerComm.getInstance().send(serverMessage);
 }
 
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._setValuesCb = function(response, args)
+org.ametys.plugins.forms.workflow.SendMailDialog._setValuesCb = function(response, args)
 {
-	var furtherInfo = response.selectSingleNode("further-information");
+	var sendMailInfo = response.selectSingleNode("send-mail");
 
-	var currentUser = furtherInfo.selectSingleNode("current-user");
+	var currentUser = sendMailInfo.selectSingleNode("current-user");
 	var currentUserFullName = currentUser.getAttribute("fullname");
 	
 	var senderStandardizedName = currentUserFullName + " &lt;" + currentUser.getAttribute("email") + "&gt;";
 	
-	var emails = furtherInfo.selectSingleNode("emails").selectNodes("email");
+	var emails = sendMailInfo.selectSingleNode("emails").selectNodes("email");
 
 	var emailsInfo = [];
 	Ext.each(emails, function(emailNode) {
@@ -157,16 +158,17 @@
 	
 	if (Ext.isEmpty(emailsInfo))
 	{
+		// Use either the configured title or the name of the workflow action for the dialog title
 		Ext.Msg.confirm(
-				"<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TITLE"/>", 
-				"<i18n:text i18n:key="PLUGINS_FORMS_NEED_COMPLEMENTS_DIALOG_NO_MAIL_TEXT"/>", 
+				org.ametys.plugins.forms.workflow.SendMailDialog._item.dialogTitle || org.ametys.plugins.forms.workflow.SendMailDialog._item.text,
+				"<i18n:text i18n:key="PLUGINS_FORMS_SEND_MAIL_DIALOG_NO_MAIL_TEXT"/>", 
 				function (answer) {
 					if (answer == 'yes')
 					{
-						org.ametys.plugins.forms.workflow.FurtherInformationDialog._callback(
-								org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId,
-								org.ametys.plugins.forms.workflow.FurtherInformationDialog._item,
-								org.ametys.plugins.forms.workflow.FurtherInformationDialog._comment,
+						org.ametys.plugins.forms.workflow.SendMailDialog._callback(
+								org.ametys.plugins.forms.workflow.SendMailDialog._formId,
+								org.ametys.plugins.forms.workflow.SendMailDialog._item,
+								org.ametys.plugins.forms.workflow.SendMailDialog._comment,
 								{}
 							);
 					}
@@ -176,58 +178,58 @@
 	}
 	else
 	{
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._box.show();
+		org.ametys.plugins.forms.workflow.SendMailDialog._box.show();
 		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldFrom.setValue(senderStandardizedName);
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldFrom.setValue(senderStandardizedName);
 		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend.setValue(true);
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldDoSend.setValue(true);
 		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.getStore().removeAll();
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.getStore().loadData(emailsInfo);
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.setValue(emailsInfo[0][0]);
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo.getStore().removeAll();
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo.getStore().loadData(emailsInfo);
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo.setValue(emailsInfo[0][0]);
 		
-		var subjectKey = org.ametys.plugins.forms.workflow.FurtherInformationDialog._item.subjectKey;
-		var bodyKey = org.ametys.plugins.forms.workflow.FurtherInformationDialog._item.bodyKey;
+		var subjectKey = org.ametys.plugins.forms.workflow.SendMailDialog._item.subjectKey;
+		var bodyKey = org.ametys.plugins.forms.workflow.SendMailDialog._item.bodyKey;
 		bodyKey = bodyKey == "" ? "" : bodyKey + "\n\n" + currentUserFullName;
 		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject.setValue(subjectKey);
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody.setValue(bodyKey);
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldSubject.setValue(subjectKey);
+		org.ametys.plugins.forms.workflow.SendMailDialog._fieldBody.setValue(bodyKey);
 	}
 }
 
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._onSendMailCheck = function (field, checked)
+org.ametys.plugins.forms.workflow.SendMailDialog._onSendMailCheck = function (field, checked)
 {
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.setDisabled(!checked);
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject.setDisabled(!checked);
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody.setDisabled(!checked);
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo.setDisabled(!checked);
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldSubject.setDisabled(!checked);
+	org.ametys.plugins.forms.workflow.SendMailDialog._fieldBody.setDisabled(!checked);
 }
 
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._ok = function()
+org.ametys.plugins.forms.workflow.SendMailDialog._ok = function()
 {
-	if (org.ametys.plugins.forms.workflow.FurtherInformationDialog._form.getForm().isValid())																									
+	if (org.ametys.plugins.forms.workflow.SendMailDialog._form.getForm().isValid())																									
 	{
 		var values = {};
 
-		var sendMail = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldDoSend.getValue();
+		var sendMail = org.ametys.plugins.forms.workflow.SendMailDialog._fieldDoSend.getValue();
 		if (sendMail)
 		{
-			values.recipient = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldTo.getValue();
-			values.subject = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldSubject.getValue();
-			values.body = org.ametys.plugins.forms.workflow.FurtherInformationDialog._fieldBody.getValue();
+			values.recipient = org.ametys.plugins.forms.workflow.SendMailDialog._fieldTo.getValue();
+			values.subject = org.ametys.plugins.forms.workflow.SendMailDialog._fieldSubject.getValue();
+			values.body = org.ametys.plugins.forms.workflow.SendMailDialog._fieldBody.getValue();
 		}
 		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._box.hide();
+		org.ametys.plugins.forms.workflow.SendMailDialog._box.hide();
 		
-		org.ametys.plugins.forms.workflow.FurtherInformationDialog._callback(
-			org.ametys.plugins.forms.workflow.FurtherInformationDialog._formId,
-			org.ametys.plugins.forms.workflow.FurtherInformationDialog._item,
-			org.ametys.plugins.forms.workflow.FurtherInformationDialog._comment,
+		org.ametys.plugins.forms.workflow.SendMailDialog._callback(
+			org.ametys.plugins.forms.workflow.SendMailDialog._formId,
+			org.ametys.plugins.forms.workflow.SendMailDialog._item,
+			org.ametys.plugins.forms.workflow.SendMailDialog._comment,
 			values
 		);
 	}
 }
 
-org.ametys.plugins.forms.workflow.FurtherInformationDialog._cancel = function()
+org.ametys.plugins.forms.workflow.SendMailDialog._cancel = function()
 {
-	org.ametys.plugins.forms.workflow.FurtherInformationDialog._box.hide();
+	org.ametys.plugins.forms.workflow.SendMailDialog._box.hide();
 }
\ No newline at end of file
Index: main/plugin-forms/sitemap.xmap
===================================================================
--- main/plugin-forms/sitemap.xmap	(revision 40335)
+++ main/plugin-forms/sitemap.xmap	(working copy)
@@ -31,7 +31,7 @@
             <map:generator name="administrator-orphan-forms" src="org.ametys.plugins.forms.OrphanFormsGenerator" logger="org.ametys.plugins.forms.OrphanFormsGenerator"/>
             
             <map:generator name="form-workflows-ribbon" src="org.ametys.plugins.forms.workflow.FormEntriesWorkflowsGenerator" logger="org.ametys.plugins.forms.workflow.FormEntriesWorkflowsGenerator"/>
-            <map:generator name="further-info" src="org.ametys.plugins.forms.workflow.FurtherInformationGenerator" logger="org.ametys.plugins.forms.workflow.FurtherInformationGenerator"/>
+            <map:generator name="get-mail-info" src="org.ametys.plugins.forms.workflow.SendMailGenerator" logger="org.ametys.plugins.forms.workflow.SendMailGenerator"/>
         </map:generators>
         
         <map:actions>
@@ -249,8 +249,8 @@
                 <map:serialize type="xml"/>
             </map:match>
             
-            <map:match pattern="further-information">
-                <map:generate type="further-info"/>
+            <map:match pattern="send-mail">
+                <map:generate type="get-mail-info"/>
                 <map:serialize type="xml"/>    
             </map:match>
             
@@ -259,7 +259,7 @@
                     <map:parameter name="actionId" value="{1}"/>
                     <map:parameter name="entryId" value="{parent-context-attr:entryId}"/>
                     <map:parameter name="formId" value="{parent-context-attr:formId}"/>
-                    <map:parameter name="furtherInfo" value="{parent-context-attr:furtherInfo}"/>
+                    <map:parameter name="sendMailInfo" value="{parent-context-attr:sendMailInfo}"/>
                 </map:act>
                 <map:generate type="action-result"/>
                 <map:serialize type="xml" status-code="500"/>
Index: main/plugin-forms/src/org/ametys/plugins/forms/workflow/FormEntriesWorkflowAction.java
===================================================================
--- main/plugin-forms/src/org/ametys/plugins/forms/workflow/FormEntriesWorkflowAction.java	(revision 40335)
+++ main/plugin-forms/src/org/ametys/plugins/forms/workflow/FormEntriesWorkflowAction.java	(working copy)
@@ -138,22 +138,22 @@
         inputs.put("comment", comment);
         
         // Set the values for the information request function if a mail is to be sent
-        String furtherInfoAsJSON = request.getParameter("furtherInfo");
-        Map<String, Object> furtherInfo = JSONUtils.parse(furtherInfoAsJSON); 
-        if (MapUtils.isNotEmpty(furtherInfo))
+        String sendMailAsJSON = request.getParameter("sendMailInfo");
+        Map<String, Object> sendMailInfo = JSONUtils.parse(sendMailAsJSON); 
+        if (MapUtils.isNotEmpty(sendMailInfo))
         {
             // Retrieve the current user name and email
             String login = _currentUserProvider.getUser();
             User user = _usersManager.getUser(login);
             
-            inputs.put(RequestInformationFunction.SENDER, user.getEmail());
-            inputs.put(RequestInformationFunction.RECIPIENT, furtherInfo.get("recipient"));
-            inputs.put(RequestInformationFunction.SUBJECT, furtherInfo.get("subject"));
-            inputs.put(RequestInformationFunction.BODY, furtherInfo.get("body"));
+            inputs.put(SendMailFunction.SENDER, user.getEmail());
+            inputs.put(SendMailFunction.RECIPIENT, sendMailInfo.get("recipient"));
+            inputs.put(SendMailFunction.SUBJECT, sendMailInfo.get("subject"));
+            inputs.put(SendMailFunction.BODY, sendMailInfo.get("body"));
         }
         else
         {
-            inputs.put(RequestInformationFunction.SEND_MAIL, "false");
+            inputs.put(SendMailFunction.SEND_MAIL, "false");
         }
         
         
Index: main/plugin-forms/src/org/ametys/plugins/forms/workflow/FormEntriesWorkflowMenu.java
===================================================================
--- main/plugin-forms/src/org/ametys/plugins/forms/workflow/FormEntriesWorkflowMenu.java	(revision 40335)
+++ main/plugin-forms/src/org/ametys/plugins/forms/workflow/FormEntriesWorkflowMenu.java	(working copy)
@@ -59,7 +59,7 @@
     /** Actions */
     private Set<Integer> _commentActionsIds;
     /** Actions */
-    private Set<Integer> _furtherInformationActionsIds;
+    private Set<Integer> _sendMailActionsIds;
     /** Workflow component for form entries */
     private FormEntriesWorkflow _formEntriesWorkflow;
     
@@ -182,22 +182,22 @@
             }
         }
         
-        // Further information
-        Configuration furtherInfoConfiguration = configuration.getChild("workflow").getChild("further-information", false);
-        if (furtherInfoConfiguration == null)
+        // Send mail
+        Configuration sendMailConfiguration = configuration.getChild("workflow").getChild("send-mail", false);
+        if (sendMailConfiguration == null)
         {
-            _furtherInformationActionsIds = new HashSet<Integer>();
+            _sendMailActionsIds = new HashSet<Integer>();
             for (int i = 0; i < allActionsId.length; i++)
             {
-                _furtherInformationActionsIds.add(allActionsId[i]);
+                _sendMailActionsIds.add(allActionsId[i]);
             }
         }
         else
         {
-            boolean includeMode = "include".equals(furtherInfoConfiguration.getAttribute("mode", "include"));
+            boolean includeMode = "include".equals(sendMailConfiguration.getAttribute("mode", "include"));
             
             Set<Integer> listedActions = new LinkedHashSet<Integer>();
-            for (Configuration actionConfiguration : furtherInfoConfiguration.getChildren("action"))
+            for (Configuration actionConfiguration : sendMailConfiguration.getChildren("action"))
             {
                 int actionId = actionConfiguration.getValueAsInteger();
                 listedActions.add(actionId);
@@ -219,10 +219,10 @@
             
             // Converting to int array
             Integer[] actionsId = availableActions.toArray(new Integer[availableActions.size()]);
-            _furtherInformationActionsIds = new HashSet<Integer>();
+            _sendMailActionsIds = new HashSet<Integer>();
             for (int i = 0; i < actionsId.length; i++)
             {
-                _furtherInformationActionsIds.add(actionsId[i]);
+                _sendMailActionsIds.add(actionsId[i]);
             }
         }
     }
@@ -347,9 +347,9 @@
             {
                 this._initialParameters.put("menu-" + actionId + "-comment", new I18nizableText(String.valueOf(_commentActionsIds.contains(actionId))));
             }
-            if (this._initialParameters.get("menu-" + actionId + "-further-information") == null)
+            if (this._initialParameters.get("menu-" + actionId + "-send-mail") == null)
             {
-                this._initialParameters.put("menu-" + actionId + "-further-information", new I18nizableText(String.valueOf(_furtherInformationActionsIds.contains(actionId))));
+                this._initialParameters.put("menu-" + actionId + "-send-mail", new I18nizableText(String.valueOf(_sendMailActionsIds.contains(actionId))));
             }
             if (this._initialParameters.get("menu-" + actionId + "-enable-multiselection") == null)
             {
Index: main/plugin-forms/src/org/ametys/plugins/forms/workflow/FurtherInformationGenerator.java
===================================================================
--- main/plugin-forms/src/org/ametys/plugins/forms/workflow/FurtherInformationGenerator.java	(revision 40335)
+++ main/plugin-forms/src/org/ametys/plugins/forms/workflow/FurtherInformationGenerator.java	(nonexistent)
@@ -1,131 +0,0 @@
-/*
- * Copyright 2016 Anyware Services
- * 
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.ametys.plugins.forms.workflow;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.environment.ObjectModelHelper;
-import org.apache.cocoon.generation.ServiceableGenerator;
-import org.apache.cocoon.xml.AttributesImpl;
-import org.apache.cocoon.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-import org.ametys.plugins.forms.Field;
-import org.ametys.plugins.forms.Field.FieldType;
-import org.ametys.plugins.forms.Form;
-import org.ametys.plugins.forms.FormsException;
-import org.ametys.plugins.forms.data.FieldValue;
-import org.ametys.plugins.forms.data.UserEntry;
-import org.ametys.plugins.forms.jcr.FormPropertiesManager;
-import org.ametys.plugins.forms.table.FormTableManager;
-import org.ametys.runtime.user.CurrentUserProvider;
-import org.ametys.runtime.user.User;
-import org.ametys.runtime.user.UsersManager;
-
-/**
- * Generator retrieving information for the further information requests
- */
-public class FurtherInformationGenerator extends ServiceableGenerator
-{
-    /** Manager of the forms JCR representation */
-    private FormPropertiesManager _formPropertiesManager;
-    
-    /** Manager of the form entries SQL tables */
-    private FormTableManager _formTableManager;
-
-    /** Helper component allowing to retrieve information on the current user */
-    private CurrentUserProvider _currentUserProvider;
-
-    /** The users manager */
-    private UsersManager _usersManager;
-
-    @Override
-    public void service(ServiceManager serviceManager) throws ServiceException
-    {
-        _usersManager = (UsersManager) serviceManager.lookup(UsersManager.ROLE);
-        _currentUserProvider = (CurrentUserProvider) serviceManager.lookup(CurrentUserProvider.ROLE);
-        _formPropertiesManager = (FormPropertiesManager) serviceManager.lookup(FormPropertiesManager.ROLE);
-        _formTableManager = new FormTableManager();
-    }
-    
-    @SuppressWarnings("unchecked")
-    public void generate() throws IOException, SAXException, ProcessingException
-    {
-        contentHandler.startDocument();
-        XMLUtils.startElement(contentHandler, "further-information");
-        
-        // Retrieve the current user name and email
-        String login = _currentUserProvider.getUser();
-        User user = _usersManager.getUser(login);
-        
-        AttributesImpl atts = new AttributesImpl();
-        atts.addCDATAAttribute("email", user.getEmail());
-        atts.addCDATAAttribute("fullname", user.getFullName());
-        
-        XMLUtils.createElement(contentHandler, "current-user", atts);
-        
-        // Retrieve the email fields
-        Map<String, Object> jsParameters = (Map<String, Object>) objectModel.get(ObjectModelHelper.PARENT_CONTEXT);
-        String formId = (String) jsParameters.get("formId");
-        String entryId = (String) jsParameters.get("entryId");
-        
-        List<UserEntry> submission = null; 
-        try
-        {
-            Form form = _formPropertiesManager.getForm(formId);
-            Map<String, FieldValue> columns = _formTableManager.getColumns(form);
-            
-            submission = _formTableManager.getSubmissions(form, columns, 0, Integer.MAX_VALUE, new ArrayList<Integer>(Arrays.asList(Integer.valueOf(entryId))));
-        }
-        catch (FormsException e)
-        {
-            throw new ProcessingException("An error occured while trying to recover the user entry '" + entryId + "' of the form of id '" + formId + "'.");
-        }
-        
-        XMLUtils.startElement(contentHandler, "emails");
-        
-        List<FieldValue> entries = submission.get(0).getValues();
-        for (FieldValue entry : entries)
-        {
-            Field field = entry.getField();
-            if (FieldType.TEXT.equals(field.getType()))
-            {
-                Map<String, String> properties = field.getProperties();
-                if ("email".equals(properties.get("regexptype")) && entry.getValue() != null)
-                {
-                    atts.clear();
-                    
-                    atts.addCDATAAttribute("displayValue", field.getLabel() + ": " + (String) entry.getValue());
-                    atts.addCDATAAttribute("value", (String) entry.getValue());
-                    
-                    XMLUtils.createElement(contentHandler, "email", atts);
-                }
-            }
-        }
-        
-        XMLUtils.endElement(contentHandler, "emails");
-        
-        XMLUtils.endElement(contentHandler, "further-information");
-        contentHandler.endDocument();
-    }
-}
Index: main/plugin-forms/src/org/ametys/plugins/forms/workflow/RequestInformationFunction.java
===================================================================
--- main/plugin-forms/src/org/ametys/plugins/forms/workflow/RequestInformationFunction.java	(revision 40335)
+++ main/plugin-forms/src/org/ametys/plugins/forms/workflow/RequestInformationFunction.java	(nonexistent)
@@ -1,76 +0,0 @@
-/*
- *  Copyright 2016 Anyware Services
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.ametys.plugins.forms.workflow;
-
-import java.util.Map;
-
-import javax.mail.MessagingException;
-
-import org.apache.avalon.framework.component.Component;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
-import org.ametys.runtime.plugins.core.mail.SendMailHelper;
-
-import com.opensymphony.module.propertyset.PropertySet;
-import com.opensymphony.workflow.FunctionProvider;
-import com.opensymphony.workflow.WorkflowException;
-
-/**
- * OS workflow function to send mail after an action is triggered.
- * The author of a form entry is also notified if the receipt is set
- */
-public class RequestInformationFunction extends AbstractLogEnabled implements Component, FunctionProvider
-{
-    /** Actually send the email ? */
-    public static final String SEND_MAIL = "send-request-information-mail";
-    
-    /** Body of the email */
-    public static final String SENDER = "sender";
-    
-    /** Body of the email */
-    public static final String RECIPIENT = "recipient";
-
-    /** Subject of the email */
-    public static final String SUBJECT = "subject";
-    
-    /** Body of the email */
-    public static final String BODY = "body";
-    
-    @Override
-    public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException
-    {
-        // If "send-mail" is set to true or is not present, send the mail.
-        boolean dontSendMail = "false".equals(transientVars.get(SEND_MAIL));
-        if (dontSendMail)
-        {
-            return;
-        }
-        
-        String sender = (String) transientVars.get(SENDER);
-        String recipient = (String) transientVars.get(RECIPIENT);
-        String subject = (String) transientVars.get(SUBJECT);
-        String body = (String) transientVars.get(BODY);
-        
-        try
-        {
-            SendMailHelper.sendMail(subject, null, body, recipient, sender);
-        }
-        catch (MessagingException e)
-        {
-            getLogger().warn("Could not send a workflow notification mail to " + recipient, e);
-        }
-    }
-}
Index: main/plugin-forms/src/org/ametys/plugins/forms/workflow/SendMailFunction.java
===================================================================
--- main/plugin-forms/src/org/ametys/plugins/forms/workflow/SendMailFunction.java	(revision 40335)
+++ main/plugin-forms/src/org/ametys/plugins/forms/workflow/SendMailFunction.java	(working copy)
@@ -32,7 +32,7 @@
  * OS workflow function to send mail after an action is triggered.
  * The author of a form entry is also notified if the receipt is set
  */
-public class RequestInformationFunction extends AbstractLogEnabled implements Component, FunctionProvider
+public class SendMailFunction extends AbstractLogEnabled implements Component, FunctionProvider
 {
     /** Actually send the email ? */
     public static final String SEND_MAIL = "send-request-information-mail";
Index: main/plugin-forms/src/org/ametys/plugins/forms/workflow/SendMailGenerator.java
===================================================================
--- main/plugin-forms/src/org/ametys/plugins/forms/workflow/SendMailGenerator.java	(revision 40335)
+++ main/plugin-forms/src/org/ametys/plugins/forms/workflow/SendMailGenerator.java	(working copy)
@@ -43,9 +43,9 @@
 import org.ametys.runtime.user.UsersManager;
 
 /**
- * Generator retrieving information for the further information requests
+ * Generator retrieving information for the sending of emails
  */
-public class FurtherInformationGenerator extends ServiceableGenerator
+public class SendMailGenerator extends ServiceableGenerator
 {
     /** Manager of the forms JCR representation */
     private FormPropertiesManager _formPropertiesManager;
@@ -72,7 +72,7 @@
     public void generate() throws IOException, SAXException, ProcessingException
     {
         contentHandler.startDocument();
-        XMLUtils.startElement(contentHandler, "further-information");
+        XMLUtils.startElement(contentHandler, "send-mail");
         
         // Retrieve the current user name and email
         String login = _currentUserProvider.getUser();
@@ -125,7 +125,7 @@
         
         XMLUtils.endElement(contentHandler, "emails");
         
-        XMLUtils.endElement(contentHandler, "further-information");
+        XMLUtils.endElement(contentHandler, "send-mail");
         contentHandler.endDocument();
     }
 }
