|
From: <mb...@re...> - 2004-11-05 23:51:02
|
Author: mbooth
Date: 2004-11-06 00:43:55 +0100 (Sat, 06 Nov 2004)
New Revision: 88
Modified:
ccm-core/trunk/src/com/arsdigita/formbuilder/actions/TemplateEmailListener.java
Log:
Don't throw an error if the user isn't logged in.
Modified: ccm-core/trunk/src/com/arsdigita/formbuilder/actions/TemplateEmailListener.java
===================================================================
--- ccm-core/trunk/src/com/arsdigita/formbuilder/actions/TemplateEmailListener.java 2004-11-05 23:43:05 UTC (rev 87)
+++ ccm-core/trunk/src/com/arsdigita/formbuilder/actions/TemplateEmailListener.java 2004-11-05 23:43:55 UTC (rev 88)
@@ -18,26 +18,24 @@
*/
package com.arsdigita.formbuilder.actions;
+import com.arsdigita.formbuilder.PersistentProcessListener;
import com.arsdigita.formbuilder.util.Placeholders;
+import com.arsdigita.bebop.FormProcessException;
+import com.arsdigita.bebop.event.FormProcessListener;
+import com.arsdigita.bebop.event.FormSectionEvent;
+import com.arsdigita.persistence.DataObject;
import com.arsdigita.persistence.OID;
-import com.arsdigita.persistence.DataObject;
import com.arsdigita.persistence.metadata.ObjectType;
import com.arsdigita.domain.DataObjectNotFoundException;
-
-import com.arsdigita.bebop.FormProcessException;
-import com.arsdigita.bebop.event.FormSectionEvent;
-
+import com.arsdigita.kernel.Kernel;
+import com.arsdigita.kernel.User;
import com.arsdigita.mail.Mail;
+import com.arsdigita.web.Web;
-import com.arsdigita.formbuilder.PersistentProcessListener;
-import com.arsdigita.formbuilder.util.Placeholders;
-
import java.math.BigDecimal;
import javax.mail.MessagingException;
-import com.arsdigita.util.UncheckedWrapperException;
-import com.arsdigita.bebop.event.FormProcessListener;
public class TemplateEmailListener extends PersistentProcessListener {
public static final String BASE_DATA_OBJECT_TYPE =
@@ -156,17 +154,23 @@
Placeholders p = new Placeholders(e.getPageState(),
e.getFormData());
- String to = p.interpolate(m_to);
+ String from;
+ User user = (User) Kernel.getContext().getParty();
+ if( null == user ) {
+ from = "notloggedinuser@" +
+ Web.getConfig().getServer().getName();
+ } else {
+ from = user.getPrimaryEmail().getEmailAddress();
+ }
+
String subject = p.interpolate(m_subject);
String body = p.interpolate(m_body);
- //String from = p.interpolate("::user.givenname:: ::user.familyname:: <::user.email::>");
- String from = p.interpolate("::user.email::");
try {
- Mail message = new Mail(to, from, subject, body);
+ Mail message = new Mail(m_to, from, subject, body);
message.send();
} catch (MessagingException ex) {
- throw new UncheckedWrapperException("cannot send message", ex);
+ throw new FormProcessException( "cannot send message", ex );
}
}
}
|