81 lines
2.6 KiB
Java
81 lines
2.6 KiB
Java
package org.gcube.portlets.user.acceptinvite;
|
|
|
|
import java.util.UUID;
|
|
|
|
import org.gcube.portal.event.publisher.lr62.PortalEvent;
|
|
|
|
import com.liferay.portal.security.auth.CompanyThreadLocal;
|
|
import com.liferay.portal.security.auth.DefaultScreenNameGenerator;
|
|
import com.liferay.portal.service.UserLocalServiceUtil;
|
|
|
|
public class InvitationAcceptedEvent extends PortalEvent {
|
|
|
|
private static final long serialVersionUID = 1499288552188273747L;
|
|
|
|
public static final String NAME = "invitation-accepted";
|
|
public static final String FIRST_NAME_ENTRY = "first-name";
|
|
public static final String LAST_NAME_ENTRY = "last-name";
|
|
public static final String EMAIL_ENTRY = "email";
|
|
public static final String PASSWORD_ENTRY = "password";
|
|
|
|
private static DefaultScreenNameGenerator defaultScreenNameGenerator = new DefaultScreenNameGenerator();
|
|
|
|
public InvitationAcceptedEvent(String firstname, String lastname, String email, String password) {
|
|
super(NAME);
|
|
setUser(computeUsername(email));
|
|
setFirstname(firstname);
|
|
setLastname(lastname);
|
|
setEmail(email);
|
|
setPassword(password);
|
|
}
|
|
|
|
protected String computeUsername(String email) {
|
|
try {
|
|
Long companyId = PortletViewController.getCompany().getCompanyId();
|
|
Long defaultUserId = UserLocalServiceUtil.getDefaultUserId(companyId);
|
|
String screename = defaultScreenNameGenerator.generate(companyId, defaultUserId, email);
|
|
//here we add some random char to the screenname created
|
|
StringBuilder sb = new StringBuilder(screename)
|
|
.append(UUID.randomUUID().toString().substring(0, 5));
|
|
String computedUsername = sb.toString();
|
|
return computedUsername;
|
|
} catch (Exception e) {
|
|
log.error("Cannot generate username via screen name generator", e);
|
|
return "";
|
|
}
|
|
}
|
|
|
|
public void setFirstname(String firstname) {
|
|
set(FIRST_NAME_ENTRY, firstname);
|
|
}
|
|
|
|
public String getFirstname() {
|
|
return (String) get(FIRST_NAME_ENTRY);
|
|
}
|
|
|
|
public void setLastname(String lastname) {
|
|
set(LAST_NAME_ENTRY, lastname);
|
|
}
|
|
|
|
public String getLastname() {
|
|
return (String) get(LAST_NAME_ENTRY);
|
|
}
|
|
|
|
public void setEmail(String email) {
|
|
set(EMAIL_ENTRY, email);
|
|
}
|
|
|
|
public String getEmail() {
|
|
return (String) get(EMAIL_ENTRY);
|
|
}
|
|
|
|
public void setPassword(String password) {
|
|
set(PASSWORD_ENTRY, password);
|
|
}
|
|
|
|
public String getPassword() {
|
|
return (String) get(PASSWORD_ENTRY);
|
|
}
|
|
|
|
}
|