Example Java program:
import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.NoSuchRoleException;
import com.liferay.portal.NoSuchUserException;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.model.*;
import com.liferay.portal.security.auth.AutoLogin;
import com.liferay.portal.security.auth.AutoLoginException;
import com.liferay.portal.service.*;
import com.liferay.portal.util.PortalUtil;
public Class AddUser implements AutoLogin{
public void liferayUserManuallyAdding(String userName, long companyId){
/*These all ids are created by Using CounterLocalServiceUtil class.
Like (userId =1 , contactId =2, groupId =3 ) */
long userId = CounterLocalServiceUtil.increment();
long contactId = CounterLocalServiceUtil.increment();
long groupId = CounterLocalServiceUtil.increment();
long publicLayoutSetId = CounterLocalServiceUtil.increment();
long privateLayoutSetId = CounterLocalServiceUtil.increment();
/*Create User and set the parameters for User attributes*/
User user1 = UserLocalServiceUtil.createUser(userId);
user1.setCompanyId(companyId);
user1.setContactId(contactId);
user1.setFirstName(username);
user1.setLastName(coopUserId);
user1.setEmailAddress(username + "@email.com");
user1.setScreenName(username);
user1.setActive(true);
/*Add User to lportal database*/
UserLocalServiceUtil.addUser(user1);
/*Following methods are very Important.........whithout following methods we can't add user*/
/*Create contact and set the contact parameters and add */
Contact contact1 =ContactLocalServiceUtil.createContact(contactId);
contact1.setCompanyId(companyId);
contact1.setUserId(userId);
contact1.setAccountId(AccountLocalServiceUtil.getAccounts(0,1).get(0).getAccountId());
contact1.setFirstName(username);
contact1.setLastName(coopUserId);
ContactLocalServiceUtil.addContact(contact1);
/*Create Group and set the Group parameters and add*/
Group group = GroupLocalServiceUtil.createGroup(groupId);
group.setCreatorUserId(userId);
group.setClassNameId(ClassNameLocalServiceUtil.getClassNameId("com.liferay.portal.model.User"));
group.setClassPK(userId);
group.setActive(true);
group.setCompanyId(companyId);
group.setName("" + userId);
group.setFriendlyURL("/" + username);
GroupLocalServiceUtil.addGroup(group);
/*Create PublicLayoutSet and set the PublicLayoutSet parameters and add*/
LayoutSet publicLayoutSet = LayoutSetLocalServiceUtil.createLayoutSet(publicLayoutSetId);
publicLayoutSet.setCompanyId(companyId);
publicLayoutSet.setGroupId(groupId);
publicLayoutSet.setThemeId("classic");
publicLayoutSet.setColorSchemeId("01");
LayoutSetLocalServiceUtil.updateLayoutSet(publicLayoutSet);
/*Create PrivateLayoutSet and set the PrivateLayoutSet parameters and add*/
LayoutSet privateLayoutSet = LayoutSetLocalServiceUtil.createLayoutSet(privateLayoutSetId);
privateLayoutSet.setCompanyId(companyId);
privateLayoutSet.setGroupId(groupId);
privateLayoutSet.setThemeId("classic");
privateLayoutSet.setColorSchemeId("01");
privateLayoutSet.setPrivateLayout(true);
LayoutSetLocalServiceUtil.updateLayoutSet(privateLayoutSet);
}
}
Dileepa Sisila Chandrasekera
Computer Science & Engineering
University of Moratuwa
Trainee at hsenid mobile solution (pvt) Ltd.
This function is not correct, it lacks a few more things. If you try to change the user data you get. "Users is temporarily unavailable."
ReplyDeletefunctional part is not include.............but major thing is this........
ReplyDeleteCan you please tell me how to do the manual insertion to user_ table to add users.
ReplyDeleteThanks in advance
check this
ReplyDeletehttp://www.liferay.com/community/forums/-/message_boards/message/13635690