Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-login/src/java/com/finalist/cmsc/portlets
In directory 
james.mmbase.org:/tmp/cvs-serv24145/src/java/com/finalist/cmsc/portlets

Modified Files:
      Tag: b1_5
        RegisterPorlet.java 
Log Message:
CMSC-948 Registration portlet for CMS container


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-login/src/java/com/finalist/cmsc/portlets
See also: http://www.mmbase.org/jira/browse/CMSC-948


Index: RegisterPorlet.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-login/src/java/com/finalist/cmsc/portlets/RegisterPorlet.java,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -b -r1.1.2.7 -r1.1.2.8
--- RegisterPorlet.java 27 Nov 2008 08:31:13 -0000      1.1.2.7
+++ RegisterPorlet.java 28 Nov 2008 11:57:46 -0000      1.1.2.8
@@ -9,6 +9,7 @@
 import javax.portlet.ActionRequest;
 import javax.portlet.ActionResponse;
 import javax.portlet.PortletException;
+import javax.portlet.PortletPreferences;
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 import javax.servlet.http.HttpServletRequest;
@@ -27,6 +28,7 @@
 
 import com.finalist.cmsc.mmbase.EmailUtil;
 import com.finalist.cmsc.mmbase.PropertiesUtil;
+import com.finalist.cmsc.portalImpl.PortalConstants;
 import com.finalist.cmsc.services.community.ApplicationContextFactory;
 import com.finalist.cmsc.services.community.person.Person;
 import com.finalist.cmsc.services.community.person.PersonService;
@@ -47,6 +49,10 @@
    private static final String ACEGI_SECURITY_FORM_PASSWORDCONF_KEY = 
"passwordConfirmation";
    private static final String DEFAULT_EMAILREGEX = 
"^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$";
 
+   private static final String EMAIL_SUBJECT = "emailSubject";
+   private static final String EMAIL_TEXT = "emailText";
+   private static final String EMAIL_FROMEMAIL = "emailFromEmail";
+   private static final String EMAIL_FROMNAME = "emailFromName";
    private static final Log log = LogFactory.getLog(RegisterPorlet.class);
 
    @Override
@@ -89,11 +95,20 @@
             Person person = personHibernateService.createPerson(firstName, 
infix, lastName,authId,RegisterStatus.UNCONFIRMED.getName(),new Date());
             person.setEmail(email);
             personHibernateService.updatePerson(person);
-            String subject = 
this.getPortletConfig().getInitParameter("confirmation.email.subject");
-            if (StringUtils.isBlank(subject)) {
-               subject = "Confirmation";
+            PortletPreferences preferences = request.getPreferences();
+            String emailSubject = preferences.getValue(EMAIL_SUBJECT, "Your 
account details associated with the given email address.\n");
+            String emailText = preferences.getValue(EMAIL_TEXT, null);
+            String emailFrom = preferences.getValue(EMAIL_FROMEMAIL, null);
+            String nameFrom = preferences.getValue(EMAIL_FROMNAME, null);
+
+            if (StringUtils.isBlank(emailText)) {
+               emailText = getEmailBody(request,authentication,person);
+            }
+            else {
+               emailText = 
emailText+"\n\n"+getEmailBody(request,authentication,person);
             }
-            EmailUtil.send(null, email, subject, 
getEmailBody(request,authentication,person));
+            //EmailUtil.send(null, email, subject, 
getEmailBody(request,authentication,person));
+            EmailUtil.send(null, null, email, nameFrom, emailFrom, 
emailSubject, emailText);
             response.setRenderParameter("email", email);
          } else {
             log.info("add authenticationId failed");
@@ -129,6 +144,25 @@
       }
       doInclude("view", template, request, response);
    }
+   
+   @Override
+   public void processEditDefaults(ActionRequest request, ActionResponse 
response) throws PortletException, IOException {
+      PortletPreferences preferences = request.getPreferences();
+      String portletId = 
preferences.getValue(PortalConstants.CMSC_OM_PORTLET_ID, null);
+
+      String emailSubject = request.getParameter(EMAIL_SUBJECT);
+      String emailText = request.getParameter(EMAIL_TEXT);
+      String emailFromEmail = request.getParameter(EMAIL_FROMEMAIL);
+      String emailFromName = request.getParameter(EMAIL_FROMNAME);
+      
+      setPortletParameter(portletId, EMAIL_SUBJECT, emailSubject);
+      setPortletParameter(portletId, EMAIL_TEXT, emailText);
+      setPortletParameter(portletId, EMAIL_FROMEMAIL, emailFromEmail);
+      setPortletParameter(portletId, EMAIL_FROMNAME, emailFromName);
+
+      super.processEditDefaults(request, response);
+   }
+   
    protected String getEmailBody(ActionRequest request,Authentication 
authentication,Person person) {
       InputStream is = 
Thread.currentThread().getContextClassLoader().getResourceAsStream("../templates/view/login/confirmation.txt");
       if(is == null) {
@@ -147,10 +181,12 @@
       }
       Cloud cloud = getCloudForAnonymousUpdate(false);
       String url = getConfirmationLink(cloud);
-      Encode encoder = new org.mmbase.util.Encode("BASE64");
-      String confirmUrl = HttpUtil.getWebappUri((HttpServletRequest) 
request)+"login/confirm.do?s="+encoder.encode(person.getEmail())+"&url="+encoder.encode(url);
+      //String confirmUrl = HttpUtil.getWebappUri((HttpServletRequest) 
request)+"login/confirm.do?s="+encoder.encode(person.getEmail())+"&url="+encoder.encode(url);
+      String confirmUrl = HttpUtil.getWebappUri((HttpServletRequest) 
request)+"login/confirm.do?s="+authentication.getId()+url;
       return String.format(sb.toString(), 
authentication.getUserId(),authentication.getPassword(),person.getFirstName(),person.getInfix(),person.getLastName(),confirmUrl);
+
    }
+   
    public Cloud getCloudForAnonymousUpdate(boolean isRemote) {
       Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
       if (isRemote) {
@@ -170,11 +206,13 @@
       NodeList pages = portlet.getRelatedNodes("page");
       if (pages != null && pages.size() >= 1) {
          Node page = pages.getNode(pages.size() - 1);
-         link = SiteManagement.getPath(page.getNumber(), true);
+//         link = SiteManagement.getPath(page.getNumber(), true);
+         link = "&pn="+page.getNumber();
         // link = "content/" + page.getNumber();
          RelationList relations = portlet.getRelations("portletrel", 
page.getNodeManager());
          String name = relations.getRelation(0).getStringValue("name");
-         link += 
"/_rp_".concat(name).concat("_").concat("active").concat("/1_");
+//         link += 
"/_rp_".concat(name).concat("_").concat("active").concat("/1_");
+         link += "&nm="+name;
       
       }
       return link;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to