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 ); } } } |