/** * Is this privately shared? * * @return true if its has privacy set to Private, else false */ public boolean isPrivate() { return portalPage.getPermissions().isPrivate(); }
public boolean evaluate(final Object o) { final PortalPage portalPage = (PortalPage) o; return !(portalPage.getPermissions().isPrivate()); } });
public Collection<SharePermission> getAllSharePermissions() { if (permissionManager.hasPermission(Permissions.ADMINISTER, authCtx.getUser())) { if (allSharePermissions == null) { final List<SharePermission> permissions = Lists.newArrayList(portalPage.getPermissions()); Collections.sort(permissions, shareTypeFactory.getPermissionComparator()); allSharePermissions = permissions; } return allSharePermissions; } else { return getSharePermissions(); } }
if (isCurrentOwner()) permissions = new ArrayList<SharePermission>(portalPage.getPermissions().getPermissionSet()); final SharedEntity.SharePermissions portalPagePermissions = portalPage.getPermissions(); permissions = Lists.newArrayListWithCapacity(portalPagePermissions.size()); for (final SharePermission sharePermission : portalPagePermissions)
protected PortalPage createNoEvent(final PortalPage portalPage) { assertCreate(portalPage); final PortalPage createdPortalPage = PortalPage.portalPage(portalPageStore.create(portalPage)).permissions(portalPage.getPermissions()).build(); shareManager.updateSharePermissions(createdPortalPage); indexer.index(createdPortalPage).await(); return createdPortalPage; }
public Builder portalPage(PortalPage page) { id = page.getId(); name = page.getName(); description = page.getDescription(); isSystemDashboard = page.isSystemDefaultPortalPage(); favouriteCount = page.getFavouriteCount(); permissions = page.getPermissions(); layout = page.getLayout(); owner = page.getOwner(); version = page.getVersion(); return this; }
@Override public PortalPage update(final PortalPage portalPage) { assertCreate(portalPage); notNull("portalPage.id", portalPage.getId()); final PortalPage newPortalPage = PortalPage.portalPage(portalPageStore.update(portalPage)).permissions(portalPage.getPermissions()).build(); shareManager.updateSharePermissions(newPortalPage); indexer.index(newPortalPage).await(); eventPublisher.publish(new DashboardUpdated(portalPage, newPortalPage, authenticationContext.getUser())); return newPortalPage; }
/** * Check that a user has permission to change the System Default PortalPage. * <p/> * Package level by design for testing * * @param serviceCtx the JiraServiceContext in play * @param portalPage the PortalPage to check * * @return true if all is ok. The JiraServiceContext error messages will be filled out if false. */ boolean checkSystemDefaultPageForUpdate(final JiraServiceContext serviceCtx, final PortalPage portalPage) { if (portalPage.isSystemDefaultPortalPage()) { // then only admin should be able to change the page. if (!permissionManager.hasPermission(Permissions.ADMINISTER, serviceCtx.getLoggedInApplicationUser())) { serviceCtx.getErrorCollection().addErrorMessage(serviceCtx.getI18nBean().getText("admin.errors.portalpages.must.be.admin.change.sysdefault")); return false; } else { // make sure that the dashboard is always publicly available. //JRA-15573: We don't need to check the permissions. We want the admin to be //able save the page even when they don't have share permission (the page must be shared globally). return checkSystemDefaultSharePermissions(serviceCtx, portalPage.getPermissions()); } } return !serviceCtx.getErrorCollection().hasAnyErrors(); }
public void validateForChangeOwner(final JiraServiceContext serviceCtx, final PortalPage page) { Assertions.notNull("serviceCtx", serviceCtx); Assertions.notNull("page", page); if (serviceCtx.getLoggedInApplicationUser() != null) { final PortalPage portalPageByName = portalPageManager.getPortalPageByName(serviceCtx.getLoggedInApplicationUser(), page.getName()); if ((portalPageByName != null) && !page.getId().equals(portalPageByName.getId())) { serviceCtx.getErrorCollection().addErrorMessage( serviceCtx.getI18nBean().getText("admin.errors.portalpages.already.owns.same.name", serviceCtx.getLoggedInApplicationUser().getDisplayName())); } if (page.getPermissions().isPrivate()) { serviceCtx.getErrorCollection().addErrorMessage(serviceCtx.getI18nBean().getText("admin.errors.portalpages.private")); } } }
@Override public String doDefault() { final PortalPage portalPage = getPortalPage(); if (portalPage != null) { if (portalPage.isSystemDefaultPortalPage()) { addErrorMessage(getText("admin.errors.user.cannot.edit.default.dashboard")); return ERROR; } else { portalPageName = portalPage.getName(); portalPageDescription = portalPage.getDescription(); setPermissions(portalPage.getPermissions()); setFavourite(favouritesService.isFavourite(getLoggedInUser(), portalPage)); } } else { addErrorMessage(getText("admin.errors.user.must.select.page")); return ERROR; } return INPUT; }