Plugin de Classificações de Tópicos

Um pequeno bug que encontrei: se você tiver a opção Exigir aprovação do moderador para todas as novas respostas ativada para a categoria, a avaliação é perdida durante o processo de revisão.

1 curtida

Sim, isso não é tratado atualmente. Você pode criar um relatório em nossa instância?

Eu ia criar um relatório de bug lá, mas o plugin de avaliações não aparece na lista suspensa do assistente de relatório de bugs.

2 curtidas

Criei um e te mencionei lá.

P.S.: Também adicionei o plugin de avaliações ao menu suspenso.

Não mostrar “Usar tópicos nesta categoria para avaliar coisas” nas configurações da categoria. Versão do Discourse 2.6.0.beta1. Qual poderia ser o problema?

1 curtida

Fizemos uma reescrita significativa há um mês. Seus dados estão intactos. Dê uma olhada e nos informe como foi a migração.

Olá,

É possível ocultar as avaliações ao criar um tópico usando CSS e mostrá-las apenas nas respostas?

Obrigado pela resposta! :slightly_smiling_face:

1 curtida

Acho que consegui. Deixo aqui caso alguém queira usar:
#reply-control.open.edit-title .composer-controls-rating .rating-container { display: none;}

Provavelmente não é a melhor forma de fazer isso, mas funciona para mim. Se vocês tiverem uma maneira mais elegante de ocultar as avaliações na criação do tópico e mostrar apenas na resposta, compartilhem comigo. Obrigado :slight_smile:

2 curtidas

Se a criação não é permitida, como as classificações apareceriam de qualquer forma?

Você pretende apontar para um recurso específico sobre quem tem permissão para dar classificações?

P.S.
Ah, você quer dizer que o OP não pode ter uma classificação?

Qual é o caso de uso para isso?

As classificações permitidas por categoria para mim. Uso isso em uma categoria de marketplace, então não quero que o vendedor avalie seu próprio produto ao criar um tópico. Quero mostrar essa opção apenas para o comprador que responde ao anúncio.

Isso está correto!

2 curtidas

Isso permitiria que o vendedor desse uma avaliação em outro post. Não precisa ser o OP.

2 curtidas

Agora entendi qual é o problema :confused:. Então, posso impedir que o OP avalie dentro do próprio tópico?

1 curtida

Não está disponível no plugin atualmente. Você pode criar uma solicitação de recurso aqui: Pavilion

Se você tiver um orçamento, podemos conversar e implementá-lo mais rapidamente.

2 curtidas

Eu também estou tendo esse problema. Acabei de instalar este plugin e estou na versão 2.6.0.beta1 do Discourse.
Não parece haver nenhuma configuração no modal de Edição de Categoria que me permita ativar este plugin.

1 curtida

O plugin foi quase totalmente reescrito. Agora, acesse /admin/plugins e você verá um menu de avaliações onde poderá ajustar todas as configurações de avaliação.

Para esclarecer, o plugin Ratings está instalado e ativado em /admin/plugins. No entanto, dentro das configurações de uma categoria, não há como ativá-lo para essa categoria.

2 curtidas

Entendi. Houve uma quebra. Vou corrigir rapidamente.

p.s. Posso confirmar que as avaliações funcionam perfeitamente na branch mais recente tests-passed.

Se você estiver enfrentando problemas, por favor, me dê acesso temporário à sua instância para que eu possa dar uma olhada de perto. Você também pode considerar atualizar a página para ver se o problema ainda persiste.

1 curtida

Eu reconstruí para a versão mais recente e, se eu não desinstalar este plugin, não consigo visualizar nenhum tópico. Mesmo que eu desative este plugin, ele ainda me dá erro. Todos os plugins no meu app.yml funcionam, exceto este. É o único que precisei desinstalar e, em seguida, tudo voltou a funcionar perfeitamente.

E nos meus logs, mostra que o problema é o sistema de avaliações:

image

Spoiler
plugins/discourse-ratings/lib/ratings/rating.rb:154:in `serialize'
plugins/discourse-ratings/plugin.rb:201:in `block (2 levels) in activate!'
(eval):84:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
app/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'
activerecord (6.0.3.2) lib/active_record/relation/delegation.rb:87:in `each'
activerecord (6.0.3.2) lib/active_record/relation/delegation.rb:87:in `each'
app/serializers/post_stream_serializer_mixin.rb:47:in `map'
app/serializers/post_stream_serializer_mixin.rb:47:in `posts'
app/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'
(eval):3:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
activesupport (6.0.3.2) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (6.0.3.2) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (6.0.3.2) lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in `to_json'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/application_controller.rb:464:in `render_json_dump'
app/controllers/topics_controller.rb:1043:in `block (2 levels) in perform_show_response'
actionpack (6.0.3.2) lib/action_controller/metal/mime_responds.rb:214:in `respond_to'
app/controllers/topics_controller.rb:1033:in `perform_show_response'
app/controllers/topics_controller.rb:160:in `show'
actionpack (6.0.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:195:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
i18n (1.8.5) lib/i18n.rb:313:in `with_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:139:in `run_callbacks'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:136:in `process'
actionview (6.0.3.2) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'
actionpack (6.0.3.2) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.0.3.2) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/cookies.rb:648:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.2) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.0.3.2) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.0.3.2) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:19:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiler.rb:321:in `call'
message_bus (3.3.1) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:176:in `call'
railties (6.0.3.2) lib/rails/engine.rb:527:in `call'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (5.6.0) lib/unicorn/http_server.rb:632:in `process_client'
unicorn (5.6.0) lib/unicorn/http_server.rb:728:in `worker_loop'
unicorn (5.6.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
unicorn (5.6.0) lib/unicorn/http_server.rb:144:in `start'
unicorn (5.6.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'
2 curtidas

Olá, se você puder me dar acesso temporário de administrador, posso investigar de perto. Não consegui reproduzir do meu lado.

@Arkshine, alguma ideia?

nota: Testei o plugin isoladamente. Conflitos com outros plugins são uma possibilidade, mas não posso corrigir sem informações concretas.

Esta é a lista dos meus plugins. A maioria é oficial e o restante é do Pavilion.

Spoiler
  - git clone https://github.com/discourse/docker_manager.git
  - git clone https://github.com/discourse/discourse-adplugin.git
  - git clone https://github.com/discourse/discourse-calendar.git
  - git clone https://github.com/discourse/discourse-chart.git
  - git clone https://github.com/discourse/discourse-math.git
  - git clone https://github.com/discourse/discourse-voting.git
  - git clone https://github.com/procourse/procourse-static-pages.git
  - git clone https://github.com/discourse/discourse-signatures.git
  - git clone https://github.com/Ebsy/discourse-nationalflags.git
  - git clone https://github.com/discourse/discourse-chat-integration.git
  - git clone https://github.com/discourse/discourse-solved.git
  - git clone https://github.com/discourse/discourse-graphviz.git
  #- git clone https://github.com/paviliondev/discourse-ratings.git
  - git clone https://github.com/discourse/discourse-tooltips.git
  - git clone https://github.com/cpradio/discourse-plugin-imgflip.git
  - git clone https://github.com/paviliondev/discourse-topic-previews.git
  - git clone https://github.com/discourse/discourse-bbcode
  - git clone https://github.com/discourse/discourse-affiliate.git
  - git clone https://github.com/paviliondev/discourse-news.git
  - git clone https://github.com/discourse/discourse-sitemap.git
  - git clone https://github.com/paviliondev/discourse-layouts.git
  - git clone https://github.com/discourse/discourse-assign.git
  - git clone https://github.com/gdpelican/retort.git
  - git clone https://github.com/discourse/discourse-canned-replies.git
  - git clone https://github.com/discourse/discourse-cakeday.git
  - git clone https://github.com/paviliondev/discourse-follow.git
  - git clone https://github.com/cpradio/discourse-plugin-composer-help-button.git
  - git clone https://github.com/paviliondev/discourse-custom-wizard.git
  - git clone https://github.com/discourse/discourse-perspective-api.git
  - git clone https://github.com/paviliondev/discourse-tickets.git
  - git clone https://github.com/discourse/discourse-spoiler-alert.git

No momento, não posso me dar ao luxo de reconstruir e ter tempo de inatividade no meu site. Posso verificar mais tarde.

1 curtida