Commit 0fe4f7fc by Nilu

Added intercom user & company creations

parent 21d143a6
......@@ -17,6 +17,7 @@ import oneit.servlets.forms.*;
import oneit.servlets.process.*;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*;
import performa.intercom.utils.IntercomUtils;
import performa.orm.*;
import performa.utils.Utils;
import performa.utils.WebUtils;
......@@ -97,6 +98,12 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor
}
}
// Create company and the first user of it in intercom
performa.intercom.resources.Company intercomCompany = IntercomUtils.createIntercomCompany(company);
IntercomUtils.createIntercomUser(secUser, "Hiring Team", intercomCompany);
process.completeAndRestart();
return new ProcessRedirectResult(nextPage, new String[0]);
......
......@@ -13,6 +13,7 @@ import oneit.servlets.forms.*;
import oneit.servlets.process.*;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*;
import performa.intercom.utils.IntercomUtils;
import performa.orm.*;
import performa.utils.Utils;
import performa.utils.WebUtils;
......@@ -71,6 +72,12 @@ public class VerifyCompanyUserFP extends ORMProcessFormProcessor
else
{
nextPage = WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.ADMIN_HOME).getLink(request);
// Create company user in intercom
performa.intercom.resources.Company intercomCompany = IntercomUtils.findCompanyByID(company);
IntercomUtils.createIntercomUser(secUser, "Hiring Team", intercomCompany);
}
secUser.setAttribute("md5:" + SecUser.FIELD_Password, companyUser.getPassword());
......
......@@ -76,7 +76,7 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor
sendMail(candidate, request);
// Create a applicant user in intercom
// IntercomUtils.createIntercomUser(secUser, "Applicant");
IntercomUtils.createIntercomUser(secUser, "Applicant", null);
request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
......
package performa.intercom.utils;
import java.util.HashMap;
import java.util.Map;
import oneit.appservices.config.ConfigMgr;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.security.SecUser;
import performa.intercom.resources.Company;
import performa.intercom.resources.CustomAttribute;
import performa.intercom.resources.Intercom;
import performa.intercom.resources.User;
......@@ -11,18 +17,79 @@ public class IntercomUtils
{
static
{
Intercom.setApiKey(ConfigMgr.getKeyfileString("intercom.appId", ""));
Intercom.setToken(ConfigMgr.getKeyfileString("intercom.token", ""));
}
public static void createIntercomUser(SecUser secUser, String role)
public static User createIntercomUser(SecUser secUser, String role, Company company)
{
User user = new User()
.setEmail(secUser.getEmail())
.setUserId(secUser.getIdentification())
.addCustomAttribute(CustomAttribute.newStringAttribute("role", role));
User.create(user);
try
{
User user = new User();
user.setUserId(secUser.getIdentification());
user.setEmail(secUser.getUserName());
user.setName(secUser.getName());
user.addCustomAttribute(CustomAttribute.newStringAttribute("role", role));
if(company != null)
{
user.addCompany(company);
}
return User.create(user);
}
catch (Exception e)
{
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while creating a user in intercom");
return null;
}
}
public static Company createIntercomCompany(performa.orm.Company company)
{
try
{
Company intercomCompany = new Company();
intercomCompany.setName(company.getCompanyName());
intercomCompany.setCompanyID(company.getID().toString());
return Company.create(intercomCompany);
}
catch (Exception e)
{
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while creating a company in intercom");
return null;
}
}
public static Company findCompanyByID(performa.orm.Company company)
{
try
{
Map<String, String> map = new HashMap<>();
map.put("company_id", company.getID().toString());
Company intercomCompany = Company.find(map);
if(intercomCompany == null)
{
intercomCompany = createIntercomCompany(company);
}
return intercomCompany;
}
catch (Exception e)
{
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while fetching a company by id from intercom");
return null;
}
}
}
Add followings to keyfile.properties
intercom.appId=kqed9h3r
intercom.token=dG9rOjg5ZGMyNzAxXzI2OGVfNDI2OV84NmQ2XzkwOTcxYWI3OWUzOToxOjA=
\ 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