1515import com .liferay .portal .kernel .model .Resource ;
1616import com .liferay .portal .kernel .model .ResourceConstants ;
1717import com .liferay .portal .kernel .model .ResourcePermission ;
18+ import com .liferay .portal .kernel .model .role .RoleConstants ;
1819import com .liferay .portal .kernel .security .permission .ActionKeys ;
1920import com .liferay .portal .kernel .service .ResourceLocalServiceUtil ;
2021import com .liferay .portal .kernel .service .ResourcePermissionLocalServiceUtil ;
@@ -43,7 +44,8 @@ public static void setupPortletPermissions(final ResourcePermissions resourcePer
4344 String roleName = actionsPerRoleEntry .getKey ();
4445 try {
4546 long companyId = SetupConfigurationThreadLocal .getRunInCompanyId ();
46- long roleId = RoleLocalServiceUtil .getRole (companyId , roleName ).getRoleId ();
47+ com .liferay .portal .kernel .model .Role role = RoleLocalServiceUtil .getRole (companyId , roleName );
48+ long roleId = role .getRoleId ();
4749 final Set <String > actionStrings = actionsPerRoleEntry .getValue ();
4850 final String [] actionIds = actionStrings .toArray (new String [actionStrings .size ()]);
4951
@@ -66,6 +68,16 @@ public static void setupPortletPermissions(final ResourcePermissions resourcePer
6668 roleId ,
6769 actionIds
6870 );
71+ if (role .getType () == RoleConstants .TYPE_SITE ) {
72+ ResourcePermissionLocalServiceUtil .setResourcePermissions (
73+ companyId ,
74+ resource .getResourceId (),
75+ ResourceConstants .SCOPE_GROUP_TEMPLATE ,
76+ String .valueOf (companyId ),
77+ roleId ,
78+ actionIds
79+ );
80+ }
6981 LOG .info (String .format ("Set permission for role: %1$s for action ids: %2$s" , roleName , actionIds ));
7082 } catch (NestableException e ) {
7183 LOG .error (String .format ("Could not set permission to resource :%1$s" , resource .getResourceId ()), e );
0 commit comments