mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
. Improvements to the UI for email template selection in the Rule/Action dialogs
- Also allows preview of an email template so the user has an idea what they have selected . Much improved screen layout and better default for Invite Users notification dialogs - as above, after design session with Linton this morning git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2545 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -675,9 +675,7 @@ action_copy=Copy to
|
|||||||
action_extract_metadata=Extract metadata from content
|
action_extract_metadata=Extract metadata from content
|
||||||
action_move=Move to
|
action_move=Move to
|
||||||
action_mail=Send email to
|
action_mail=Send email to
|
||||||
action_mail_message_text=Enter message text
|
action_mail_template=Use Template
|
||||||
action_mail_template_text=Or select an email template for the message body
|
|
||||||
action_mail_template=Template
|
|
||||||
action_check_in=Check in content as ''{0}'' with comment ''{1}''
|
action_check_in=Check in content as ''{0}'' with comment ''{1}''
|
||||||
action_check_out=Check out content to
|
action_check_out=Check out content to
|
||||||
action_set_property_value=Sets property
|
action_set_property_value=Sets property
|
||||||
@@ -689,7 +687,12 @@ encoding=Encoding
|
|||||||
encoding_utf8=UTF-8
|
encoding_utf8=UTF-8
|
||||||
rule_type=Rule Type
|
rule_type=Rule Type
|
||||||
rule_background_info=If this option is selected the rule will execute in the background so the results may not appear immediately.
|
rule_background_info=If this option is selected the rule will execute in the background so the results may not appear immediately.
|
||||||
selected_recipients=Select email recipients
|
select_recipients=Search for email recipients by Name or Group
|
||||||
|
selected_recipients=Selected email recipients
|
||||||
|
message_recipients=Message Recipients
|
||||||
|
email_message=Email message
|
||||||
|
insert_template=Insert Template
|
||||||
|
discard_template=Discard Template
|
||||||
|
|
||||||
# New Space Wizard messages
|
# New Space Wizard messages
|
||||||
new_space_title=New Space Wizard
|
new_space_title=New Space Wizard
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package org.alfresco.web.bean.wizard;
|
package org.alfresco.web.bean.wizard;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -50,6 +51,8 @@ import org.alfresco.service.cmr.action.ActionService;
|
|||||||
import org.alfresco.service.cmr.dictionary.AspectDefinition;
|
import org.alfresco.service.cmr.dictionary.AspectDefinition;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.security.AuthorityService;
|
import org.alfresco.service.cmr.security.AuthorityService;
|
||||||
@@ -62,6 +65,7 @@ import org.alfresco.web.bean.repository.Node;
|
|||||||
import org.alfresco.web.bean.repository.Repository;
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.data.IDataContainer;
|
import org.alfresco.web.data.IDataContainer;
|
||||||
import org.alfresco.web.data.QuickSort;
|
import org.alfresco.web.data.QuickSort;
|
||||||
|
import org.alfresco.web.ui.common.Utils;
|
||||||
import org.alfresco.web.ui.common.component.UIGenericPicker;
|
import org.alfresco.web.ui.common.component.UIGenericPicker;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@@ -104,6 +108,7 @@ public abstract class BaseActionWizard extends AbstractWizardBean
|
|||||||
// new rule/action wizard specific properties
|
// new rule/action wizard specific properties
|
||||||
protected boolean multiActionMode = false;
|
protected boolean multiActionMode = false;
|
||||||
protected String action;
|
protected String action;
|
||||||
|
protected String usingTemplate = null;
|
||||||
|
|
||||||
protected ActionService actionService;
|
protected ActionService actionService;
|
||||||
protected DictionaryService dictionaryService;
|
protected DictionaryService dictionaryService;
|
||||||
@@ -144,6 +149,7 @@ public abstract class BaseActionWizard extends AbstractWizardBean
|
|||||||
this.actionDescriptions = null;
|
this.actionDescriptions = null;
|
||||||
this.emailRecipientsDataModel = null;
|
this.emailRecipientsDataModel = null;
|
||||||
this.emailRecipients = new ArrayList<RecipientWrapper>(4);
|
this.emailRecipients = new ArrayList<RecipientWrapper>(4);
|
||||||
|
this.usingTemplate = null;
|
||||||
|
|
||||||
this.currentActionProperties = new HashMap<String, Serializable>(3);
|
this.currentActionProperties = new HashMap<String, Serializable>(3);
|
||||||
|
|
||||||
@@ -367,10 +373,9 @@ public abstract class BaseActionWizard extends AbstractWizardBean
|
|||||||
actionParams.put(MailActionExecuter.PARAM_FROM, from);
|
actionParams.put(MailActionExecuter.PARAM_FROM, from);
|
||||||
|
|
||||||
// add the template if one was selected by the user
|
// add the template if one was selected by the user
|
||||||
String template = (String)this.currentActionProperties.get(PROP_TEMPLATE);
|
if (this.usingTemplate != null)
|
||||||
if (template != null && template.equals(TemplateSupportBean.NO_SELECTION) == false)
|
|
||||||
{
|
{
|
||||||
actionParams.put(MailActionExecuter.PARAM_TEMPLATE, new NodeRef(Repository.getStoreRef(), template));
|
actionParams.put(MailActionExecuter.PARAM_TEMPLATE, new NodeRef(Repository.getStoreRef(), this.usingTemplate));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (this.action.equals(ImporterActionExecuter.NAME))
|
else if (this.action.equals(ImporterActionExecuter.NAME))
|
||||||
@@ -517,6 +522,7 @@ public abstract class BaseActionWizard extends AbstractWizardBean
|
|||||||
if (templateRef != null)
|
if (templateRef != null)
|
||||||
{
|
{
|
||||||
this.currentActionProperties.put(PROP_TEMPLATE, templateRef.getId());
|
this.currentActionProperties.put(PROP_TEMPLATE, templateRef.getId());
|
||||||
|
this.usingTemplate = templateRef.getId();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (this.action.equals(ImporterActionExecuter.NAME))
|
else if (this.action.equals(ImporterActionExecuter.NAME))
|
||||||
@@ -1026,6 +1032,22 @@ public abstract class BaseActionWizard extends AbstractWizardBean
|
|||||||
return this.users;
|
return this.users;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Returns if a template has been inserted by a user for email body.
|
||||||
|
*/
|
||||||
|
public String getUsingTemplate()
|
||||||
|
{
|
||||||
|
return this.usingTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param usingTemplate Template that has been inserted by a user for the email body.
|
||||||
|
*/
|
||||||
|
public void setUsingTemplate(String usingTemplate)
|
||||||
|
{
|
||||||
|
this.usingTemplate = usingTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Action event handlers
|
// Action event handlers
|
||||||
@@ -1093,6 +1115,44 @@ public abstract class BaseActionWizard extends AbstractWizardBean
|
|||||||
this.emailRecipients.remove(wrapper);
|
this.emailRecipients.remove(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action handler called to insert a template as the email body
|
||||||
|
*/
|
||||||
|
public void insertTemplate(ActionEvent event)
|
||||||
|
{
|
||||||
|
String template = (String)this.currentActionProperties.get(PROP_TEMPLATE);
|
||||||
|
if (template != null && template.equals(TemplateSupportBean.NO_SELECTION) == false)
|
||||||
|
{
|
||||||
|
// get the content of the template so the user can get a basic preview of it
|
||||||
|
try
|
||||||
|
{
|
||||||
|
NodeRef templateRef = new NodeRef(Repository.getStoreRef(), template);
|
||||||
|
ContentService cs = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getContentService();
|
||||||
|
ContentReader reader = cs.getReader(templateRef, ContentModel.PROP_CONTENT);
|
||||||
|
if (reader != null && reader.exists())
|
||||||
|
{
|
||||||
|
this.currentActionProperties.put(PROP_MESSAGE, reader.getContentString());
|
||||||
|
|
||||||
|
usingTemplate = template;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Throwable err)
|
||||||
|
{
|
||||||
|
Utils.addErrorMessage(MessageFormat.format(Application.getMessage(
|
||||||
|
FacesContext.getCurrentInstance(), Repository.ERROR_GENERIC), err.getMessage()), err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action handler called to discard the template from the email body
|
||||||
|
*/
|
||||||
|
public void discardTemplate(ActionEvent event)
|
||||||
|
{
|
||||||
|
this.currentActionProperties.put(PROP_MESSAGE, "");
|
||||||
|
usingTemplate = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Inner classes
|
// Inner classes
|
||||||
|
@@ -34,6 +34,8 @@ import javax.transaction.UserTransaction;
|
|||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.service.ServiceRegistry;
|
import org.alfresco.service.ServiceRegistry;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.TemplateNode;
|
import org.alfresco.service.cmr.repository.TemplateNode;
|
||||||
import org.alfresco.service.cmr.security.AuthorityService;
|
import org.alfresco.service.cmr.security.AuthorityService;
|
||||||
@@ -100,9 +102,9 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
private String notify = NOTIFY_YES;
|
private String notify = NOTIFY_YES;
|
||||||
private String subject = null;
|
private String subject = null;
|
||||||
private String body = null;
|
private String body = null;
|
||||||
private String internalSubject = null;
|
|
||||||
private String automaticText = null;
|
private String automaticText = null;
|
||||||
private String template = null;
|
private String template = null;
|
||||||
|
private String usingTemplate = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return a cached list of available permissions for the type being dealt with
|
* @return a cached list of available permissions for the type being dealt with
|
||||||
@@ -171,8 +173,8 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
subject = "";
|
subject = "";
|
||||||
body = "";
|
body = "";
|
||||||
automaticText = "";
|
automaticText = "";
|
||||||
internalSubject = null;
|
|
||||||
template = null;
|
template = null;
|
||||||
|
usingTemplate = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -191,12 +193,6 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
tx = Repository.getUserTransaction(context);
|
tx = Repository.getUserTransaction(context);
|
||||||
tx.begin();
|
tx.begin();
|
||||||
|
|
||||||
String subject = this.subject;
|
|
||||||
if (subject == null || subject.length() == 0)
|
|
||||||
{
|
|
||||||
subject = this.internalSubject;
|
|
||||||
}
|
|
||||||
|
|
||||||
User user = Application.getCurrentUser(context);
|
User user = Application.getCurrentUser(context);
|
||||||
String from = (String)this.nodeService.getProperty(user.getPerson(), ContentModel.PROP_EMAIL);
|
String from = (String)this.nodeService.getProperty(user.getPerson(), ContentModel.PROP_EMAIL);
|
||||||
if (from == null || from.length() == 0)
|
if (from == null || from.length() == 0)
|
||||||
@@ -287,22 +283,11 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
|
|
||||||
if (to != null && to.length() != 0)
|
if (to != null && to.length() != 0)
|
||||||
{
|
{
|
||||||
FacesContext fc = FacesContext.getCurrentInstance();
|
String body = this.body;
|
||||||
|
if (this.usingTemplate != null)
|
||||||
String body;
|
|
||||||
if (this.template == null || this.template.equals(TemplateSupportBean.NO_SELECTION) == true)
|
|
||||||
{
|
{
|
||||||
String msgRole = Application.getMessage(fc, MSG_INVITED_ROLE);
|
FacesContext fc = FacesContext.getCurrentInstance();
|
||||||
String roleMessage = MessageFormat.format(msgRole, new Object[] {roleText});
|
|
||||||
|
|
||||||
body = this.internalSubject + "\r\n\r\n" + roleMessage + "\r\n\r\n";// + url + "\r\n\r\n";
|
|
||||||
if (this.body != null && this.body.length() != 0)
|
|
||||||
{
|
|
||||||
body += this.body;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// use template service to format the email
|
// use template service to format the email
|
||||||
ServiceRegistry services = Repository.getServiceRegistry(fc);
|
ServiceRegistry services = Repository.getServiceRegistry(fc);
|
||||||
Map<String, Object> model = DefaultModelHelper.buildDefaultModel(
|
Map<String, Object> model = DefaultModelHelper.buildDefaultModel(
|
||||||
@@ -310,13 +295,13 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
model.put("role", roleText);
|
model.put("role", roleText);
|
||||||
model.put("space", new TemplateNode(node, Repository.getServiceRegistry(fc), null));
|
model.put("space", new TemplateNode(node, Repository.getServiceRegistry(fc), null));
|
||||||
|
|
||||||
NodeRef templateRef = new NodeRef(Repository.getStoreRef(), this.template);
|
NodeRef templateRef = new NodeRef(Repository.getStoreRef(), this.usingTemplate);
|
||||||
body = services.getTemplateService().processTemplate("freemarker", templateRef.toString(), model);
|
body = services.getTemplateService().processTemplate("freemarker", templateRef.toString(), model);
|
||||||
}
|
}
|
||||||
|
|
||||||
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
|
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
|
||||||
simpleMailMessage.setTo(to);
|
simpleMailMessage.setTo(to);
|
||||||
simpleMailMessage.setSubject(subject);
|
simpleMailMessage.setSubject(this.subject);
|
||||||
simpleMailMessage.setText(body);
|
simpleMailMessage.setText(body);
|
||||||
simpleMailMessage.setFrom(from);
|
simpleMailMessage.setFrom(from);
|
||||||
|
|
||||||
@@ -555,6 +540,43 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
return roles;
|
return roles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action handler called to insert a template as the email body
|
||||||
|
*/
|
||||||
|
public void insertTemplate(ActionEvent event)
|
||||||
|
{
|
||||||
|
if (this.template != null && this.template.equals(TemplateSupportBean.NO_SELECTION) == false)
|
||||||
|
{
|
||||||
|
// get the content of the template so the user can get a basic preview of it
|
||||||
|
try
|
||||||
|
{
|
||||||
|
NodeRef templateRef = new NodeRef(Repository.getStoreRef(), this.template);
|
||||||
|
ContentService cs = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getContentService();
|
||||||
|
ContentReader reader = cs.getReader(templateRef, ContentModel.PROP_CONTENT);
|
||||||
|
if (reader != null && reader.exists())
|
||||||
|
{
|
||||||
|
this.body = reader.getContentString();
|
||||||
|
|
||||||
|
this.usingTemplate = this.template;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Throwable err)
|
||||||
|
{
|
||||||
|
Utils.addErrorMessage(MessageFormat.format(Application.getMessage(
|
||||||
|
FacesContext.getCurrentInstance(), Repository.ERROR_GENERIC), err.getMessage()), err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action handler called to discard the template from the email body
|
||||||
|
*/
|
||||||
|
public void discardTemplate(ActionEvent event)
|
||||||
|
{
|
||||||
|
this.body = this.automaticText;
|
||||||
|
usingTemplate = null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the notify listbox selection.
|
* @return Returns the notify listbox selection.
|
||||||
*/
|
*/
|
||||||
@@ -570,22 +592,6 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
{
|
{
|
||||||
this.notify = notify;
|
this.notify = notify;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return Returns the automaticText.
|
|
||||||
*/
|
|
||||||
public String getAutomaticText()
|
|
||||||
{
|
|
||||||
return this.automaticText;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param automaticText The automaticText to set.
|
|
||||||
*/
|
|
||||||
public void setAutomaticText(String automaticText)
|
|
||||||
{
|
|
||||||
this.automaticText = automaticText;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the email body text.
|
* @return Returns the email body text.
|
||||||
@@ -634,6 +640,22 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
{
|
{
|
||||||
this.template = template;
|
this.template = template;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Returns if a template has been inserted by a user for email body.
|
||||||
|
*/
|
||||||
|
public String getUsingTemplate()
|
||||||
|
{
|
||||||
|
return this.usingTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param usingTemplate Template that has been inserted by a user for the email body.
|
||||||
|
*/
|
||||||
|
public void setUsingTemplate(String usingTemplate)
|
||||||
|
{
|
||||||
|
this.usingTemplate = usingTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.web.bean.wizard.AbstractWizardBean#getStepDescription()
|
* @see org.alfresco.web.bean.wizard.AbstractWizardBean#getStepDescription()
|
||||||
@@ -725,7 +747,7 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
{
|
{
|
||||||
FacesContext context = FacesContext.getCurrentInstance();
|
FacesContext context = FacesContext.getCurrentInstance();
|
||||||
|
|
||||||
// prepare automatic text for email and screen
|
// prepare automatic text for email and display
|
||||||
StringBuilder buf = new StringBuilder(256);
|
StringBuilder buf = new StringBuilder(256);
|
||||||
|
|
||||||
String personName = Application.getCurrentUser(context).getFullName(getNodeService());
|
String personName = Application.getCurrentUser(context).getFullName(getNodeService());
|
||||||
@@ -736,9 +758,11 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
path + '/' + node.getName(),
|
path + '/' + node.getName(),
|
||||||
personName}) );
|
personName}) );
|
||||||
|
|
||||||
this.internalSubject = buf.toString();
|
// default the subject line to an informative message
|
||||||
|
this.subject = buf.toString();
|
||||||
|
|
||||||
buf.append("<br>");
|
// add the rest of the automatic body text
|
||||||
|
buf.append("\r\n\r\n");
|
||||||
|
|
||||||
String msgRole = Application.getMessage(context, MSG_INVITED_ROLE);
|
String msgRole = Application.getMessage(context, MSG_INVITED_ROLE);
|
||||||
String roleText;
|
String roleText;
|
||||||
@@ -755,6 +779,9 @@ public abstract class InviteUsersWizard extends AbstractWizardBean
|
|||||||
buf.append(roleText);
|
buf.append(roleText);
|
||||||
|
|
||||||
this.automaticText = buf.toString();
|
this.automaticText = buf.toString();
|
||||||
|
|
||||||
|
// default the body content to this text
|
||||||
|
this.body = this.automaticText;
|
||||||
}
|
}
|
||||||
|
|
||||||
return outcome;
|
return outcome;
|
||||||
|
@@ -140,51 +140,22 @@
|
|||||||
<td colspan="2" class="mainSubTitle"><h:outputText value="#{NewActionWizard.stepTitle}" /></td>
|
<td colspan="2" class="mainSubTitle"><h:outputText value="#{NewActionWizard.stepTitle}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<%-- Select the email receipients --%>
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
<tr><td colspan="2" class="paddingRow"></td></tr>
|
||||||
|
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.message_recipients}" /></td></tr>
|
||||||
|
<tr><td colspan="2" style="padding-left:12px">1. <h:outputText value="#{msg.select_recipients}" /></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><h:outputText value="#{msg.subject}"/>:</td>
|
<%-- Generic Picker to select Users/Groups --%>
|
||||||
<td width="90%">
|
<td colspan=2 style="padding-left:16px">
|
||||||
<h:inputText id="subject" value="#{NewActionWizard.actionProperties.subject}" size="75" maxlength="1024"
|
|
||||||
onkeyup="javascript:checkButtonState();" /> *
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_message_text}"/></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td valign="top"><h:outputText value="#{msg.message}"/>:</td>
|
|
||||||
<td>
|
|
||||||
<h:inputTextarea value="#{NewActionWizard.actionProperties.message}"
|
|
||||||
rows="4" cols="75" />
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_template_text}"/></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td valign="top"><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
|
||||||
<td>
|
|
||||||
<%-- Templates drop-down selector --%>
|
|
||||||
<h:selectOneMenu value="#{NewActionWizard.actionProperties.template}">
|
|
||||||
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
|
||||||
</h:selectOneMenu>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.selected_recipients}" /></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<%-- Picker to select Users/Groups --%>
|
|
||||||
<td>
|
|
||||||
<a:genericPicker id="picker" filters="#{InviteSpaceUsersWizard.filters}"
|
<a:genericPicker id="picker" filters="#{InviteSpaceUsersWizard.filters}"
|
||||||
queryCallback="#{InviteSpaceUsersWizard.pickerCallback}"
|
queryCallback="#{InviteSpaceUsersWizard.pickerCallback}"
|
||||||
actionListener="#{NewActionWizard.addRecipient}" />
|
actionListener="#{NewActionWizard.addRecipient}" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr><td colspan="2" style="padding-left:12px">2. <h:outputText value="#{msg.selected_recipients}" /></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top"><h:outputText value="#{msg.to}"/>:</td>
|
<td colspan=2 style="padding-left:12px">
|
||||||
<td>
|
|
||||||
<h:dataTable value="#{NewActionWizard.emailRecipientsDataModel}" var="row"
|
<h:dataTable value="#{NewActionWizard.emailRecipientsDataModel}" var="row"
|
||||||
rowClasses="selectedItemsRow,selectedItemsRowAlt"
|
rowClasses="selectedItemsRow,selectedItemsRowAlt"
|
||||||
styleClass="selectedItems" headerClass="selectedItemsHeader"
|
styleClass="selectedItems" headerClass="selectedItemsHeader"
|
||||||
@@ -214,6 +185,44 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<%-- Enter the message subject and body --%>
|
||||||
|
<tr><td colspan="2" class="paddingRow"></td></tr>
|
||||||
|
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.email_message}" /></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td style="padding-left:16px"><h:outputText value="#{msg.subject}"/>:</td>
|
||||||
|
<td width="90%">
|
||||||
|
<h:inputText id="subject" value="#{NewActionWizard.actionProperties.subject}" size="75" maxlength="1024"
|
||||||
|
onkeyup="javascript:checkButtonState();" /> *
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td valign="top">
|
||||||
|
<table cellspacing=0 cellpadding=2 border=0
|
||||||
|
<tr>
|
||||||
|
<td><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<%-- Templates drop-down selector --%>
|
||||||
|
<h:selectOneMenu value="#{NewActionWizard.actionProperties.template}">
|
||||||
|
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
||||||
|
</h:selectOneMenu>
|
||||||
|
</td>
|
||||||
|
<td><h:commandButton value="#{msg.insert_template}" actionListener="#{NewActionWizard.insertTemplate}" styleClass="wizardButton" /></td>
|
||||||
|
<td><h:commandButton value="#{msg.discard_template}" actionListener="#{NewActionWizard.discardTemplate}" styleClass="wizardButton" disabled="#{NewActionWizard.usingTemplate == null}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td style="padding-left:16px"><h:outputText value="#{msg.message}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<h:inputTextarea value="#{NewActionWizard.actionProperties.message}"
|
||||||
|
rows="4" cols="75" disabled="#{NewActionWizard.usingTemplate != null}" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr><td class="paddingRow"></td></tr>
|
<tr><td class="paddingRow"></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2"><h:outputText value="#{NewActionWizard.stepInstructions}" /></td>
|
<td colspan="2"><h:outputText value="#{NewActionWizard.stepInstructions}" /></td>
|
||||||
|
@@ -129,46 +129,39 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<%-- Enter the message subject and body --%>
|
||||||
|
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.email_message}" /></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><h:outputText value="#{msg.subject}" />:</td>
|
<td style="padding-left:16px"><h:outputText value="#{msg.subject}"/>:</td>
|
||||||
<td>
|
<td>
|
||||||
<h:inputText value="#{InviteContentUsersWizard.subject}" size="50" maxlength="256" />
|
<h:inputText id="subject" value="#{InviteContentUsersWizard.subject}" size="75" maxlength="1024" /> *
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_message_text}"/></td></tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top"><h:outputText value="#{msg.body}" />:</td>
|
<td></td>
|
||||||
<td>
|
<td valign="top">
|
||||||
<h:inputTextarea value="#{InviteContentUsersWizard.body}" rows="2" cols="48" />
|
<table cellspacing=0 cellpadding=2 border=0
|
||||||
</td>
|
<tr>
|
||||||
</tr>
|
<td><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
||||||
<tr>
|
|
||||||
<td colspan=2>
|
|
||||||
<table border=0 cellspacing=2 cellpadding=0>
|
|
||||||
<tr valign="top">
|
|
||||||
<td>
|
<td>
|
||||||
<h:outputText value="#{msg.automatic_text}" />:
|
<%-- Templates drop-down selector --%>
|
||||||
</td>
|
<h:selectOneMenu value="#{InviteContentUsersWizard.template}">
|
||||||
<td>
|
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
||||||
<h:outputText escape="false" value="#{InviteContentUsersWizard.automaticText}" />
|
</h:selectOneMenu>
|
||||||
</td>
|
</td>
|
||||||
|
<td><h:commandButton value="#{msg.insert_template}" actionListener="#{InviteContentUsersWizard.insertTemplate}" styleClass="wizardButton" /></td>
|
||||||
|
<td><h:commandButton value="#{msg.discard_template}" actionListener="#{InviteContentUsersWizard.discardTemplate}" styleClass="wizardButton" disabled="#{InviteContentUsersWizard.usingTemplate == null}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<%-- template selector --%>
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_template_text}"/></td></tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top"><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
<td style="padding-left:16px"><h:outputText value="#{msg.message}"/>:</td>
|
||||||
<td>
|
<td>
|
||||||
<%-- Email templates drop-down selector --%>
|
<h:inputTextarea value="#{InviteContentUsersWizard.body}"
|
||||||
<h:selectOneMenu value="#{InviteContentUsersWizard.template}">
|
rows="4" cols="75" disabled="#{InviteContentUsersWizard.usingTemplate != null}" />
|
||||||
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
|
||||||
</h:selectOneMenu>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@@ -129,46 +129,39 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<%-- Enter the message subject and body --%>
|
||||||
|
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.email_message}" /></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><h:outputText value="#{msg.subject}" />:</td>
|
<td style="padding-left:16px"><h:outputText value="#{msg.subject}"/>:</td>
|
||||||
<td>
|
<td>
|
||||||
<h:inputText value="#{InviteSpaceUsersWizard.subject}" size="50" maxlength="256" />
|
<h:inputText id="subject" value="#{InviteSpaceUsersWizard.subject}" size="75" maxlength="1024" /> *
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_message_text}"/></td></tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top"><h:outputText value="#{msg.body}" />:</td>
|
<td></td>
|
||||||
<td>
|
<td valign="top">
|
||||||
<h:inputTextarea value="#{InviteSpaceUsersWizard.body}" rows="2" cols="48" />
|
<table cellspacing=0 cellpadding=2 border=0
|
||||||
</td>
|
<tr>
|
||||||
</tr>
|
<td><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
||||||
<tr>
|
|
||||||
<td colspan=2>
|
|
||||||
<table border=0 cellspacing=2 cellpadding=0>
|
|
||||||
<tr valign="top">
|
|
||||||
<td>
|
<td>
|
||||||
<h:outputText value="#{msg.automatic_text}" />:
|
<%-- Templates drop-down selector --%>
|
||||||
</td>
|
<h:selectOneMenu value="#{InviteSpaceUsersWizard.template}">
|
||||||
<td>
|
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
||||||
<h:outputText escape="false" value="#{InviteSpaceUsersWizard.automaticText}" />
|
</h:selectOneMenu>
|
||||||
</td>
|
</td>
|
||||||
|
<td><h:commandButton value="#{msg.insert_template}" actionListener="#{InviteSpaceUsersWizard.insertTemplate}" styleClass="wizardButton" /></td>
|
||||||
|
<td><h:commandButton value="#{msg.discard_template}" actionListener="#{InviteSpaceUsersWizard.discardTemplate}" styleClass="wizardButton" disabled="#{InviteSpaceUsersWizard.usingTemplate == null}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<%-- template selector --%>
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_template_text}"/></td></tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top"><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
<td style="padding-left:16px"><h:outputText value="#{msg.message}"/>:</td>
|
||||||
<td>
|
<td>
|
||||||
<%-- Email templates drop-down selector --%>
|
<h:inputTextarea value="#{InviteSpaceUsersWizard.body}"
|
||||||
<h:selectOneMenu value="#{InviteSpaceUsersWizard.template}">
|
rows="4" cols="75" disabled="#{InviteSpaceUsersWizard.usingTemplate != null}" />
|
||||||
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
|
||||||
</h:selectOneMenu>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@@ -126,51 +126,22 @@
|
|||||||
<td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.set_action_values}" /></td>
|
<td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.set_action_values}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<%-- Select the email receipients --%>
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
<tr><td colspan="2" class="paddingRow"></td></tr>
|
||||||
|
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.message_recipients}" /></td></tr>
|
||||||
|
<tr><td colspan="2" style="padding-left:12px">1. <h:outputText value="#{msg.select_recipients}" /></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><h:outputText value="#{msg.subject}"/>:</td>
|
<%-- Generic Picker to select Users/Groups --%>
|
||||||
<td width="90%">
|
<td colspan=2 style="padding-left:16px">
|
||||||
<h:inputText id="subject" value="#{NewRuleWizard.actionProperties.subject}" size="75" maxlength="1024"
|
|
||||||
onkeyup="javascript:checkButtonState();" /> *
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_message_text}"/></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td valign="top"><h:outputText value="#{msg.message}"/>:</td>
|
|
||||||
<td>
|
|
||||||
<h:inputTextarea value="#{NewRuleWizard.actionProperties.message}"
|
|
||||||
rows="4" cols="75" />
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.action_mail_template_text}"/></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td valign="top"><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
|
||||||
<td>
|
|
||||||
<%-- Templates drop-down selector --%>
|
|
||||||
<h:selectOneMenu value="#{NewRuleWizard.actionProperties.template}">
|
|
||||||
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
|
||||||
</h:selectOneMenu>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr><td colspan="2" class="paddingRow"></td></tr>
|
|
||||||
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.selected_recipients}" /></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<%-- Picker to select Users/Groups --%>
|
|
||||||
<td>
|
|
||||||
<a:genericPicker id="picker" filters="#{InviteSpaceUsersWizard.filters}"
|
<a:genericPicker id="picker" filters="#{InviteSpaceUsersWizard.filters}"
|
||||||
queryCallback="#{InviteSpaceUsersWizard.pickerCallback}"
|
queryCallback="#{InviteSpaceUsersWizard.pickerCallback}"
|
||||||
actionListener="#{NewRuleWizard.addRecipient}" />
|
actionListener="#{NewRuleWizard.addRecipient}" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr><td colspan="2" style="padding-left:12px">2. <h:outputText value="#{msg.selected_recipients}" /></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top"><h:outputText value="#{msg.to}"/>:</td>
|
<td colspan=2 style="padding-left:12px">
|
||||||
<td>
|
|
||||||
<h:dataTable value="#{NewRuleWizard.emailRecipientsDataModel}" var="row"
|
<h:dataTable value="#{NewRuleWizard.emailRecipientsDataModel}" var="row"
|
||||||
rowClasses="selectedItemsRow,selectedItemsRowAlt"
|
rowClasses="selectedItemsRow,selectedItemsRowAlt"
|
||||||
styleClass="selectedItems" headerClass="selectedItemsHeader"
|
styleClass="selectedItems" headerClass="selectedItemsHeader"
|
||||||
@@ -200,6 +171,44 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<%-- Enter the message subject and body --%>
|
||||||
|
<tr><td colspan="2" class="paddingRow"></td></tr>
|
||||||
|
<tr><td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.email_message}" /></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td style="padding-left:16px"><h:outputText value="#{msg.subject}"/>:</td>
|
||||||
|
<td width="90%">
|
||||||
|
<h:inputText id="subject" value="#{NewRuleWizard.actionProperties.subject}" size="75" maxlength="1024"
|
||||||
|
onkeyup="javascript:checkButtonState();" /> *
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td valign="top">
|
||||||
|
<table cellspacing=0 cellpadding=2 border=0
|
||||||
|
<tr>
|
||||||
|
<td><h:outputText value="#{msg.action_mail_template}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<%-- Templates drop-down selector --%>
|
||||||
|
<h:selectOneMenu value="#{NewRuleWizard.actionProperties.template}">
|
||||||
|
<f:selectItems value="#{TemplateSupportBean.emailTemplates}" />
|
||||||
|
</h:selectOneMenu>
|
||||||
|
</td>
|
||||||
|
<td><h:commandButton value="#{msg.insert_template}" actionListener="#{NewRuleWizard.insertTemplate}" styleClass="wizardButton" /></td>
|
||||||
|
<td><h:commandButton value="#{msg.discard_template}" actionListener="#{NewRuleWizard.discardTemplate}" styleClass="wizardButton" disabled="#{NewRuleWizard.usingTemplate == null}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td style="padding-left:16px"><h:outputText value="#{msg.message}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<h:inputTextarea value="#{NewRuleWizard.actionProperties.message}"
|
||||||
|
rows="4" cols="75" disabled="#{NewRuleWizard.usingTemplate != null}" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr><td class="paddingRow"></td></tr>
|
<tr><td class="paddingRow"></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
|
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
|
||||||
|
Reference in New Issue
Block a user