Como renderizar as avaliações para usuário comum

Olá,

Alguém pode me ajudar a descobrir como posso exibir a revisão para usuários comuns também!

Estou trabalhando em personalizações em um plugin.

Basicamente, quero exibir o link de revisão na barra lateral para usuários comuns, bem como para administradores/moderadores. Para administradores/moderadores, não preciso fazer nada, pois já está sendo exibido para esses usuários. Mas, quero exibi-lo para usuários comuns e, o usuário comum deve ver apenas os tópicos que estão em status pendente.

Tentei olhar o código e encontrei um arquivo responsável por exibir as revisões.
review-index.js e review-index.hbs. No arquivo de rota, esta linha está buscando dados, não sei como modificar a consulta para que eu possa buscar os tópicos com status pendente.

Se alguém puder me guiar nestas duas coisas:

  1. como exibir o link de revisão na barra lateral para o usuário comum?
  2. como posso modificar a consulta para que eu possa buscar apenas os tópicos que estão em status pendente.

Usuários regulares não podem usar esses links, podem?

Eu pensaria que o primeiro passo seria adicionar esses links ao serializador.

1 curtida

Obrigado pela mensagem @pfaffman,

Sim, usuários regulares não podem ver o link de revisão, mas eu quero exibir o link de revisão para o usuário normal onde eu quero listar tópicos pendentes.

Você pode me mostrar um exemplo de como posso adicionar o link de revisão no serializador?

Pesquise add-to-serializer aqui ou em GitHub - discourse/all-the-plugins

2 curtidas

Olá, tentei investigar add_to_serializer, mas o código está em Ruby, que não entendo muito. No entanto, descobri que preciso usar algo como isto:

add_to_serializer(:site, ...) mas não sei qual método usar no segundo parâmetro.

Você pode me guiar sobre o que devo fazer para renderizar o link de avaliação na barra lateral?

Se você quiser apenas mostrar o link, você pode adicioná-lo à barra lateral. No entanto, você teria que criar um plugin para que a página funcione para eles, pois usuários comuns não têm permissão para ver a página de revisão.

1 curtida

Estou trabalhando em um plugin, mas não sei como adicionar um link na barra lateral.

No momento, encontrei uma solução alternativa neste blog sobre os links de revisão, adicionando-a aqui para que qualquer pessoa possa usá-la no futuro, quando necessário. Embora não seja o que eu queria, pelo menos consigo adicionar um link na seção da comunidade. Quero exibi-lo na seção principal da comunidade, logo acima do botão “mais”.

Alguém pode me orientar como posso atribuir permissão a um usuário comum para visualizar a página de revisão?

Quando clico no link de revisão no perfil do usuário comum, recebo um erro de acesso negado na resposta da API, talvez porque o usuário regular não tenha acesso para visualizar a página de revisão.

Essa é a primeira coisa que eu te disse. Os usuários não podem ver a página de revisão, pois não são moderadores.
Você precisará substituir as permissões para fazer isso. Essa é uma mudança mais complicada, especialmente se você se intimida com ruby.
Eu acho que é um trabalho de 1 a 3 horas para alguém que tem uma ideia muito boa do que fazer. Eu acho que é um trabalho de 10 a 20 horas para alguém que não conhece ruby ou desenvolvimento de discourse.

2 curtidas