Commit 6bbedec8 by chenith

Updated email address change process.

parent 7dd8c1c2
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<column name="verification_mail_send_date" type="Date" nullable="true"/> <column name="verification_mail_send_date" type="Date" nullable="true"/>
<column name="verification_key" type="String" nullable="true" length="10"/> <column name="verification_key" type="String" nullable="true" length="10"/>
<column name="is_account_verified" type="Boolean" nullable="true"/> <column name="is_account_verified" type="Boolean" nullable="true"/>
<column name="is_email_changed" type="Boolean" nullable="true"/>
<column name="user_id" type="Long" length="11" nullable="true"/> <column name="user_id" type="Long" length="11" nullable="true"/>
<column name="company_id" type="Long" length="11" nullable="true"/> <column name="company_id" type="Long" length="11" nullable="true"/>
</NODE> </NODE>
......
...@@ -15,6 +15,7 @@ CREATE TABLE oneit_sec_user_extension ( ...@@ -15,6 +15,7 @@ CREATE TABLE oneit_sec_user_extension (
verification_mail_send_date datetime NULL, verification_mail_send_date datetime NULL,
verification_key varchar(10) NULL, verification_key varchar(10) NULL,
is_account_verified char(1) NULL, is_account_verified char(1) NULL,
is_email_changed char(1) NULL,
user_id numeric(12) NULL, user_id numeric(12) NULL,
company_id numeric(12) NULL company_id numeric(12) NULL
); );
......
...@@ -16,6 +16,7 @@ CREATE TABLE oneit_sec_user_extension ( ...@@ -16,6 +16,7 @@ CREATE TABLE oneit_sec_user_extension (
verification_mail_send_date date NULL, verification_mail_send_date date NULL,
verification_key varchar2(10) NULL, verification_key varchar2(10) NULL,
is_account_verified char(1) NULL, is_account_verified char(1) NULL,
is_email_changed char(1) NULL,
user_id number(12) NULL, user_id number(12) NULL,
company_id number(12) NULL company_id number(12) NULL
); );
......
...@@ -16,6 +16,7 @@ CREATE TABLE oneit_sec_user_extension ( ...@@ -16,6 +16,7 @@ CREATE TABLE oneit_sec_user_extension (
verification_mail_send_date timestamp NULL, verification_mail_send_date timestamp NULL,
verification_key varchar(10) NULL, verification_key varchar(10) NULL,
is_account_verified char(1) NULL, is_account_verified char(1) NULL,
is_email_changed char(1) NULL,
user_id numeric(12) NULL, user_id numeric(12) NULL,
company_id numeric(12) NULL company_id numeric(12) NULL
); );
......
...@@ -7,12 +7,16 @@ import oneit.email.ConfigurableArticleTemplateEmailer; ...@@ -7,12 +7,16 @@ import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.logging.LogLevel; import oneit.logging.LogLevel;
import oneit.logging.LogMgr; import oneit.logging.LogMgr;
import oneit.objstore.StorageException; import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.SecUser;
import oneit.servlets.forms.SubmissionDetails; import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult; import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState; import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP; import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import oneit.utils.InitialisationException; import oneit.utils.InitialisationException;
import oneit.utils.MultiException;
import oneit.utils.StringUtils;
import performa.orm.CompanyUser; import performa.orm.CompanyUser;
import performa.utils.Utils; import performa.utils.Utils;
...@@ -21,6 +25,28 @@ public class ResendVerificationFP extends SaveFP ...@@ -21,6 +25,28 @@ public class ResendVerificationFP extends SaveFP
{ {
protected ConfigurableArticleTemplateEmailer emailer; protected ConfigurableArticleTemplateEmailer emailer;
@Override
protected Map validate(SubmissionDetails submission, MultiException exceptions)
{
HttpServletRequest request = submission.getRequest();
CompanyUser companyUser = (CompanyUser) request.getAttribute("CompanyUser");
SecUser secUser = companyUser.getUser();
if(!companyUser.isLoggedViaSocial())
{
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(secUser.getTransaction(), secUser.getUserName(), companyUser), secUser, SecUser.FIELD_UserName, "emailExists", exceptions, true, request);
}
else
{
BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(secUser.getTransaction(), secUser.getEmail(), companyUser), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request);
}
return super.validate(submission, exceptions);
}
@Override @Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{ {
...@@ -31,12 +57,13 @@ public class ResendVerificationFP extends SaveFP ...@@ -31,12 +57,13 @@ public class ResendVerificationFP extends SaveFP
if(companyUser != null) if(companyUser != null)
{ {
Utils.sendVerificationMail(companyUser, request, emailer, ResendVerificationFP.class.getName()); Utils.sendEmailChangedMail(companyUser, request, emailer, ResendVerificationFP.class.getName());
} }
return super.processForm(process, submission, params); return super.processForm(process, submission, params);
} }
@Override @Override
public void init(ParticipantInitialisationContext context) throws InitialisationException public void init(ParticipantInitialisationContext context) throws InitialisationException
{ {
......
...@@ -63,6 +63,7 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -63,6 +63,7 @@ public class SaveUserDetailsFP extends SaveFP
if(validPassword) if(validPassword)
{ {
companyUser.setIsAccountVerified(Boolean.FALSE); companyUser.setIsAccountVerified(Boolean.FALSE);
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName()); Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
} }
...@@ -73,9 +74,9 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -73,9 +74,9 @@ public class SaveUserDetailsFP extends SaveFP
//send email verification mail //send email verification mail
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"Sending email resetted mail", companyUser ); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"Sending email resetted mail", companyUser );
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName()); companyUser.setIsEmailChanged(Boolean.TRUE);
companyUser.setIsAccountVerified(Boolean.FALSE); Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
} }
} }
...@@ -93,11 +94,11 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -93,11 +94,11 @@ public class SaveUserDetailsFP extends SaveFP
if(!companyUser.isLoggedViaSocial()) if(!companyUser.isLoggedViaSocial())
{ {
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request); BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(!isCompanyUserEmailFound(secUser.getTransaction(), secUser.getUserName(), companyUser), secUser, SecUser.FIELD_UserName, "emailExists", exceptions, true, request); BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(secUser.getTransaction(), secUser.getUserName(), companyUser), secUser, SecUser.FIELD_UserName, "emailExists", exceptions, true, request);
} }
else else
{ {
BusinessObjectParser.assertFieldCondition(!isCompanyUserEmailFound(secUser.getTransaction(), secUser.getEmail(), companyUser), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request); BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(secUser.getTransaction(), secUser.getEmail(), companyUser), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request);
} }
BusinessObjectParser.assertFieldCondition(secUser.getFirstName()!= null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(secUser.getFirstName()!= null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request);
...@@ -114,25 +115,4 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -114,25 +115,4 @@ public class SaveUserDetailsFP extends SaveFP
emailer = (ConfigurableArticleTemplateEmailer) (context.getSingleChild("AccountVerificationEmailer")); emailer = (ConfigurableArticleTemplateEmailer) (context.getSingleChild("AccountVerificationEmailer"));
} }
private static Boolean isCompanyUserEmailFound(ObjectTransaction objTran, String email, CompanyUser currentUser)
{
if(email!=null)
{
SecUser user = SecUser.searchNAME(objTran, email.toLowerCase());
if(user!=null)
{
CompanyUser comUser = user.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(comUser!=null && !CollectionUtils.equals(comUser, currentUser))
{
return Boolean.TRUE;
}
}
}
return Boolean.FALSE;
}
} }
\ No newline at end of file
...@@ -49,6 +49,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -49,6 +49,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
public static final String FIELD_VerificationMailSendDate = "VerificationMailSendDate"; public static final String FIELD_VerificationMailSendDate = "VerificationMailSendDate";
public static final String FIELD_VerificationKey = "VerificationKey"; public static final String FIELD_VerificationKey = "VerificationKey";
public static final String FIELD_IsAccountVerified = "IsAccountVerified"; public static final String FIELD_IsAccountVerified = "IsAccountVerified";
public static final String FIELD_IsEmailChanged = "IsEmailChanged";
public static final String FIELD_Email = "Email"; public static final String FIELD_Email = "Email";
public static final String FIELD_Password = "Password"; public static final String FIELD_Password = "Password";
public static final String FIELD_ConfirmPassword = "ConfirmPassword"; public static final String FIELD_ConfirmPassword = "ConfirmPassword";
...@@ -69,6 +70,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -69,6 +70,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
private static final DefaultAttributeHelper<CompanyUser> HELPER_VerificationMailSendDate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<CompanyUser> HELPER_VerificationMailSendDate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<CompanyUser> HELPER_VerificationKey = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<CompanyUser> HELPER_VerificationKey = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<CompanyUser> HELPER_IsAccountVerified = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<CompanyUser> HELPER_IsAccountVerified = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<CompanyUser> HELPER_IsEmailChanged = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<CompanyUser> HELPER_Email = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<CompanyUser> HELPER_Email = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<CompanyUser> HELPER_Password = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<CompanyUser> HELPER_Password = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<CompanyUser> HELPER_ConfirmPassword = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<CompanyUser> HELPER_ConfirmPassword = DefaultAttributeHelper.INSTANCE;
...@@ -82,6 +84,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -82,6 +84,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
private Date _VerificationMailSendDate; private Date _VerificationMailSendDate;
private String _VerificationKey; private String _VerificationKey;
private Boolean _IsAccountVerified; private Boolean _IsAccountVerified;
private Boolean _IsEmailChanged;
private String _Email; private String _Email;
private String _Password; private String _Password;
private String _ConfirmPassword; private String _ConfirmPassword;
...@@ -108,6 +111,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -108,6 +111,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
private static final AttributeValidator[] FIELD_VerificationMailSendDate_Validators; private static final AttributeValidator[] FIELD_VerificationMailSendDate_Validators;
private static final AttributeValidator[] FIELD_VerificationKey_Validators; private static final AttributeValidator[] FIELD_VerificationKey_Validators;
private static final AttributeValidator[] FIELD_IsAccountVerified_Validators; private static final AttributeValidator[] FIELD_IsAccountVerified_Validators;
private static final AttributeValidator[] FIELD_IsEmailChanged_Validators;
// Arrays of behaviour decorators // Arrays of behaviour decorators
...@@ -133,6 +137,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -133,6 +137,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
FIELD_VerificationMailSendDate_Validators = (AttributeValidator[])setupAttribMetaData_VerificationMailSendDate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_VerificationMailSendDate_Validators = (AttributeValidator[])setupAttribMetaData_VerificationMailSendDate(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_VerificationKey_Validators = (AttributeValidator[])setupAttribMetaData_VerificationKey(validatorMapping).toArray (new AttributeValidator[0]); FIELD_VerificationKey_Validators = (AttributeValidator[])setupAttribMetaData_VerificationKey(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IsAccountVerified_Validators = (AttributeValidator[])setupAttribMetaData_IsAccountVerified(validatorMapping).toArray (new AttributeValidator[0]); FIELD_IsAccountVerified_Validators = (AttributeValidator[])setupAttribMetaData_IsAccountVerified(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IsEmailChanged_Validators = (AttributeValidator[])setupAttribMetaData_IsEmailChanged(validatorMapping).toArray (new AttributeValidator[0]);
REFERENCE_CompanyUser.initialiseReference (); REFERENCE_CompanyUser.initialiseReference ();
...@@ -347,6 +352,25 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -347,6 +352,25 @@ public abstract class BaseCompanyUser extends SecUserExtension
return validators; return validators;
} }
// Meta Info setup
private static List setupAttribMetaData_IsEmailChanged(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "is_email_changed");
metaInfo.put ("defaultValue", "Boolean.FALSE");
metaInfo.put ("name", "IsEmailChanged");
metaInfo.put ("type", "Boolean");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for CompanyUser.IsEmailChanged:", metaInfo);
ATTRIBUTES_METADATA_CompanyUser.put (FIELD_IsEmailChanged, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(CompanyUser.class, "IsEmailChanged", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for CompanyUser.IsEmailChanged:", validators);
return validators;
}
// END OF STATIC METADATA DEFINITION // END OF STATIC METADATA DEFINITION
...@@ -381,6 +405,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -381,6 +405,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
_VerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.initialise (_VerificationMailSendDate)); _VerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.initialise (_VerificationMailSendDate));
_VerificationKey = (String)(HELPER_VerificationKey.initialise (_VerificationKey)); _VerificationKey = (String)(HELPER_VerificationKey.initialise (_VerificationKey));
_IsAccountVerified = (Boolean)(Boolean.FALSE); _IsAccountVerified = (Boolean)(Boolean.FALSE);
_IsEmailChanged = (Boolean)(Boolean.FALSE);
_Email = (String)(HELPER_Email.initialise (_Email)); _Email = (String)(HELPER_Email.initialise (_Email));
_Password = (String)(HELPER_Password.initialise (_Password)); _Password = (String)(HELPER_Password.initialise (_Password));
_ConfirmPassword = (String)(HELPER_ConfirmPassword.initialise (_ConfirmPassword)); _ConfirmPassword = (String)(HELPER_ConfirmPassword.initialise (_ConfirmPassword));
...@@ -1097,6 +1122,104 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -1097,6 +1122,104 @@ public abstract class BaseCompanyUser extends SecUserExtension
} }
/** /**
* Get the attribute IsEmailChanged
*/
public Boolean getIsEmailChanged ()
{
assertValid();
Boolean valToReturn = _IsEmailChanged;
for (CompanyUserBehaviourDecorator bhd : CompanyUser_BehaviourDecorators)
{
valToReturn = bhd.getIsEmailChanged ((CompanyUser)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preIsEmailChangedChange (Boolean newIsEmailChanged) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postIsEmailChangedChange () throws FieldException
{
}
public FieldWriteability getWriteability_IsEmailChanged ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute IsEmailChanged. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setIsEmailChanged (Boolean newIsEmailChanged) throws FieldException
{
boolean oldAndNewIdentical = HELPER_IsEmailChanged.compare (_IsEmailChanged, newIsEmailChanged);
try
{
for (CompanyUserBehaviourDecorator bhd : CompanyUser_BehaviourDecorators)
{
newIsEmailChanged = bhd.setIsEmailChanged ((CompanyUser)this, newIsEmailChanged);
oldAndNewIdentical = HELPER_IsEmailChanged.compare (_IsEmailChanged, newIsEmailChanged);
}
if (FIELD_IsEmailChanged_Validators.length > 0)
{
Object newIsEmailChangedObj = HELPER_IsEmailChanged.toObject (newIsEmailChanged);
if (newIsEmailChangedObj != null)
{
int loopMax = FIELD_IsEmailChanged_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_CompanyUser.get (FIELD_IsEmailChanged);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_IsEmailChanged_Validators[v].checkAttribute (this, FIELD_IsEmailChanged, metadata, newIsEmailChangedObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_IsEmailChanged () != FieldWriteability.FALSE, "Field IsEmailChanged is not writeable");
preIsEmailChangedChange (newIsEmailChanged);
markFieldChange (FIELD_IsEmailChanged);
_IsEmailChanged = newIsEmailChanged;
postFieldChange (FIELD_IsEmailChanged);
postIsEmailChangedChange ();
}
}
/**
* Get the attribute Email * Get the attribute Email
*/ */
public String getEmail () public String getEmail ()
...@@ -1796,6 +1919,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -1796,6 +1919,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
oneit_sec_user_extensionPSet.setAttrib (FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.toObject (_VerificationMailSendDate)); // oneit_sec_user_extensionPSet.setAttrib (FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.toObject (_VerificationMailSendDate)); //
oneit_sec_user_extensionPSet.setAttrib (FIELD_VerificationKey, HELPER_VerificationKey.toObject (_VerificationKey)); // oneit_sec_user_extensionPSet.setAttrib (FIELD_VerificationKey, HELPER_VerificationKey.toObject (_VerificationKey)); //
oneit_sec_user_extensionPSet.setAttrib (FIELD_IsAccountVerified, HELPER_IsAccountVerified.toObject (_IsAccountVerified)); // oneit_sec_user_extensionPSet.setAttrib (FIELD_IsAccountVerified, HELPER_IsAccountVerified.toObject (_IsAccountVerified)); //
oneit_sec_user_extensionPSet.setAttrib (FIELD_IsEmailChanged, HELPER_IsEmailChanged.toObject (_IsEmailChanged)); //
_Company.getPersistentSets (allSets); _Company.getPersistentSets (allSets);
} }
...@@ -1818,6 +1942,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -1818,6 +1942,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
_VerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.fromObject (_VerificationMailSendDate, oneit_sec_user_extensionPSet.getAttrib (FIELD_VerificationMailSendDate))); // _VerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.fromObject (_VerificationMailSendDate, oneit_sec_user_extensionPSet.getAttrib (FIELD_VerificationMailSendDate))); //
_VerificationKey = (String)(HELPER_VerificationKey.fromObject (_VerificationKey, oneit_sec_user_extensionPSet.getAttrib (FIELD_VerificationKey))); // _VerificationKey = (String)(HELPER_VerificationKey.fromObject (_VerificationKey, oneit_sec_user_extensionPSet.getAttrib (FIELD_VerificationKey))); //
_IsAccountVerified = (Boolean)(HELPER_IsAccountVerified.fromObject (_IsAccountVerified, oneit_sec_user_extensionPSet.getAttrib (FIELD_IsAccountVerified))); // _IsAccountVerified = (Boolean)(HELPER_IsAccountVerified.fromObject (_IsAccountVerified, oneit_sec_user_extensionPSet.getAttrib (FIELD_IsAccountVerified))); //
_IsEmailChanged = (Boolean)(HELPER_IsEmailChanged.fromObject (_IsEmailChanged, oneit_sec_user_extensionPSet.getAttrib (FIELD_IsEmailChanged))); //
_Company.setFromPersistentSets (objectID, allSets); _Company.setFromPersistentSets (objectID, allSets);
} }
...@@ -1897,6 +2022,15 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -1897,6 +2022,15 @@ public abstract class BaseCompanyUser extends SecUserExtension
e.addException (ex); e.addException (ex);
} }
try
{
setIsEmailChanged (otherCompanyUser.getIsEmailChanged ());
}
catch (FieldException ex)
{
e.addException (ex);
}
} }
} }
...@@ -1919,6 +2053,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -1919,6 +2053,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
_VerificationMailSendDate = sourceCompanyUser._VerificationMailSendDate; _VerificationMailSendDate = sourceCompanyUser._VerificationMailSendDate;
_VerificationKey = sourceCompanyUser._VerificationKey; _VerificationKey = sourceCompanyUser._VerificationKey;
_IsAccountVerified = sourceCompanyUser._IsAccountVerified; _IsAccountVerified = sourceCompanyUser._IsAccountVerified;
_IsEmailChanged = sourceCompanyUser._IsEmailChanged;
_Email = sourceCompanyUser._Email; _Email = sourceCompanyUser._Email;
_Password = sourceCompanyUser._Password; _Password = sourceCompanyUser._Password;
_ConfirmPassword = sourceCompanyUser._ConfirmPassword; _ConfirmPassword = sourceCompanyUser._ConfirmPassword;
...@@ -1982,6 +2117,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -1982,6 +2117,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
_VerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.readExternal (_VerificationMailSendDate, vals.get(FIELD_VerificationMailSendDate))); // _VerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.readExternal (_VerificationMailSendDate, vals.get(FIELD_VerificationMailSendDate))); //
_VerificationKey = (String)(HELPER_VerificationKey.readExternal (_VerificationKey, vals.get(FIELD_VerificationKey))); // _VerificationKey = (String)(HELPER_VerificationKey.readExternal (_VerificationKey, vals.get(FIELD_VerificationKey))); //
_IsAccountVerified = (Boolean)(HELPER_IsAccountVerified.readExternal (_IsAccountVerified, vals.get(FIELD_IsAccountVerified))); // _IsAccountVerified = (Boolean)(HELPER_IsAccountVerified.readExternal (_IsAccountVerified, vals.get(FIELD_IsAccountVerified))); //
_IsEmailChanged = (Boolean)(HELPER_IsEmailChanged.readExternal (_IsEmailChanged, vals.get(FIELD_IsEmailChanged))); //
_Email = (String)(HELPER_Email.readExternal (_Email, vals.get(FIELD_Email))); // _Email = (String)(HELPER_Email.readExternal (_Email, vals.get(FIELD_Email))); //
_Password = (String)(HELPER_Password.readExternal (_Password, vals.get(FIELD_Password))); // _Password = (String)(HELPER_Password.readExternal (_Password, vals.get(FIELD_Password))); //
_ConfirmPassword = (String)(HELPER_ConfirmPassword.readExternal (_ConfirmPassword, vals.get(FIELD_ConfirmPassword))); // _ConfirmPassword = (String)(HELPER_ConfirmPassword.readExternal (_ConfirmPassword, vals.get(FIELD_ConfirmPassword))); //
...@@ -2004,6 +2140,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2004,6 +2140,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
vals.put (FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.writeExternal (_VerificationMailSendDate)); vals.put (FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.writeExternal (_VerificationMailSendDate));
vals.put (FIELD_VerificationKey, HELPER_VerificationKey.writeExternal (_VerificationKey)); vals.put (FIELD_VerificationKey, HELPER_VerificationKey.writeExternal (_VerificationKey));
vals.put (FIELD_IsAccountVerified, HELPER_IsAccountVerified.writeExternal (_IsAccountVerified)); vals.put (FIELD_IsAccountVerified, HELPER_IsAccountVerified.writeExternal (_IsAccountVerified));
vals.put (FIELD_IsEmailChanged, HELPER_IsEmailChanged.writeExternal (_IsEmailChanged));
vals.put (FIELD_Email, HELPER_Email.writeExternal (_Email)); vals.put (FIELD_Email, HELPER_Email.writeExternal (_Email));
vals.put (FIELD_Password, HELPER_Password.writeExternal (_Password)); vals.put (FIELD_Password, HELPER_Password.writeExternal (_Password));
vals.put (FIELD_ConfirmPassword, HELPER_ConfirmPassword.writeExternal (_ConfirmPassword)); vals.put (FIELD_ConfirmPassword, HELPER_ConfirmPassword.writeExternal (_ConfirmPassword));
...@@ -2049,6 +2186,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2049,6 +2186,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
listener.notifyFieldChange(this, other, FIELD_IsAccountVerified, HELPER_IsAccountVerified.toObject(this._IsAccountVerified), HELPER_IsAccountVerified.toObject(otherCompanyUser._IsAccountVerified)); listener.notifyFieldChange(this, other, FIELD_IsAccountVerified, HELPER_IsAccountVerified.toObject(this._IsAccountVerified), HELPER_IsAccountVerified.toObject(otherCompanyUser._IsAccountVerified));
} }
if (!HELPER_IsEmailChanged.compare(this._IsEmailChanged, otherCompanyUser._IsEmailChanged))
{
listener.notifyFieldChange(this, other, FIELD_IsEmailChanged, HELPER_IsEmailChanged.toObject(this._IsEmailChanged), HELPER_IsEmailChanged.toObject(otherCompanyUser._IsEmailChanged));
}
// Compare single assocs // Compare single assocs
_Company.compare (otherCompanyUser._Company, listener); _Company.compare (otherCompanyUser._Company, listener);
...@@ -2082,6 +2223,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2082,6 +2223,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
visitor.visitField(this, FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.toObject(getVerificationMailSendDate())); visitor.visitField(this, FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.toObject(getVerificationMailSendDate()));
visitor.visitField(this, FIELD_VerificationKey, HELPER_VerificationKey.toObject(getVerificationKey())); visitor.visitField(this, FIELD_VerificationKey, HELPER_VerificationKey.toObject(getVerificationKey()));
visitor.visitField(this, FIELD_IsAccountVerified, HELPER_IsAccountVerified.toObject(getIsAccountVerified())); visitor.visitField(this, FIELD_IsAccountVerified, HELPER_IsAccountVerified.toObject(getIsAccountVerified()));
visitor.visitField(this, FIELD_IsEmailChanged, HELPER_IsEmailChanged.toObject(getIsEmailChanged()));
visitor.visitAssociation (_Company); visitor.visitAssociation (_Company);
} }
...@@ -2148,6 +2290,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2148,6 +2290,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
return filter.matches (getIsAccountVerified ()); return filter.matches (getIsAccountVerified ());
} }
else if (attribName.equals (FIELD_IsEmailChanged))
{
return filter.matches (getIsEmailChanged ());
}
else if (attribName.equals (SINGLEREFERENCE_Company)) else if (attribName.equals (SINGLEREFERENCE_Company))
{ {
return filter.matches (getCompany ()); return filter.matches (getCompany ());
...@@ -2225,6 +2371,12 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2225,6 +2371,12 @@ public abstract class BaseCompanyUser extends SecUserExtension
return this; return this;
} }
public SearchAll andIsEmailChanged (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "oneit_sec_user_extension.is_email_changed", "IsEmailChanged");
return this;
}
public SearchAll andUser (QueryFilter<SecUser> filter) public SearchAll andUser (QueryFilter<SecUser> filter)
{ {
filter.addFilter (context, "oneit_sec_user_extension.user_id", "User"); filter.addFilter (context, "oneit_sec_user_extension.user_id", "User");
...@@ -2336,6 +2488,12 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2336,6 +2488,12 @@ public abstract class BaseCompanyUser extends SecUserExtension
return this; return this;
} }
public SearchAllCompanyUsers andIsEmailChanged (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "oneit_sec_user_extension.is_email_changed", "IsEmailChanged");
return this;
}
public SearchAllCompanyUsers andUser (QueryFilter<SecUser> filter) public SearchAllCompanyUsers andUser (QueryFilter<SecUser> filter)
{ {
filter.addFilter (context, "oneit_sec_user_extension.user_id", "User"); filter.addFilter (context, "oneit_sec_user_extension.user_id", "User");
...@@ -2454,6 +2612,12 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2454,6 +2612,12 @@ public abstract class BaseCompanyUser extends SecUserExtension
return this; return this;
} }
public SearchIdPin andIsEmailChanged (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "oneit_sec_user_extension.is_email_changed", "IsEmailChanged");
return this;
}
public SearchIdPin andUser (QueryFilter<SecUser> filter) public SearchIdPin andUser (QueryFilter<SecUser> filter)
{ {
filter.addFilter (context, "oneit_sec_user_extension.user_id", "User"); filter.addFilter (context, "oneit_sec_user_extension.user_id", "User");
...@@ -2529,6 +2693,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2529,6 +2693,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
return HELPER_IsAccountVerified.toObject (getIsAccountVerified ()); return HELPER_IsAccountVerified.toObject (getIsAccountVerified ());
} }
else if (attribName.equals (FIELD_IsEmailChanged))
{
return HELPER_IsEmailChanged.toObject (getIsEmailChanged ());
}
else if (attribName.equals (FIELD_Email)) else if (attribName.equals (FIELD_Email))
{ {
return HELPER_Email.toObject (getEmail ()); return HELPER_Email.toObject (getEmail ());
...@@ -2582,6 +2750,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2582,6 +2750,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
return HELPER_IsAccountVerified; return HELPER_IsAccountVerified;
} }
else if (attribName.equals (FIELD_IsEmailChanged))
{
return HELPER_IsEmailChanged;
}
else if (attribName.equals (FIELD_Email)) else if (attribName.equals (FIELD_Email))
{ {
return HELPER_Email; return HELPER_Email;
...@@ -2635,6 +2807,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2635,6 +2807,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
setIsAccountVerified ((Boolean)(HELPER_IsAccountVerified.fromObject (_IsAccountVerified, attribValue))); setIsAccountVerified ((Boolean)(HELPER_IsAccountVerified.fromObject (_IsAccountVerified, attribValue)));
} }
else if (attribName.equals (FIELD_IsEmailChanged))
{
setIsEmailChanged ((Boolean)(HELPER_IsEmailChanged.fromObject (_IsEmailChanged, attribValue)));
}
else if (attribName.equals (FIELD_Email)) else if (attribName.equals (FIELD_Email))
{ {
setEmail ((String)(HELPER_Email.fromObject (_Email, attribValue))); setEmail ((String)(HELPER_Email.fromObject (_Email, attribValue)));
...@@ -2695,6 +2871,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2695,6 +2871,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
return getWriteability_IsAccountVerified (); return getWriteability_IsAccountVerified ();
} }
else if (fieldName.equals (FIELD_IsEmailChanged))
{
return getWriteability_IsEmailChanged ();
}
else if (fieldName.equals (SINGLEREFERENCE_Company)) else if (fieldName.equals (SINGLEREFERENCE_Company))
{ {
return getWriteability_Company (); return getWriteability_Company ();
...@@ -2756,6 +2936,11 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2756,6 +2936,11 @@ public abstract class BaseCompanyUser extends SecUserExtension
fields.add (FIELD_IsAccountVerified); fields.add (FIELD_IsAccountVerified);
} }
if (getWriteability_IsEmailChanged () != FieldWriteability.TRUE)
{
fields.add (FIELD_IsEmailChanged);
}
if (getWriteability_Email () != FieldWriteability.TRUE) if (getWriteability_Email () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_Email); fields.add (FIELD_Email);
...@@ -2787,6 +2972,7 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2787,6 +2972,7 @@ public abstract class BaseCompanyUser extends SecUserExtension
result.add(HELPER_VerificationMailSendDate.getAttribObject (getClass (), _VerificationMailSendDate, false, FIELD_VerificationMailSendDate)); result.add(HELPER_VerificationMailSendDate.getAttribObject (getClass (), _VerificationMailSendDate, false, FIELD_VerificationMailSendDate));
result.add(HELPER_VerificationKey.getAttribObject (getClass (), _VerificationKey, false, FIELD_VerificationKey)); result.add(HELPER_VerificationKey.getAttribObject (getClass (), _VerificationKey, false, FIELD_VerificationKey));
result.add(HELPER_IsAccountVerified.getAttribObject (getClass (), _IsAccountVerified, false, FIELD_IsAccountVerified)); result.add(HELPER_IsAccountVerified.getAttribObject (getClass (), _IsAccountVerified, false, FIELD_IsAccountVerified));
result.add(HELPER_IsEmailChanged.getAttribObject (getClass (), _IsEmailChanged, false, FIELD_IsEmailChanged));
result.add(HELPER_Email.getAttribObject (getClass (), _Email, false, FIELD_Email)); result.add(HELPER_Email.getAttribObject (getClass (), _Email, false, FIELD_Email));
result.add(HELPER_Password.getAttribObject (getClass (), _Password, false, FIELD_Password)); result.add(HELPER_Password.getAttribObject (getClass (), _Password, false, FIELD_Password));
result.add(HELPER_ConfirmPassword.getAttribObject (getClass (), _ConfirmPassword, false, FIELD_ConfirmPassword)); result.add(HELPER_ConfirmPassword.getAttribObject (getClass (), _ConfirmPassword, false, FIELD_ConfirmPassword));
...@@ -2967,6 +3153,24 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -2967,6 +3153,24 @@ public abstract class BaseCompanyUser extends SecUserExtension
} }
/** /**
* Get the attribute IsEmailChanged
*/
public Boolean getIsEmailChanged (CompanyUser obj, Boolean original)
{
return original;
}
/**
* Change the value set for attribute IsEmailChanged.
* May modify the field beforehand
* Occurs before validation.
*/
public Boolean setIsEmailChanged (CompanyUser obj, Boolean newIsEmailChanged) throws FieldException
{
return newIsEmailChanged;
}
/**
* Get the attribute Email * Get the attribute Email
*/ */
public String getEmail (CompanyUser obj, String original) public String getEmail (CompanyUser obj, String original)
...@@ -3112,6 +3316,10 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -3112,6 +3316,10 @@ public abstract class BaseCompanyUser extends SecUserExtension
{ {
return toIsAccountVerified (); return toIsAccountVerified ();
} }
if (name.equals ("IsEmailChanged"))
{
return toIsEmailChanged ();
}
if (name.equals ("Company")) if (name.equals ("Company"))
{ {
return toCompany (); return toCompany ();
...@@ -3141,6 +3349,8 @@ public abstract class BaseCompanyUser extends SecUserExtension ...@@ -3141,6 +3349,8 @@ public abstract class BaseCompanyUser extends SecUserExtension
public PipeLine<From, String> toVerificationKey () { return pipe(new ORMAttributePipe<Me, String>(FIELD_VerificationKey)); } public PipeLine<From, String> toVerificationKey () { return pipe(new ORMAttributePipe<Me, String>(FIELD_VerificationKey)); }
public PipeLine<From, Boolean> toIsAccountVerified () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsAccountVerified)); } public PipeLine<From, Boolean> toIsAccountVerified () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsAccountVerified)); }
public PipeLine<From, Boolean> toIsEmailChanged () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsEmailChanged)); }
public Company.CompanyPipeLineFactory<From, Company> toCompany () { return toCompany (Filter.ALL); } public Company.CompanyPipeLineFactory<From, Company> toCompany () { return toCompany (Filter.ALL); }
public Company.CompanyPipeLineFactory<From, Company> toCompany (Filter<Company> filter) public Company.CompanyPipeLineFactory<From, Company> toCompany (Filter<Company> filter)
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<ATTRIB name="VerificationMailSendDate" type="Date" dbcol="verification_mail_send_date" /> <ATTRIB name="VerificationMailSendDate" type="Date" dbcol="verification_mail_send_date" />
<ATTRIB name="VerificationKey" type="String" dbcol="verification_key" length="10"/> <ATTRIB name="VerificationKey" type="String" dbcol="verification_key" length="10"/>
<ATTRIB name="IsAccountVerified" type="Boolean" dbcol="is_account_verified" defaultValue="Boolean.FALSE"/> <ATTRIB name="IsAccountVerified" type="Boolean" dbcol="is_account_verified" defaultValue="Boolean.FALSE"/>
<ATTRIB name="IsEmailChanged" type="Boolean" dbcol="is_email_changed" defaultValue="Boolean.FALSE"/>
<SINGLEREFERENCE name="User" type="SecUser" dbcol="user_id" backreferenceName="Extensions" inSuper='TRUE'/> <SINGLEREFERENCE name="User" type="SecUser" dbcol="user_id" backreferenceName="Extensions" inSuper='TRUE'/>
<SINGLEREFERENCE name="Company" type="Company" dbcol="company_id" backreferenceName="Users"/> <SINGLEREFERENCE name="Company" type="Company" dbcol="company_id" backreferenceName="Users"/>
......
...@@ -35,6 +35,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -35,6 +35,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
private Date dummyVerificationMailSendDate; private Date dummyVerificationMailSendDate;
private String dummyVerificationKey; private String dummyVerificationKey;
private Boolean dummyIsAccountVerified; private Boolean dummyIsAccountVerified;
private Boolean dummyIsEmailChanged;
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -45,6 +46,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -45,6 +46,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
private static final DefaultAttributeHelper HELPER_VerificationMailSendDate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_VerificationMailSendDate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_VerificationKey = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_VerificationKey = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_IsAccountVerified = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_IsAccountVerified = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_IsEmailChanged = DefaultAttributeHelper.INSTANCE;
...@@ -58,10 +60,11 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -58,10 +60,11 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
dummyVerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.initialise (dummyVerificationMailSendDate)); dummyVerificationMailSendDate = (Date)(HELPER_VerificationMailSendDate.initialise (dummyVerificationMailSendDate));
dummyVerificationKey = (String)(HELPER_VerificationKey.initialise (dummyVerificationKey)); dummyVerificationKey = (String)(HELPER_VerificationKey.initialise (dummyVerificationKey));
dummyIsAccountVerified = (Boolean)(HELPER_IsAccountVerified.initialise (dummyIsAccountVerified)); dummyIsAccountVerified = (Boolean)(HELPER_IsAccountVerified.initialise (dummyIsAccountVerified));
dummyIsEmailChanged = (Boolean)(HELPER_IsEmailChanged.initialise (dummyIsEmailChanged));
} }
private String SELECT_COLUMNS = "{PREFIX}oneit_sec_user_extension.object_id as id, {PREFIX}oneit_sec_user_extension.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}oneit_sec_user_extension.object_CREATED_DATE as CREATED_DATE, {PREFIX}oneit_sec_user_extension.object_TYPE as OBJECT_TYPE, {PREFIX}oneit_sec_user_extension.forgot_password_mail_send_date, {PREFIX}oneit_sec_user_extension.forgot_password_key, {PREFIX}oneit_sec_user_extension.role_type, {PREFIX}oneit_sec_user_extension.phone, {PREFIX}oneit_sec_user_extension.verification_mail_send_date, {PREFIX}oneit_sec_user_extension.verification_key, {PREFIX}oneit_sec_user_extension.is_account_verified, {PREFIX}oneit_sec_user_extension.user_id, {PREFIX}oneit_sec_user_extension.company_id, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}oneit_sec_user_extension.object_id as id, {PREFIX}oneit_sec_user_extension.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}oneit_sec_user_extension.object_CREATED_DATE as CREATED_DATE, {PREFIX}oneit_sec_user_extension.object_TYPE as OBJECT_TYPE, {PREFIX}oneit_sec_user_extension.forgot_password_mail_send_date, {PREFIX}oneit_sec_user_extension.forgot_password_key, {PREFIX}oneit_sec_user_extension.role_type, {PREFIX}oneit_sec_user_extension.phone, {PREFIX}oneit_sec_user_extension.verification_mail_send_date, {PREFIX}oneit_sec_user_extension.verification_key, {PREFIX}oneit_sec_user_extension.is_account_verified, {PREFIX}oneit_sec_user_extension.is_email_changed, {PREFIX}oneit_sec_user_extension.user_id, {PREFIX}oneit_sec_user_extension.company_id, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -120,6 +123,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -120,6 +123,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
!oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_VerificationMailSendDate)|| !oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_VerificationMailSendDate)||
!oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_VerificationKey)|| !oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_VerificationKey)||
!oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_IsAccountVerified)|| !oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_IsAccountVerified)||
!oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.FIELD_IsEmailChanged)||
!oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.SINGLEREFERENCE_User)|| !oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.SINGLEREFERENCE_User)||
!oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.SINGLEREFERENCE_Company)) !oneit_sec_user_extensionPSet.containsAttrib(CompanyUser.SINGLEREFERENCE_Company))
{ {
...@@ -220,10 +224,10 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -220,10 +224,10 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}oneit_sec_user_extension " + "UPDATE {PREFIX}oneit_sec_user_extension " +
"SET forgot_password_mail_send_date = ?, forgot_password_key = ?, role_type = ?, phone = ?, verification_mail_send_date = ?, verification_key = ?, is_account_verified = ?, user_id = ? , company_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET forgot_password_mail_send_date = ?, forgot_password_key = ?, role_type = ?, phone = ?, verification_mail_send_date = ?, verification_key = ?, is_account_verified = ?, is_email_changed = ?, user_id = ? , company_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE oneit_sec_user_extension.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE oneit_sec_user_extension.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_ForgotPasswordMailSendDate.getForSQL(dummyForgotPasswordMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordMailSendDate))).listEntry (HELPER_ForgotPasswordKey.getForSQL(dummyForgotPasswordKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordKey))).listEntry (HELPER_Role.getForSQL(dummyRole, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Role))).listEntry (HELPER_Phone.getForSQL(dummyPhone, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Phone))).listEntry (HELPER_VerificationMailSendDate.getForSQL(dummyVerificationMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationMailSendDate))).listEntry (HELPER_VerificationKey.getForSQL(dummyVerificationKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationKey))).listEntry (HELPER_IsAccountVerified.getForSQL(dummyIsAccountVerified, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_IsAccountVerified))).listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_User)))).listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_Company)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_ForgotPasswordMailSendDate.getForSQL(dummyForgotPasswordMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordMailSendDate))).listEntry (HELPER_ForgotPasswordKey.getForSQL(dummyForgotPasswordKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordKey))).listEntry (HELPER_Role.getForSQL(dummyRole, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Role))).listEntry (HELPER_Phone.getForSQL(dummyPhone, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Phone))).listEntry (HELPER_VerificationMailSendDate.getForSQL(dummyVerificationMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationMailSendDate))).listEntry (HELPER_VerificationKey.getForSQL(dummyVerificationKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationKey))).listEntry (HELPER_IsAccountVerified.getForSQL(dummyIsAccountVerified, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_IsAccountVerified))).listEntry (HELPER_IsEmailChanged.getForSQL(dummyIsEmailChanged, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_IsEmailChanged))).listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_User)))).listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_Company)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -647,6 +651,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -647,6 +651,7 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.getFromRS(dummyVerificationMailSendDate, r, "verification_mail_send_date")); oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_VerificationMailSendDate, HELPER_VerificationMailSendDate.getFromRS(dummyVerificationMailSendDate, r, "verification_mail_send_date"));
oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_VerificationKey, HELPER_VerificationKey.getFromRS(dummyVerificationKey, r, "verification_key")); oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_VerificationKey, HELPER_VerificationKey.getFromRS(dummyVerificationKey, r, "verification_key"));
oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_IsAccountVerified, HELPER_IsAccountVerified.getFromRS(dummyIsAccountVerified, r, "is_account_verified")); oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_IsAccountVerified, HELPER_IsAccountVerified.getFromRS(dummyIsAccountVerified, r, "is_account_verified"));
oneit_sec_user_extensionPSet.setAttrib(CompanyUser.FIELD_IsEmailChanged, HELPER_IsEmailChanged.getFromRS(dummyIsEmailChanged, r, "is_email_changed"));
oneit_sec_user_extensionPSet.setAttrib(CompanyUser.SINGLEREFERENCE_User, r.getObject ("user_id")); oneit_sec_user_extensionPSet.setAttrib(CompanyUser.SINGLEREFERENCE_User, r.getObject ("user_id"));
oneit_sec_user_extensionPSet.setAttrib(CompanyUser.SINGLEREFERENCE_Company, r.getObject ("company_id")); oneit_sec_user_extensionPSet.setAttrib(CompanyUser.SINGLEREFERENCE_Company, r.getObject ("company_id"));
...@@ -666,10 +671,10 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr ...@@ -666,10 +671,10 @@ public class CompanyUserPersistenceMgr extends SecUserExtensionPersistenceMgr
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}oneit_sec_user_extension " + "INSERT INTO {PREFIX}oneit_sec_user_extension " +
" (forgot_password_mail_send_date, forgot_password_key, role_type, phone, verification_mail_send_date, verification_key, is_account_verified, user_id, company_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE, object_TYPE) " + " (forgot_password_mail_send_date, forgot_password_key, role_type, phone, verification_mail_send_date, verification_key, is_account_verified, is_email_changed, user_id, company_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE, object_TYPE) " +
"VALUES " + "VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", ?)", " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", ?)",
CollectionUtils.listEntry (HELPER_ForgotPasswordMailSendDate.getForSQL(dummyForgotPasswordMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordMailSendDate))).listEntry (HELPER_ForgotPasswordKey.getForSQL(dummyForgotPasswordKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordKey))).listEntry (HELPER_Role.getForSQL(dummyRole, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Role))).listEntry (HELPER_Phone.getForSQL(dummyPhone, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Phone))).listEntry (HELPER_VerificationMailSendDate.getForSQL(dummyVerificationMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationMailSendDate))).listEntry (HELPER_VerificationKey.getForSQL(dummyVerificationKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationKey))).listEntry (HELPER_IsAccountVerified.getForSQL(dummyIsAccountVerified, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_IsAccountVerified))) .listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_User)))).listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_Company)))) .listEntry (objectID.longID ()).listEntry (context.getTag (obj)).toList().toArray()); CollectionUtils.listEntry (HELPER_ForgotPasswordMailSendDate.getForSQL(dummyForgotPasswordMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordMailSendDate))).listEntry (HELPER_ForgotPasswordKey.getForSQL(dummyForgotPasswordKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_ForgotPasswordKey))).listEntry (HELPER_Role.getForSQL(dummyRole, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Role))).listEntry (HELPER_Phone.getForSQL(dummyPhone, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_Phone))).listEntry (HELPER_VerificationMailSendDate.getForSQL(dummyVerificationMailSendDate, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationMailSendDate))).listEntry (HELPER_VerificationKey.getForSQL(dummyVerificationKey, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_VerificationKey))).listEntry (HELPER_IsAccountVerified.getForSQL(dummyIsAccountVerified, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_IsAccountVerified))).listEntry (HELPER_IsEmailChanged.getForSQL(dummyIsEmailChanged, oneit_sec_user_extensionPSet.getAttrib (CompanyUser.FIELD_IsEmailChanged))) .listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_User)))).listEntry (SQLManager.CheckNull((Long)(oneit_sec_user_extensionPSet.getAttrib (CompanyUser.SINGLEREFERENCE_Company)))) .listEntry (objectID.longID ()).listEntry (context.getTag (obj)).toList().toArray());
oneit_sec_user_extensionPSet.setStatus (PersistentSetStatus.PROCESSED); oneit_sec_user_extensionPSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
...@@ -379,6 +379,26 @@ public class Utils ...@@ -379,6 +379,26 @@ public class Utils
return Boolean.FALSE; return Boolean.FALSE;
} }
public static Boolean isCompanyUserEmailFound(ObjectTransaction objTran, String email, CompanyUser currentUser)
{
if(email!=null)
{
SecUser user = SecUser.searchNAME(objTran, email.toLowerCase());
if(user!=null)
{
CompanyUser comUser = user.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(comUser!=null && !CollectionUtils.equals(comUser, currentUser))
{
return Boolean.TRUE;
}
}
}
return Boolean.FALSE;
}
public static Tuple.T2<SecUser, Boolean> getSecUserForCompanyIfAvailable(CompanyUser companyUser) public static Tuple.T2<SecUser, Boolean> getSecUserForCompanyIfAvailable(CompanyUser companyUser)
{ {
...@@ -432,25 +452,25 @@ public class Utils ...@@ -432,25 +452,25 @@ public class Utils
} }
catch (ConfigurableEmailerException ex) catch (ConfigurableEmailerException ex)
{ {
LogMgr.log(CompanyUser.LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for Candidate :: " + companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for user :: " + companyUser);
throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details."); throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details.");
} }
} }
else else
{ {
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Call from " + callingClass + ". Account is already verified for candidate :: ", companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Call from " + callingClass + ". Account is already verified for user :: ", companyUser);
} }
} }
public static void sendEmailChangedMail(CompanyUser companyUser, HttpServletRequest request, ConfigurableArticleTemplateEmailer emailer, String callingClass) throws BusinessException public static void sendEmailChangedMail(CompanyUser companyUser, HttpServletRequest request, ConfigurableArticleTemplateEmailer emailer, String callingClass) throws BusinessException
{ {
if(!CollectionUtils.equals(companyUser.getIsAccountVerified(), Boolean.TRUE)) if(companyUser.getIsEmailChanged()==Boolean.TRUE)
{ {
try try
{ {
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sending verification mail from " + callingClass + " to :: ", companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sending email changed mail from " + callingClass + " to :: ", companyUser);
RandomStringGen random = new RandomStringGen(); RandomStringGen random = new RandomStringGen();
...@@ -467,18 +487,18 @@ public class Utils ...@@ -467,18 +487,18 @@ public class Utils
Utils.sendMail(emailer, transform, new String[]{companyUser.getEmailAddressFromUser()}, null, companyUser); Utils.sendMail(emailer, transform, new String[]{companyUser.getEmailAddressFromUser()}, null, companyUser);
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sent verification mail successfully from " + callingClass + " to :: ", companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sent email changed mail successfully from " + callingClass + " to :: ", companyUser);
} }
catch (ConfigurableEmailerException ex) catch (ConfigurableEmailerException ex)
{ {
LogMgr.log(CompanyUser.LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for Candidate :: " + companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for user :: " + companyUser);
throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details."); throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details.");
} }
} }
else else
{ {
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Call from " + callingClass + ". Account is already verified for candidate :: ", companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Call from " + callingClass + ". Account is already verified for user :: ", companyUser);
} }
} }
} }
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="EmailChangedMail"/> <AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="EmailChangedMail"/>
</FORM> </FORM>
<FORM name="*.resendVerification" factory="Participant" class="performa.form.ResendVerificationFP"> <FORM name="*.resendVerification" factory="Participant" class="performa.form.ResendVerificationFP">
<AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="CompanyAccountVerificationMail"/> <AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="EmailChangedMail"/>
</FORM> </FORM>
<FORM name="*.saveClient" factory="Participant" class="performa.form.SaveClientFP"/> <FORM name="*.saveClient" factory="Participant" class="performa.form.SaveClientFP"/>
<FORM name="*.saveCompany" factory="Participant" class="performa.form.SaveCompanyFP"/> <FORM name="*.saveCompany" factory="Participant" class="performa.form.SaveCompanyFP"/>
......
...@@ -11,9 +11,51 @@ ...@@ -11,9 +11,51 @@
<% <%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request); ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
%> String nextPage = WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.ADMIN_HOME).getLink(request);
//to process company user verification
String id = request.getParameter("id");
String key = request.getParameter("key");
Boolean invalid = Boolean.TRUE;
if(id!=null && key!=null)
{
CompanyUser companyUser = CompanyUser.searchIdPin(objTran, Long.parseLong(id), key);
if(companyUser!=null && companyUser.getIsEmailChanged()==Boolean.TRUE)
{
try
{
companyUser.setIsEmailChanged(Boolean.FALSE);
companyUser.setIsAccountVerified(Boolean.TRUE);
objTran.commit();
objTran.commitResources();
}
finally
{
objTran.releaseResources();
}
Email verified! invalid = Boolean.FALSE;
// response.sendRedirect(nextPage);
}
}
if(invalid)
{
%>
<h3>Verification Error</h3>
<p><span>Access expired.</span></p>
<%
}
else
{
%>
<p>Your e-mail address is successfully verified! Please login to access your account!</p>
<a class="btn btn-primary" href="<%= nextPage %>">Go to login</a>
<%
}
%>
<%@ include file="inc/htmlfooter_nopriv.jsp" %> <%@ include file="inc/htmlfooter_nopriv.jsp" %>
\ No newline at end of file
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<% } <% }
if(!CollectionUtils.equals(companyUser.getIsAccountVerified(), Boolean.TRUE)) if(companyUser.getIsAccountVerified()!=Boolean.TRUE || companyUser.getIsEmailChanged()==Boolean.TRUE)
{ {
%> %>
<div class="email-verify">Email address not yet verified. <div class="email-verify">Email address not yet verified.
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
{ {
CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser); CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(companyUser!=null && companyUser.getIsAccountVerified()!=Boolean.TRUE) if(companyUser!=null && companyUser.isLoggedViaSocial() && companyUser.getIsAccountVerified()!=Boolean.TRUE)
{ {
response.sendRedirect(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION).getLink(request)); response.sendRedirect(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION).getLink(request));
return; return;
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au">
<NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.RedefineTableOperation">
<tableName factory="String">oneit_sec_user_extension</tableName>
<column name="is_email_changed" type="Boolean" nullable="true"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment