Liferay.com

Wednesday, September 24, 2014

Quick checking of API methods - Groovy Script (at Control Panel > Server Administration > Script)

Here are some snippets,

======================================================
Case 1 : here I am checking whether a particular User Group & Role exists
======================================================

import com.liferay.portal.service.UserGroupLocalServiceUtil
import com.liferay.portal.service.*
import com.liferay.portal.util.*
import com.liferay.portal.kernel.util.PropsUtil
import com.liferay.portal.kernel.util.PropsKeys

companyId = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)).getCompanyId()
out.println(companyId );

try{
// Get User Group(s)
def customGroup = UserGroupLocalServiceUtil.getUserGroup(companyId , "My Org Admin")
out.println("User Group exists : Agency Admin :"+customGroup)

// Get role(s)
def customRole = RoleLocalServiceUtil.getRole(companyId, "My Org Admin")
out.println("Role exists : Agency Admin :"+customRole)

def groupIds = [customGroup.getGroupId()] as long[]
GroupLocalServiceUtil.addRoleGroups(customRole.getRoleId(), groupIds)
}catch(Exception){
out.println("My Org Admin -- UG not exists")
}

======================================================
Case 2 : updating one of my custom field
======================================================

import com.liferay.portal.service.*
import com.liferay.portal.util.*
import com.liferay.portal.kernel.json.*
import com.liferay.portal.kernel.util.PropsUtil
import com.liferay.portal.kernel.util.PropsKeys
import com.liferay.portal.model.RoleConstants

companyId = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)).getCompanyId()
out.println(companyId );

try{
role = RoleLocalServiceUtil.getRole(companyId, RoleConstants.ADMINISTRATOR)
users = UserLocalServiceUtil.getRoleUsers(role.getRoleId())
out.println(users)
out.println(JSONFactoryUtil.looseSerialize(users))
out.println(">>>>>>>>>>>>>>>>>>>>>. groovy iterate")
users.each() { it ->
println it
field = it.getExpandoBridge().getAttribute("sbm-user-id", false)
out.println("initial value :"+field)

if(!field){
it.getExpandoBridge().setAttribute("sbm-user-id", it.getEmailAddress())
}

out.println("end value :"+it.getExpandoBridge().getAttribute("sbm-user-id", false))
}


}catch(Exception){
out.println("Administrator role not exists")
}

Hope it helps some body :)

Thanks.


No comments:

Post a Comment