<%=h(c.getPath())%> |
<%=h(property.get(SignUpModule.SIGNUP_GROUP_NAME))%> |
- <%=link("Remove", urlFor(RemovePropertyAction.class).addParameter("containerId", c.getRowId())).usePost()%> |
+ <%=link("Remove", urlFor(RemovePropertyAction.class).addParameter("folderId", c.getRowId())).usePost()%> |
<%}
}%>
diff --git a/signup/src/org/labkey/signup/SignUpController.java b/signup/src/org/labkey/signup/SignUpController.java
index 9ad907c9..1c6e74b9 100644
--- a/signup/src/org/labkey/signup/SignUpController.java
+++ b/signup/src/org/labkey/signup/SignUpController.java
@@ -17,6 +17,7 @@
package org.labkey.signup;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.validator.routines.EmailValidator;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.labkey.api.action.ApiResponse;
@@ -36,34 +37,55 @@
import org.labkey.api.data.DbScope;
import org.labkey.api.data.PropertyManager;
import org.labkey.api.data.Table;
+import org.labkey.api.portal.ProjectUrls;
+import org.labkey.api.security.AuthenticationManager;
import org.labkey.api.security.Group;
+import org.labkey.api.security.PasswordRule;
import org.labkey.api.security.RequiresLogin;
import org.labkey.api.security.RequiresNoPermission;
import org.labkey.api.security.RequiresPermission;
import org.labkey.api.security.RequiresSiteAdmin;
import org.labkey.api.security.SecurityManager;
-import org.labkey.api.security.SecurityMessage;
import org.labkey.api.security.User;
import org.labkey.api.security.UserManager;
import org.labkey.api.security.ValidEmail;
import org.labkey.api.security.permissions.ReadPermission;
import org.labkey.api.settings.LookAndFeelProperties;
+import org.labkey.api.util.Button;
+import org.labkey.api.util.DOM;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.URLHelper;
+import org.labkey.api.util.element.CsrfInput;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HtmlView;
+import org.labkey.api.view.HttpView;
import org.labkey.api.view.JspView;
import org.labkey.api.view.NavTree;
import org.labkey.api.view.WebPartView;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.view.RedirectView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import static org.labkey.api.security.AuthenticationManager.AuthenticationStatus.Success;
+import static org.labkey.api.util.DOM.Attribute.method;
+import static org.labkey.api.util.DOM.Attribute.name;
+import static org.labkey.api.util.DOM.Attribute.style;
+import static org.labkey.api.util.DOM.Attribute.type;
+import static org.labkey.api.util.DOM.Attribute.value;
+import static org.labkey.api.util.DOM.DIV;
+import static org.labkey.api.util.DOM.FORM;
+import static org.labkey.api.util.DOM.INPUT;
+import static org.labkey.api.util.DOM.LABEL;
+import static org.labkey.api.util.DOM.TABLE;
+import static org.labkey.api.util.DOM.TD;
+import static org.labkey.api.util.DOM.TR;
+import static org.labkey.api.util.DOM.at;
+import static org.labkey.api.util.DOM.cl;
+
public class SignUpController extends SpringActionController
{
private static final Logger _log = LogManager.getLogger(SignUpController.class);
@@ -111,10 +133,10 @@ public URLHelper getSuccessURL(AddPropertyForm addPropertyForm)
@Override
public boolean handlePost(AddPropertyForm addPropertyForm, BindException errors) throws Exception
{
- Container c = ContainerManager.getForRowId(addPropertyForm.getContainerId());
+ Container c = ContainerManager.getForRowId(addPropertyForm.getFolderId());
if(c == null)
{
- errors.addError(new LabKeyError("No container found for rowId " + addPropertyForm.getContainerId()));
+ errors.addError(new LabKeyError("No container found for rowId " + addPropertyForm.getFolderId()));
return false;
}
PropertyManager.PropertyMap m = PropertyManager.getWritableProperties(c, SignUpModule.SIGNUP_CATEGORY, true);
@@ -148,10 +170,10 @@ public URLHelper getSuccessURL(ContainerIdForm containerIdForm)
@Override
public boolean handlePost(ContainerIdForm containerIdForm, BindException errors) throws Exception
{
- Container c = ContainerManager.getForRowId(containerIdForm.getContainerId());
+ Container c = ContainerManager.getForRowId(containerIdForm.getFolderId());
if(c == null)
{
- errors.addError(new LabKeyError("No container found for rowId " + containerIdForm.getContainerId()));
+ errors.addError(new LabKeyError("No container found for rowId " + containerIdForm.getFolderId()));
return false;
}
PropertyManager.PropertyMap m = PropertyManager.getWritableProperties(c, SignUpModule.SIGNUP_CATEGORY, true);
@@ -244,16 +266,16 @@ public void validateCommand(AddGroupChangeForm target, Errors errors)
public static class ContainerIdForm
{
- private int _containerId;
+ private int _folderId; // Changed to _folderId since containerId is a disallowed parameter name: HasAllowBindParameter.disallowed
- public int getContainerId()
+ public int getFolderId()
{
- return _containerId;
+ return _folderId;
}
- public void setContainerId(int containerId)
+ public void setFolderId(int folderId)
{
- _containerId = containerId;
+ _folderId = folderId;
}
}
@@ -313,109 +335,186 @@ public void setNewgroup(int newgroup)
// Class ConfirmAction handles a user trying to confirm an account creation. If the email and confirmation code match
// that in our database they will be added to the LabKey user base
@RequiresNoPermission
- public class ConfirmAction extends SimpleViewAction