Changeset 3713 in main


Ignore:
Timestamp:
04/12/12 23:41:02 (10 years ago)
Author:
Garth Braithwaite
Message:

java and view - middle of refactoring user modelmaps. renamed the jars to include the version numbmer.

Location:
trunk/src/main
Files:
9 added
6 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/main/java/org/ibisph/user/modelmap/ProcessUserRegistration.java

    r3710 r3713  
    11package org.ibisph.user.modelmap;
    22
    3 import java.util.Date;
    43import java.util.Map;
    54
     
    98import org.dom4j.Document;
    109import org.dom4j.Element;
     10
    1111import org.ibisph.modelmap.ProcessModelMapFromHTTPRequest;
    12 import org.ibisph.user.service.EmailVerification;
    13 import org.ibisph.user.service.UserProfileXML;
    1412import org.ibisph.util.StrLib;
    1513import org.ibisph.util.XMLLib;
    16 import org.ibisph.web.servlet.AWTCaptchaServlet;
    1714
    1815
     
    2219 * @author Garth Braithwaite, STG
    2320 */
    24 public class ProcessUserRegistration implements ProcessModelMapFromHTTPRequest {
    25   protected static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ProcessUserRegistration.class);
    26 
    27   protected String captchaSessionName = AWTCaptchaServlet.CAPTCHA_SESSION_NAME;
    28 
    29   protected String userProfileModelMapKey = "UserProfile";
    30 
    31   protected String noUserIDStatusCode              = "INVALID_USER_ID";
    32   protected String userProfileExistsStatusCode     = "USER_PROFILE_EXISTS";
    33   protected String invalidCaptchaStatusCode        = "INVALID_CAPTCHA";
    34   protected String invalidEmailAddressStatusCode   = "INVALID_EMAIL_ADDRESS";
    35   protected String emailErrorStatusCode            = "EMAIL_ERROR";
    36   protected String verificationEmailSentStatusCode = "VERIFICATION_EMAIL_SENT";
    37 
    38   protected UserProfileXML    userProfileService       = null;
    39   protected EmailVerification emailVerificationService = null;
    40 
    41   protected String defaultHTTPRequestVerificationURLPrefix = null;
    42 
    43 
    44   public void setUserProfileModelMapKey(String userProfileModelMapKey) {
    45     this.userProfileModelMapKey = userProfileModelMapKey;
    46   }
    47   public void setUserProfileService(UserProfileXML userProfileService) {
    48     this.userProfileService = userProfileService;
    49   }
    50   public void setEmailVerificationService(EmailVerification emailVerificationService) {
    51     this.emailVerificationService = emailVerificationService;
    52   }
    53 
     21public class ProcessUserRegistration extends AbstractUserStatus implements ProcessModelMapFromHTTPRequest {
    5422
    5523  //------------------------ M A I N   R E Q U E S T   M O D E L   M E T H O D
     
    7139    if(!StrLib.isSomething(id)) {
    7240      logger.error(".processModelMap - NO USER ID.  User's IP: {}", request.getRemoteAddr());
    73       setStatusCode(userProfileElement, this.noUserIDStatusCode);
     41      setStatusCode(userProfileElement, AbstractUserStatus.NO_USER_ID_STATUS);
    7442      return;
    7543    }
    76    
     44
    7745    // first check to see if user profile already exists.  If so return message.
    7846    Document userProfile = this.userProfileService.getUser(id);
    7947    if(null != userProfile) {
    8048      logger.error(".processModelMap - USER ALREADY EXISTS.  Email Address: {}, User's IP: {}", id, request.getRemoteAddr());
    81       setStatusCode(userProfileElement, this.userProfileExistsStatusCode);
     49      setStatusCode(userProfileElement, AbstractUserStatus.USER_PROFILE_EXISTS_STATUS);
    8250      return;
    8351    }
     
    8856    if((null == userSessionCaptcha) || (null == userProfileCaptcha) || !userProfileCaptcha.equals(userSessionCaptcha)) {
    8957      logger.error(".processModelMap - INVALID CAPTCHA.  Email Address: {}, User's IP: {}", id, request.getRemoteAddr());
    90       setStatusCode(userProfileElement, this.invalidCaptchaStatusCode);
     58      setStatusCode(userProfileElement, AbstractUserStatus.INVALID_CAPTCHA_STATUS);
    9159      return;
    9260    }
     
    9664    if(!StrLib.isSomething(emailAddress)) {
    9765      logger.error(".processModelMap - MISSING EMAIL ADDRESS, User's IP: {}", request.getRemoteAddr());
    98       setStatusCode(userProfileElement, this.invalidEmailAddressStatusCode);
     66      setStatusCode(userProfileElement, AbstractUserStatus.INVALID_EMAIL_ADDRESS_STATUS);
    9967      return;
    10068    }
     
    11684    catch(AddressException ae) {
    11785      logger.error(".processModelMap - Email Address error, Address: {}", emailAddress);
    118       setStatusCode(userProfileElement, this.invalidEmailAddressStatusCode);
     86      setStatusCode(userProfileElement, AbstractUserStatus.INVALID_EMAIL_ADDRESS_STATUS);
    11987      return;
    12088    }
    12189    catch(Exception e) {
    12290      logger.error(".processModelMap - General Email Error. Address: {}", emailAddress, e);
    123       setStatusCode(userProfileElement, this.emailErrorStatusCode);
     91      setStatusCode(userProfileElement, AbstractUserStatus.EMAIL_ERROR_STATUS);
    12492      return;
    12593    }
     
    12896    Element verificationElement = XMLLib.newElement("VERIFICATION", verificationCode);
    12997    XMLLib.replaceElement(userProfileElement, verificationElement);
    130     setStatusCode(userProfileElement, this.verificationEmailSentStatusCode);
     98    setStatusCode(userProfileElement, AbstractUserStatus.VERIFICATION_EMAIL_SENT_STATUS);
    13199    this.userProfileService.saveUser(userProfileDocument);
    132   } //-------------------------- End of Method ------------------------------
    133 
    134 
    135   /**
    136    * Localizes setting of the user profile status.
    137    * @param userProfileElement
    138    * @param statusCode
    139    */
    140   protected void setStatusCode(Element userProfileElement, String statusCode) {
    141     Element statusCodeElement = XMLLib.newElement("STATUS_CODE", statusCode);
    142     Element dateElement       = XMLLib.newElement("DATE", (new Date()).toString());
    143     XMLLib.replaceElement(userProfileElement, statusCodeElement);
    144     XMLLib.replaceElement(userProfileElement, dateElement);
    145100  } //-------------------------- End of Method ------------------------------
    146101
  • trunk/src/main/java/org/ibisph/user/modelmap/VerifyUserRegistration.java

    r3710 r3713  
    11package org.ibisph.user.modelmap;
    22
    3 import java.util.Date;
    43import java.util.HashMap;
    54import java.util.Map;
     
    87
    98import org.dom4j.Document;
    10 import org.dom4j.Element;
    119
    1210import org.ibisph.modelmap.GetModelMapFromHTTPRequest;
    13 import org.ibisph.user.service.UserProfileXML;
    1411import org.ibisph.util.IOPath;
    1512import org.ibisph.util.StrLib;
     
    2219 * @author Garth Braithwaite, STG
    2320 */
    24 public class VerifyUserRegistration implements GetModelMapFromHTTPRequest {
    25   protected static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(VerifyUserRegistration.class);
    26 
    27   protected String userProfileModelMapKey = "UserProfile";
    28 
    29   protected String noUserIDStatusCode                 = "INVALID_USER_ID";
    30   protected String invalidVerificationStatusCode      = "INVALID_VERIFICATION";
    31   protected String userRegistrationVerifiedStatusCode = "VERIFIED";
    32 
    33   protected UserProfileXML userProfileService = null;
    34 
    35 
    36   public void setUserProfileModelMapKey(String userProfileModelMapKey) {
    37     this.userProfileModelMapKey = userProfileModelMapKey;
    38   }
    39   public void setUserProfileService(UserProfileXML userProfileService) {
    40     this.userProfileService = userProfileService;
    41   }
    42 
     21public class VerifyUserRegistration extends AbstractUserStatus implements GetModelMapFromHTTPRequest {
    4322
    4423  //------------------------ M A I N   R E Q U E S T   M O D E L   M E T H O D
     
    6039      logger.error(".processModelMap - INVALID USER ID.  User's IP: {}", request.getRemoteAddr());
    6140      userProfileDocument = XMLLib.newDocument("USER");
    62       setStatus(userProfileDocument, this.noUserIDStatusCode);
     41      setStatus(userProfileDocument, AbstractUserStatus.NO_USER_ID_STATUS);
    6342    }
    6443
    6544    else if((null == requestVerificationValue) || (null == userVerificationValue) || !requestVerificationValue.equals(userVerificationValue)) {
    6645      logger.error(".processModelMap - INVALID VERFICATION.  Email Address: {}, User's IP: {}", userID, request.getRemoteAddr());
    67       setStatus(userProfileDocument, this.invalidVerificationStatusCode);
     46      setStatus(userProfileDocument, AbstractUserStatus.INVALID_VERIFICATION_STATUS);
    6847    }
    6948
    7049    else {
    7150      // if here then verified.  set the status, save the user, and return.
    72       setStatus(userProfileDocument, this.userRegistrationVerifiedStatusCode);
     51      setStatus(userProfileDocument, AbstractUserStatus.REGISTRATION_VERIFIED_STATUS);
    7352      this.userProfileService.saveUser(userProfileDocument);
    7453    }
     
    7958  } //-------------------------- End of Method ------------------------------
    8059
    81 
    82   /**
    83    * Localizes setting of the user profile status.
    84    * @param userProfileDocument
    85    * @param statusCode
    86    */
    87   protected void setStatus(Document userProfileDocument, String statusCode) {
    88     Element statusCodeElement = XMLLib.newElement("STATUS", statusCode);
    89     Element dateElement       = XMLLib.newElement("UPDATED_DTS", (new Date()).toString());
    90     XMLLib.replaceElement(userProfileDocument, "", statusCodeElement);
    91     XMLLib.replaceElement(userProfileDocument, "", dateElement);
    92   } //-------------------------- End of Method ------------------------------
    93 
    9460} //============================ END OF CLASS =================================
    9561
  • trunk/src/main/java/pom.xml

    r3535 r3713  
    120120                        <groupId>javax.servlet</groupId>
    121121                        <artifactId>servlet-api</artifactId>
    122                         <version>25</version>
     122                        <version>2.5</version>
    123123                        <scope>provided</scope>
    124124        </dependency>
  • trunk/src/main/webapps/ibisph-view/WEB-INF/config/spring/dispatcher_servlet.xml

    r3710 r3713  
    117117                                <entry key="/save/query/definition/**"         value-ref="QueryDefinition.SaveDefinition.Controller"/>
    118118
    119 <!-- run directly with name being specified as a get...
    120 <entry key="/query/definition/result/**/*.html" value-ref="QueryDefinition.DefinitionResult.Controller"/>
    121 <entry key="/query/definition/system/result/**/*.html" value-ref="QueryDefinition.SystemResult.Controller"/>
    122 -->
    123119
    124120                                <!-- S E C U R E  -->
     
    170166                                <!-- U S E R   P R O F I L E -->
    171167                                <entry key="/user/Login.html"          value-ref="User.HTMLContent.Controller"/>
    172 <entry key="/user/AccountAccess.html"  value-ref="User.HTMLContent.Controller"/>
    173 <entry key="/send/user/password"       value-ref="User.EmailPassword.Controller"/>
    174 <entry key="/send/user/verification"   value-ref="User.EmailPassword.Controller"/>
    175 <entry key="/user/Registration.html"   value-ref="User.HTMLContent.Controller"/>
    176 <entry key="/save/user/registration"   value-ref="User.ProcessUserRegistration.Controller"/>
    177 <entry key="/verify/user/registration/**" value-ref="User.VerifyUserRegistration.Controller"/>
    178 <entry key="/edit/user/profile"        value-ref="User.EditProfile.Controller"/>
    179 <entry key="/save/user/profile"        value-ref="User.SaveProfile.Controller"/>
    180 
    181 <entry key="/user/selection/List.html" value-ref="User.QuerySelectionList.Controller"/>
     168                                <entry key="/user/Registration.html"   value-ref="User.HTMLContent.Controller"/>
     169                                <entry key="/save/user/registration"   value-ref="User.ProcessUserRegistration.Controller"/>
     170                                <entry key="/verify/user/registration/**" value-ref="User.VerifyUserRegistration.Controller"/>
     171                                <entry key="/user/AccountAccess.html"  value-ref="User.HTMLContent.Controller"/>
     172                                <entry key="/send/user/access"         value-ref="User.EmailAccess.Controller"/>
     173
     174                                <entry key="/user/selection/List.html" value-ref="User.QuerySelectionList.Controller"/>
     175
    182176
    183177                                <!-- B L O C K E D   R E S O U R C E S -->
  • trunk/src/main/webapps/ibisph-view/WEB-INF/config/spring/user.xml

    r3710 r3713  
    141141                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="securityQuestion"/><constructor-arg value="SECURITY_QUESTION"/></bean>
    142142                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="securityAnswer"/>  <constructor-arg value="SECURITY_ANSWER"/></bean>
     143                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="captcha"/>         <constructor-arg value="CAPTCHA"/></bean>
     144                        </list>
     145                </property>
     146        </bean>
     147
     148        <bean id="User.UserAccessFromHTTPRequestParameters.Service" class="org.ibisph.web.HTTPRequestParametersToContainerElementService">
     149                <description>used to load the email address and captcha value into a stubbed out user xml document.</description>
     150                <property name="containerElementName" value="USER"/>
     151                <property name="HTTPRequestParameterNameToXMLElementNameList">
     152                        <list>
     153                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="emailAddress"/>    <constructor-arg value="ID"/></bean>
     154                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="emailAddress"/>    <constructor-arg value="EMAIL_ADDRESS"/></bean>
    143155                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="captcha"/>         <constructor-arg value="CAPTCHA"/></bean>
    144156                        </list>
     
    201213        </bean>
    202214
     215        <bean id="User.UserAccessFromHTTPRequest.ModelMap" class="org.ibisph.web.modelmap.HTTPRequestParametersToXML">
     216                <description>
     217                        Loads the HTTP Request Parameters into a base USER XML container
     218                        element which is placed into the model map. 
     219                </description>
     220                <property name="HTTPRequestParametersToContainerElementService" ref="User.UserAccessFromHTTPRequestParameters.Service"/>
     221                <property name="modelMapKey" ref="User.UserProfile.ModelMapKey"/>
     222        </bean>
     223
    203224        <bean id="User.StatusHTMLContent.ModelMap" class="org.ibisph.modelmap.SimpleModelMap" parent="Common.XMLModelMap.CommonProperties">
    204225                <property name="model" ref="User.RegistartionStatus.HTMLContent.XML.SystemID"/>
    205226        </bean>
    206227
     228        <bean id="User.SendUserAccess.ModelMap" class="org.ibisph.user.modelmap.SendAccess">
     229                <property name="userProfileModelMapKey" ref="User.UserProfile.ModelMapKey"/>
     230                <property name="userProfileService"     ref="User.XML.Service"/>
     231        </bean>
    207232
    208233        <bean id="User.QueryDefinitionsXML.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionsFromHTTPRequest">
     
    210235                <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
    211236        </bean>
     237
    212238        <bean id="User.UserAuthoritiesXML.ModelMap" class="org.ibisph.user.springsecurity.UserAuthoritiesXMLModelMap">
    213239                <property name="modelMapKey" value="UserAuthorities"/>
     
    228254                </property>
    229255                <property name="view" ref="Home.HTMLContent.View"/>
    230         </bean>
    231 
    232         <bean id="User.EmailPassword.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    233                 <property name="modelMapList">
    234                         <list>
    235                         </list>
    236                 </property>
    237         </bean>
    238 
    239         <bean id="User.NewRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    240                 <property name="modelMapList">
    241                         <list>
    242                         </list>
    243                 </property>
    244256        </bean>
    245257
     
    270282        </bean>
    271283
    272 <bean id="User.VerifyUserRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     284        <bean id="User.VerifyUserRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    273285                <description>
    274286                        verify/user/registration/email address/session id
     
    290302        </bean>
    291303
    292 <bean id="User.EditProfile.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    293         </bean>
    294 
    295 <bean id="User.SaveProfile.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    296         </bean>
    297 
    298 
    299 
    300 
    301 
    302 
    303 
    304 
    305         <bean id="User.QuerySelectionList.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
    306                 <constructor-arg ref="Common.Webapp.RootPath"/>
    307                 <constructor-arg value="xslt/html/user/queryselections/SelectionPage.xslt"/>
    308         </bean>
    309 
    310 
    311 <!-- MY QUERIES -->
     304        <bean id="User.EmailAccess.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     305                <property name="modelMapList">
     306                        <list>
     307                                <ref bean="User.UserAccessFromHTTPRequest.ModelMap"/>
     308                                <ref bean="User.SendUserAccess.ModelMap"/>
     309                                <ref bean="User.StatusHTMLContent.ModelMap"/>
     310                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     311                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
     312                        </list>
     313                </property>
     314                <property name="view" ref="User.Status.View"/>
     315        </bean>
     316
    312317        <bean id="User.QuerySelectionList.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    313318                <description>    </description>
     
    324329        </bean>
    325330
    326         <bean id="User.QuerySelectionList.View" class="org.ibisph.xml.springmvc.XSLTXMLTransformationView">
    327                 <constructor-arg ref="User.QuerySelectionList.XSLT.SystemID"/>
    328                 <constructor-arg ref="Common.XSLT.Transformation"/>
    329         </bean>
    330331
    331332
     
    341342        </bean>
    342343
     344        <bean id="User.QuerySelectionList.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
     345                <constructor-arg ref="Common.Webapp.RootPath"/>
     346                <constructor-arg value="xslt/html/user/queryselections/SelectionPage.xslt"/>
     347        </bean>
     348
    343349
    344350
     
    353359                <constructor-arg ref="Common.XSLT.Transformation"/>
    354360        </bean>
     361
     362        <bean id="User.QuerySelectionList.View" class="org.ibisph.xml.springmvc.XSLTXMLTransformationView">
     363                <constructor-arg ref="User.QuerySelectionList.XSLT.SystemID"/>
     364                <constructor-arg ref="Common.XSLT.Transformation"/>
     365        </bean>
    355366</beans>
    356367
  • trunk/src/main/webapps/ibisph-view/xml/user/html_content/AccountAccess.xml

    r3699 r3713  
    4040
    4141                <h2>Username / Email Address</h2>
    42                 <form name="form" ibis:action="authenticate" method="POST">
     42                <form name="form" ibis:action="send/user/access" method="POST">
    4343                        <table cellspacing="0" cellpadding="5" border="0">
    4444                                <tr>
    45                                         <td width="110"><label for="username">Email Address *</label></td>
     45                                        <td width="110"><label for="userID">Email Address *</label></td>
    4646                                        <td>
    47                                                 <input type="text" name="username" size="40" maxlength="100" title="Login account username - typically your email address."/>
     47                                                <input type="text" name="userID" size="40" maxlength="100" title="Login account user name/ID - typically your email address."/>
    4848                                        </td>
    4949                                </tr>
     
    5151                                        <td><label for="captcha">Captcha Code*</label></td>
    5252                                        <td>
    53                                                 <input type="text" name="captcha" id="captcha" size="30" maxlength="10"/><br/>
    54                                                 <img ibis:src="captcha/code.png" alt="captcha image" title="Captcha - Non Machine Verification."/>
     53                                                <img ibis:src="captcha/code.png" alt="captcha image" title="Captcha - Non Machine Verification."/><br/>
     54                                                <input type="text" name="captcha" id="captcha" size="30" maxlength="10"/>
    5555                                        </td>
    5656                                </tr>
     
    5858                                <tr>
    5959                                        <td colspan="2">
    60                                                 <input name="sendPassword" type="button" value="Email Password" onclick="submitEmailPassword()" class="Button"/>
    61                                                 &#160;
    62                                                 <input name="sendVerification" type="button" value="Send Verification Email" onclick="submitEmailVerification()" class="Button"/>
     60                                                <input name="submit" type="submit" value="Email Your Access" class="Button"/>
    6361                                                <br/><br/>
    6462                                        </td>
     
    8482                </div>
    8583
    86                 <script type="text/javascript">
    87                         var webappPrefix = "<ibis:urlPrefix/>";
    88 
    89                         // <![CDATA[
    90                         document.form.username.focus();
    91 
    92                         function submitEmailPassword()
    93                         {
    94                                 if(isValidForm())
    95                                 {
    96                                         document.form.action = webappPrefix + "send/user/password";
    97                                         document.form.submit();
    98                                 }
    99                         }
    100                         function submitEmailVerification()
    101                         {
    102                                 if(isValidForm())
    103                                 {
    104                                         document.form.action = webappPrefix + "send/user/verification";
    105                                         document.form.submit();
    106                                 }
    107                         }
    108 
    109                         function isValidForm()
    110                         {
    111                                 if(document.form.username.value < " ")
    112                                 {
    113                                         alert("Email address MUST be populated.  This value is the unique identifier that is used by the system to access your user profile/account.");
    114                                         document.form.username.focus();
    115                                         return(false);
    116                                 }
    117                                 else if(document.form.captcha.value < " ")
    118                                 {
    119                                         alert("The CAPTCHA must be populated and must match the exact string value shown below the CAPTCHA input field (value is case sensative).");
    120                                         document.form.captcha.focus();
    121                                         return(false);
    122                                 }
    123                                 return(true);
    124                         }
    125                         // ]]>
    126                 </script>
    12784        </CONTENT>
    12885</HTML_CONTENT>
  • trunk/src/main/webapps/ibisph-view/xml/user/html_content/Status.xml

    r3710 r3713  
    1313                <company>Utah Department of Health/Software Technology Group</company>
    1414        </ibis:doc>
    15 
    1615
    1716        <TITLE>User Account Status</TITLE>
     
    3736                <ibis:ContiditionalSection id="USER_PROFILE_EXISTS">
    3837                        <h2 class="Error">User Profile Already Exists</h2>
    39                         The EMAIL ADDRESS you provided already exists.  If you have forgotton
    40                         your password please visit the
     38                        The EMAIL ADDRESS you provided already exists. 
     39                        <br/><br/>
     40
     41                        Please press your browser's back button and correct the error.  If
     42                        you have forgotton your password please visit the <a ibis:href="user/AccountAccess.html">Account
     43                        Access</a> page.  If you have concerns about this issue contact
     44                        this application's system administrator to report the problem.
     45                </ibis:ContiditionalSection>
     46
     47                <ibis:ContiditionalSection id="INVALID_CAPTCHA">
     48                        <h2 class="Error">Invalid Captcha Value</h2>
     49                        The email address you provided is invalid.  It must be non blank
     50                        and of the form name@some.mailserver.  Your email address is
     51                        critical as this is the mechanism which your account is activated.
     52                        You account must be activated before you can use it and the only
     53                        way to activate is via your clicking on a verification link that
     54                        is contained within an email set to you. 
    4155                        <br/><br/>
    4256
     
    4458                        you have entered a valid email address please contact this application's
    4559                        system administrator to report the problem.
    46                 </ibis:ContiditionalSection>
    47 
    48                 <ibis:ContiditionalSection id="INVALID_CAPTCHA">
    49                         <h2 class="Error">Invalid Captcha Value</h2>
    5060                </ibis:ContiditionalSection>
    5161
     
    6676                </ibis:ContiditionalSection>
    6777
     78USER_DOES_NOT_EXIST
     79PASSWORD_EMAIL_SENT
     80               
    6881                <ibis:ContiditionalSection id="VERIFIED">
    6982                        <h2>Account Verified and Active</h2>
Note: See TracChangeset for help on using the changeset viewer.