Alterar a listagem dos Conteúdos no Liferay

Ao acessar o item “Painel de Controle” do menu “Bem-Vindo” e a opção de “Conteúdo Web”, o usuário tem a listagem dos conteúdos que o portal possui. Nem sempre é interessante que o usuário tenha essa visualização, e para isso realizamos uma modificação, que será detalhada a seguir:

Trabalhamos com os arquivos:
{amb_extensao}/docroot/html/portlet/journal/article_action.jsp e:
{amb_extensao}/docroot/html/portlet/journal/view.jsp

No início do primeiro arquivo, colocamos as seguintes modificações:


boolean isOwner = false;
if (Long.valueOf(request.getRemoteUser()) == article.getUserId())
isOwner = true;
boolean isAdmin = false;
if (request.isUserInRole("Administrator"))
isAdmin = true;
boolean isAprovador = false;
if (request.isUserInRole("Aprovador de conteúdo web")&&
(JournalArticlePermission.contains(permissionChecker, article, ActionKeys.VIEW)))
isAprovador = true;

E utilizamos esses dados para modificar as opções que se seguem, como por exemplo:


c:if test="%= JournalArticlePermission.contains(permissionChecker, article, ActionKeys.UPDATE) %"

ou:


c:if test="%= ((JournalArticlePermission.contains(permissionChecker, article, ActionKeys.PERMISSIONS)&& isOwner) || isAdmin || isAprovador) %"

E dessa maneira conseguimos alterar quais usuários tem permissões sobre as ações de determinado conteúdo.

Para melhorar a filtragem, alteramos o segundo arquivo da seguinte maneira:

Alteramos a linha #137 da seguinte maneira:


JournalArticle article = (JournalArticle)results.get(i);
if (JournalArticlePermission.contains(permissionChecker, article, ActionKeys.VIEW)
|| (Long.valueOf(request.getRemoteUser()) == article.getUserId())) {

Um Comentário

  1. Negar edição de Conteúdos Web aprovados | WebLibre

    [...] Uma melhor abordagem de como editar esse artigo pode ser encontrada nesse outro artigo que fizemos: http://www.weblibre.com.br/alterar-a-listagem-dos-conteudos-no-liferay/ [...]

Deixe um comentário

Observação: O seu comentário pode demorar algumas horas para aparecer.