001
014
015 package com.liferay.taglib.ui;
016
017 import com.liferay.portal.kernel.settings.LocalizedValuesMap;
018 import com.liferay.portal.kernel.util.LocalizationUtil;
019 import com.liferay.portal.kernel.util.Validator;
020 import com.liferay.taglib.util.IncludeTag;
021
022 import java.util.Map;
023
024 import javax.servlet.http.HttpServletRequest;
025
026
029 public class EmailNotificationSettingsTag extends IncludeTag {
030
031 @Override
032 public int doStartTag() {
033 return EVAL_BODY_INCLUDE;
034 }
035
036 public void setBodyLabel(String bodyLabel) {
037 _bodyLabel = bodyLabel;
038 }
039
040 public void setEmailBody(String emailBody) {
041 _emailBody = emailBody;
042 }
043
044 public void setEmailBodyLocalizedValuesMap(
045 LocalizedValuesMap emailBodyLocalizedValuesMap) {
046
047 _emailBodyLocalizedValuesMap = emailBodyLocalizedValuesMap;
048 }
049
050 public void setEmailDefinitionTerms(
051 Map<String, String> emailDefinitionTerms) {
052
053 _emailDefinitionTerms = emailDefinitionTerms;
054 }
055
056 public void setEmailEnabled(boolean emailEnabled) {
057 _emailEnabled = emailEnabled;
058 }
059
060 public void setEmailParam(String emailParam) {
061 _emailParam = emailParam;
062 }
063
064 public void setEmailSubject(String emailSubject) {
065 _emailSubject = emailSubject;
066 }
067
068 public void setEmailSubjectLocalizedValuesMap(
069 LocalizedValuesMap emailSubjectLocalizedValuesMap) {
070
071 _emailSubjectLocalizedValuesMap = emailSubjectLocalizedValuesMap;
072 }
073
074 public void setFieldPrefix(String fieldPrefix) {
075 _fieldPrefix = fieldPrefix;
076 }
077
078 public void setFieldPrefixSeparator(String fieldPrefixSeparator) {
079 _fieldPrefixSeparator = fieldPrefixSeparator;
080 }
081
082 public void setHelpMessage(String helpMessage) {
083 _helpMessage = helpMessage;
084 }
085
086 public void setShowEmailEnabled(boolean showEmailEnabled) {
087 _showEmailEnabled = showEmailEnabled;
088 }
089
090 public void setShowSubject(boolean showSubject) {
091 _showSubject = showSubject;
092 }
093
094 @Override
095 protected void cleanUp() {
096 _bodyLabel = null;
097 _emailBody = null;
098 _emailDefinitionTerms = null;
099 _emailEnabled = false;
100 _emailParam = null;
101 _emailSubject = null;
102 _fieldPrefix = null;
103 _fieldPrefixSeparator = null;
104 _helpMessage = null;
105 _showEmailEnabled = true;
106 _showSubject = true;
107 }
108
109 @Override
110 protected String getPage() {
111 return _PAGE;
112 }
113
114 @Override
115 protected boolean isCleanUpSetAttributes() {
116 return _CLEAN_UP_SET_ATTRIBUTES;
117 }
118
119 @Override
120 protected void setAttributes(HttpServletRequest request) {
121 if (Validator.isNull(_bodyLabel)) {
122 _bodyLabel = "body";
123 }
124
125 if (Validator.isNull(_fieldPrefix)) {
126 _fieldPrefix = "preferences";
127 }
128
129 if (Validator.isNull(_fieldPrefixSeparator)) {
130 _fieldPrefixSeparator = "--";
131 }
132
133 request.setAttribute(
134 "liferay-ui:email-notification-settings:bodyLabel", _bodyLabel);
135
136 String emailBody = _emailBody;
137
138 if (Validator.isNull(emailBody) &&
139 (_emailBodyLocalizedValuesMap != null)) {
140
141 emailBody = LocalizationUtil.getXml(
142 _emailBodyLocalizedValuesMap, _emailParam + "Body");
143 }
144
145 request.setAttribute(
146 "liferay-ui:email-notification-settings:emailBody", emailBody);
147
148 request.setAttribute(
149 "liferay-ui:email-notification-settings:emailDefinitionTerms",
150 _emailDefinitionTerms);
151 request.setAttribute(
152 "liferay-ui:email-notification-settings:emailEnabled",
153 String.valueOf(_emailEnabled));
154 request.setAttribute(
155 "liferay-ui:email-notification-settings:emailParam", _emailParam);
156
157 String emailSubject = _emailSubject;
158
159 if (Validator.isNull(emailSubject) &&
160 (_emailSubjectLocalizedValuesMap != null)) {
161
162 emailSubject = LocalizationUtil.getXml(
163 _emailSubjectLocalizedValuesMap, _emailParam + "Subject");
164 }
165
166 request.setAttribute(
167 "liferay-ui:email-notification-settings:emailSubject",
168 emailSubject);
169
170 request.setAttribute(
171 "liferay-ui:email-notification-settings:fieldPrefix", _fieldPrefix);
172 request.setAttribute(
173 "liferay-ui:email-notification-settings:fieldPrefixSeparator",
174 _fieldPrefixSeparator);
175 request.setAttribute(
176 "liferay-ui:email-notification-settings:helpMessage", _helpMessage);
177 request.setAttribute(
178 "liferay-ui:email-notification-settings:showEmailEnabled",
179 _showEmailEnabled);
180 request.setAttribute(
181 "liferay-ui:email-notification-settings:showSubject", _showSubject);
182 }
183
184 private static final boolean _CLEAN_UP_SET_ATTRIBUTES = true;
185
186 private static final String _PAGE =
187 "/html/taglib/ui/email_notification_settings/page.jsp";
188
189 private String _bodyLabel;
190 private String _emailBody;
191 private LocalizedValuesMap _emailBodyLocalizedValuesMap;
192 private Map<String, String> _emailDefinitionTerms;
193 private boolean _emailEnabled;
194 private String _emailParam;
195 private String _emailSubject;
196 private LocalizedValuesMap _emailSubjectLocalizedValuesMap;
197 private String _fieldPrefix;
198 private String _fieldPrefixSeparator;
199 private String _helpMessage;
200 private boolean _showEmailEnabled = true;
201 private boolean _showSubject = true;
202
203 }