Saya membuat pengguna secara manual dengan membuat formulir detail pengguna dan memanggil UserLocalServiceUtil.addUser()
. Semuanya berfungsi dengan baik. Saya dapat menambahkan pengguna baru. Saat mengklik tombol simpan di formulir detail pengguna saya, saya mengirimkan detail formulir ke kelas tindakan saya addUser()
. Dalam metode ini saya memanggil metode berikut untuk membuat pengguna.
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());
}
Pengguna membuat dengan kode di atas. Tapi masalahnya adalah saya juga ingin menambahkan nilai bidang khusus sambil menambahkan pengguna. kode untuk menambahkan custom field adalah sebagai berikut,
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 ");
}
Sekarang bagaimana saya bisa mengeksekusi kode dalam metode addUser()
. Masalah saya adalah saya menambahkan pengguna secara terprogram dengan memanggil UserLocalServiceUtil.addUser()
jadi di sini saya tidak memiliki ID pengguna yang baru dibuat. jadi tanpa ID pengguna bagaimana saya bisa mendapatkan objek pengguna untuk pengguna baru dan menjalankan logika penyisipan bidang khusus.
Mohon sarannya..
Saya perlu membuat pengguna dengan nilai bidang khusus secara bersamaan.
Terima kasih sebelumnya..