Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LPS-41713 Apply same changes as LPS-37791 #14941

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -115,32 +115,29 @@ public static boolean contains(
}
}

if ((article.getFolderId() !=
JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) &&
!actionId.equals(ActionKeys.EXPIRE)) {
if (actionId.equals(ActionKeys.VIEW) &&
PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

try {
JournalFolder folder = JournalFolderLocalServiceUtil.getFolder(
article.getFolderId());
long folderId = article.getFolderId();

if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE &&
!JournalFolderPermission.contains(
permissionChecker, folder, ActionKeys.ACCESS) &&
!JournalFolderPermission.contains(
permissionChecker, folder, ActionKeys.VIEW)) {
if (folderId != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
try {
JournalFolder folder =
JournalFolderLocalServiceUtil.getFolder(
folderId);

return false;
}

if (JournalFolderPermission.contains(
permissionChecker, folder, actionId)) {
if (!JournalFolderPermission.contains(
permissionChecker, folder, ActionKeys.ACCESS) &&
!JournalFolderPermission.contains(
permissionChecker, folder, ActionKeys.VIEW)) {

return true;
return false;
}
}
}
catch (NoSuchFolderException nsfe) {
if (!article.isInTrash()) {
throw nsfe;
catch (NoSuchFolderException nsfe) {
if (!article.isInTrash()) {
throw nsfe;
}
}
}
}
Expand Down
Expand Up @@ -71,25 +71,18 @@ public static boolean contains(
return hasPermission.booleanValue();
}

long folderId = folder.getFolderId();

if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
long originalFolderId = folderId;
if (actionId.equals(ActionKeys.VIEW) &&
PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

try {
long folderId = folder.getFolderId();

while (folderId !=
JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

folder = JournalFolderLocalServiceUtil.getFolder(folderId);

if (!permissionChecker.hasOwnerPermission(
folder.getCompanyId(),
JournalFolder.class.getName(), folderId,
folder.getUserId(), ActionKeys.VIEW) &&
!permissionChecker.hasPermission(
folder.getGroupId(), JournalFolder.class.getName(),
folderId, ActionKeys.VIEW)) {

if (!_hasPermission(permissionChecker, folder, actionId)) {
return false;
}

Expand All @@ -102,39 +95,10 @@ public static boolean contains(
}
}

if (actionId.equals(ActionKeys.VIEW)) {
return true;
}

folderId = originalFolderId;
return true;
}

try {
while (folderId !=
JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

folder = JournalFolderLocalServiceUtil.getFolder(folderId);

if (permissionChecker.hasOwnerPermission(
folder.getCompanyId(), JournalFolder.class.getName(),
folderId, folder.getUserId(), actionId) ||
permissionChecker.hasPermission(
folder.getGroupId(), JournalFolder.class.getName(),
folderId, actionId)) {

return true;
}

folderId = folder.getParentFolderId();
}
}
catch (NoSuchFolderException nsfe) {
if (!folder.isInTrash()) {
throw nsfe;
}
}

return false;
return _hasPermission(permissionChecker, folder, actionId);
}

public static boolean contains(
Expand All @@ -154,4 +118,21 @@ public static boolean contains(
}
}

private static boolean _hasPermission(
PermissionChecker permissionChecker, JournalFolder folder,
String actionId) {

if (permissionChecker.hasOwnerPermission(
folder.getCompanyId(), JournalFolder.class.getName(),
folder.getFolderId(), folder.getUserId(), actionId) ||
permissionChecker.hasPermission(
folder.getGroupId(), JournalFolder.class.getName(),
folder.getFolderId(), actionId)) {

return true;
}

return false;
}

}
Expand Up @@ -97,6 +97,12 @@ public static boolean contains(
String actionId)
throws PortalException, SystemException {

if (MBBanLocalServiceUtil.hasBan(
category.getGroupId(), permissionChecker.getUserId())) {

return false;
}

if (actionId.equals(ActionKeys.ADD_CATEGORY)) {
actionId = ActionKeys.ADD_SUBCATEGORY;
}
Expand All @@ -110,12 +116,6 @@ public static boolean contains(
return hasPermission.booleanValue();
}

if (MBBanLocalServiceUtil.hasBan(
category.getGroupId(), permissionChecker.getUserId())) {

return false;
}

if (actionId.equals(ActionKeys.VIEW) &&
PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

Expand Down
Expand Up @@ -96,6 +96,12 @@ public static boolean contains(
String className, long classPK, long ownerId, String actionId)
throws SystemException {

if (MBBanLocalServiceUtil.hasBan(
groupId, permissionChecker.getUserId())) {

return false;
}

Boolean hasPermission = StagingPermissionUtil.hasPermission(
permissionChecker, groupId, className, classPK,
PortletKeys.MESSAGE_BOARDS, actionId);
Expand All @@ -111,12 +117,6 @@ public static boolean contains(
return true;
}

if (MBBanLocalServiceUtil.hasBan(
groupId, permissionChecker.getUserId())) {

return false;
}

if ((ownerId > 0) &&
permissionChecker.hasOwnerPermission(
companyId, className, classPK, ownerId, actionId)) {
Expand Down
Expand Up @@ -71,6 +71,12 @@ public static boolean contains(
String actionId)
throws PortalException, SystemException {

if (MBBanLocalServiceUtil.hasBan(
message.getGroupId(), permissionChecker.getUserId())) {

return false;
}

Boolean hasPermission = StagingPermissionUtil.hasPermission(
permissionChecker, message.getGroupId(), MBMessage.class.getName(),
message.getMessageId(), PortletKeys.MESSAGE_BOARDS, actionId);
Expand Down
Expand Up @@ -77,61 +77,42 @@ public static boolean contains(
actionId = ActionKeys.ADD_SUBCATEGORY;
}

long categoryId = category.getCategoryId();
if (actionId.equals(ActionKeys.VIEW) &&
PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

long categoryId = category.getCategoryId();

if (actionId.equals(ActionKeys.VIEW)) {
while (categoryId !=
ShoppingCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) {

category = ShoppingCategoryLocalServiceUtil.getCategory(
categoryId);

categoryId = category.getParentCategoryId();

if (!permissionChecker.hasOwnerPermission(
category.getCompanyId(),
ShoppingCategory.class.getName(),
category.getCategoryId(), category.getUserId(),
actionId) &&
!permissionChecker.hasPermission(
category.getGroupId(), ShoppingCategory.class.getName(),
category.getCategoryId(), actionId)) {

if (!_hasPermission(permissionChecker, category, actionId)) {
return false;
}

if (!PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
break;
}
categoryId = category.getParentCategoryId();
}

return true;
}

while (categoryId !=
ShoppingCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) {

category = ShoppingCategoryLocalServiceUtil.getCategory(categoryId);

categoryId = category.getParentCategoryId();

if (permissionChecker.hasOwnerPermission(
category.getCompanyId(), ShoppingCategory.class.getName(),
category.getCategoryId(), category.getUserId(), actionId)) {
return _hasPermission(permissionChecker, category, actionId);
}

return true;
}
private static boolean _hasPermission(
PermissionChecker permissionChecker, ShoppingCategory category,
String actionId) {

if (permissionChecker.hasPermission(
category.getGroupId(), ShoppingCategory.class.getName(),
category.getCategoryId(), actionId)) {
if (permissionChecker.hasOwnerPermission(
category.getCompanyId(), ShoppingCategory.class.getName(),
category.getCategoryId(), category.getUserId(), actionId) ||
permissionChecker.hasPermission(
category.getGroupId(), ShoppingCategory.class.getName(),
category.getCategoryId(), actionId)) {

return true;
}

if (actionId.equals(ActionKeys.VIEW)) {
break;
}
return true;
}

return false;
Expand Down
Expand Up @@ -63,14 +63,16 @@ public static boolean contains(
String actionId)
throws PortalException, SystemException {

if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
if (actionId.equals(ActionKeys.VIEW) &&
PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

if (item.getCategoryId() !=
ShoppingCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) {

ShoppingCategory category = item.getCategory();

if (!ShoppingCategoryPermission.contains(
permissionChecker, category, ActionKeys.VIEW)) {
permissionChecker, category, actionId)) {

return false;
}
Expand Down