Topic Ratings Plugin

A little bug I’ve found: if you have Require moderator approval of all new replies turned on for the category, the rating is lost in the review process.

1 Like

Yes, thats not handled currently. Can you create a report on our instance?

I was going to create a bug report on there but the ratings plugin is not in the dropdown in the bug report wizard

2 Likes

I’ve created one and mentioned you there.

p.s. Also added the ratings plugin to the dropdown

Don’t show “Use topics in this category to rate things” in category setting. Discourse version 2.6.0.beta1. What could be the problem?

1 Like

We did a major rewrite a month back. Your data is intact. Do have a look and update us on how the migration went.

Hello,

Is that possible to hide ratings from create topic with css and only show on reply?

Thanks for the answer! :slightly_smiling_face:

1 Like

I think i got it, I leave here if someone want to use:
#reply-control.open.edit-title .composer-controls-rating .rating-container { display: none;}

Probably this is not the best way to do this but it works for me. If you guys have more elegant way to hide ratings on topic create and only show on reply please share me. Thanks :slight_smile:

2 Likes

If creation isn’t allowed, then how would the ratings appear at all?

Do you intend to point towards a concrete feature on who is allowed to give ratings?

p.s.
Oh you mean the OP cannot have a rating?

What’s the use case for that?

The ratings allowed by category for me. I use it on a marketplace category so I don’t want the Seller rates their own product when create topic. I want to show this option only the buyer who reply the ad.

That is correct!

1 Like

This would allow the seller to give rating on another post. Doesn’t have to be OP.

1 Like

I see now what is the problem :confused: so can I restrict the op cannot rate inside their own topic?

1 Like

Its not available in the plugin currently. You can create a feature request here. Feature Request

If you have a budget, we can discuss and get it in sooner.

2 Likes

I am also running into this problem. I just installed this plugin and I’m on discourse version 2.6.0.beta1.
There doesn’t appear to be any setting in the Category Edit modal to let me enable this plugin

1 Like

The plugin has been almost rewritten. Now you go to /admin/plugins and you’ll see a ratings menu where you can adjust all the ratings settings.

to clarify, ratings is installed and enabled in /admin/plugins. However, within a category’s settings, there’s no way to enable it for that category.

2 Likes

I see. There’s a breakage. I’ll fix it quickly.

p.s. I can confirm ratings works perfectly fine on latest tests-passed branch.

If you’re facing issues, please give me temporary access to your instance so I can take a look closely. You might as well consider a page refresh to see if the issue is still there.

1 Like

I’ve rebuild to latest and if I don’t have this plugin uninstalled, I can’t view any topics. Even if I disable this plugin, it still gives me error. All plugins in my app.yml work except this one. It’s the only one I had to uninstall and then everything worked again like a charm.

And in my logs, it shows ratings is the issue:

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 Likes

Hi, if you can give me temporary admin access, I can look closely. No repro on my side.

@Arkshine any clue?

note: I tested the plugin in isolation. Conflicts with other plugins is a possibility but can’t fix without concrete information.

These are the list of my plugins. Most are official and the rest are 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

Currently, I can’t afford to rebuild and have downtime on my site. I can check later.

1 Like