Cómo mostrar las reseñas para un usuario común

Hola,

¿Alguien puede ayudarme a averiguar cómo puedo mostrar las revisiones también al usuario común?

Estoy trabajando en una personalización en un plugin.

Básicamente, quiero mostrar el enlace de revisión en la barra lateral también para el usuario común, así como para los administradores/moderadores. Para los administradores/moderadores, no necesito hacer nada, ya que se muestra para estos usuarios. Pero quiero mostrarlo para el usuario común y el usuario común solo debe ver los temas que están en estado pendiente.

Intenté buscar en el código y encontré un archivo que es responsable de mostrar las revisiones.
review-index.js y review-index.hbs. En el archivo de ruta, esta línea está obteniendo datos, no sé cómo modificar la consulta para poder obtener los temas con el estado pendiente.

Si alguien me guía en estas dos cosas:

  1. ¿Cómo mostrar el enlace de revisión en la barra lateral para el usuario común?
  2. ¿Cómo puedo modificar la consulta para que solo pueda obtener los temas que están en estado pendiente?

Los usuarios habituales no pueden usar esos enlaces, ¿verdad?

Creo que el primer paso sería añadir esos enlaces al serializador.

1 me gusta

Gracias por el mensaje @pfaffman,

Sí, los usuarios normales no pueden ver el enlace de revisión, pero quiero mostrar el enlace de revisión a los usuarios normales donde quiero listar los temas pendientes.

¿Puedes mostrarme un ejemplo de cómo puedo añadir el enlace de revisión en el serializador?

Buscar add-to-serializer aquí o en GitHub - discourse/all-the-plugins

2 Me gusta

Hola, intenté mirar en add_to_serializer pero el código está en ruby, lo cual no entiendo mucho. Sin embargo, he descubierto que tengo que usar algo como esto:

add_to_serializer(:site, ...) pero no sé qué método usar en el segundo parámetro.

¿Podrías guiarme sobre qué debo hacer para renderizar el enlace de reseña en la barra lateral?

Si solo quieres mostrar el enlace, podrías añadirlo a la barra lateral. Sin embargo, tendrías que crear un plugin para que la página funcione para ellos porque los usuarios normales no tienen permitido ver la página de revisión.

1 me gusta

Estoy trabajando en un plugin pero no sé cómo añadir un enlace en la barra lateral.

Por el momento, encontré una solución alternativa en este blog sobre los enlaces de revisión, la agrego aquí para que cualquiera pueda usarla en el futuro cuando sea necesario. Aunque no es lo que quería, al menos puedo agregar un enlace en la sección de la comunidad. Quiero mostrarlo en la sección principal de la comunidad justo encima del botón “más”.

¿Alguien puede guiarme sobre cómo puedo asignar permisos a un usuario común para ver la página de revisión?

Cuando hago clic en el enlace de revisión en el perfil de usuario común, obtengo un error de acceso denegado en la respuesta de la API, puede ser porque el usuario normal no tiene acceso para ver la página de revisión.

Eso es lo primero que te dije. Los usuarios no pueden ver la página de revisión ya que no son moderadores.
Necesitarás anular los permisos para hacer eso. Ese es un cambio más complicado, especialmente si te intimida ruby.
Creo que es un trabajo de 1 a 3 horas para alguien que tiene una idea bastante clara de lo que hay que hacer. Creo que es un trabajo de 10 a 20 horas para alguien que no conoce ruby o el desarrollo de discourse.

2 Me gusta