Я создаю пользователя вручную, создавая форму сведений о пользователе и вызывая метод UserLocalServiceUtil.addUser()
. Все работает нормально, я могу добавить нового пользователя. При нажатии кнопки «Сохранить» в форме сведений о пользователе я отправляю данные формы в свой класс действий addUser()
. В этом методе я вызываю следующий метод для создания пользователя.
try {
UserLocalServiceUtil.addUser(creatorUserId, companyId, autoPassword, password1,
password2, autoScreenName, screenName, emailAddress, mySite, openId,
locale, firstName, middleName, lastName, prefixId, suffixId, male,
birthdayMonth, birthdayDay, birthdayYear, jobTitle, groupIds,
organizationIds, roleIds, userGroupIds, sendEmail, serviceContext);
} catch(Exception e){
System.out.println(e.getMessage());
}
Пользователь создает с приведенным выше кодом. Но проблема в том, что я хочу добавить значение настраиваемого поля также при добавлении пользователя. код для добавления настраиваемого поля выглядит следующим образом:
if(user.getExpandoBridge().hasAttribute("manager"))
{
user.getExpandoBridge().setAttribute("manager", manager);
System.out.println("Custom field is avaliable now !!! Update User entry ");
}
else
{
user.getExpandoBridge().addAttribute("manager");
user.getExpandoBridge().setAttribute("manager", manager);
System.out.println("Custom field is not avaliable !!! Update User entry ");
}
Теперь, как я могу выполнить код в методе addUser()
. Моя проблема в том, что я программно добавляю пользователя, вызывая UserLocalServiceUtil.addUser()
, поэтому здесь у меня нет вновь созданного идентификатора пользователя. так что без идентификатора пользователя, как я могу получить пользовательский объект для нового пользователя и выполнить логику вставки настраиваемого поля.
Любые предложения, пожалуйста..
Мне нужно одновременно создать пользователя с настраиваемым значением поля.
Заранее спасибо..