Update topic after editing time limit has passed

I would like to let users bump topic with a help of a button “Bump topic” as long as topic is not closed or archived.

I’m almost there but stumbeled upon TopicController’s update method … more specifically upon guardian.ensure_can_edit!(topic) inside the update method. It prevents user from changing their older posts.

Is my only option to go with direct SQL update of a topic or is there “standard” way to achieve this?

1 Like

Wait, I am unclear, can you explain exactly what you are trying to achieve here?

1 Like

Because in general I would like indeed topic to be closed for editing… in this case it’s a category where people sell their old/used stuff. In the beginning people should be able to edit their posts as we have certain rules they should follow (photos, necessary information etc). After some time it’s safe to say the post is “finished” apart the price which can go down. People are allowed to “bump” their topic with the help of a button which appears 72 hours after last “bump” (whether bu button or some other person’s post in the topic).

So there it is … what I want to achieve. I have a button. I can bump editable posts but what if something is “in the market” for 2 years? 4 years? :slight_smile:

1 Like

Still not following,

  • Do you want to give end users the ability to “bump” topics and have them show up first in latest, but only once in 48 hours, without forcing them to post on the topic?

  • Are you trying to lift editing limit temporarily from a topic?

Keep in mind once there is more than one post in a topic, editing OP does not bump topic.

1 Like

Yes, this is exactly what I’m trying to do.

1 Like

Then I would recommend you would make a plugin with a special controller that simply updates bumped_at on the topic to Time.zone.now and handles all permissions etc in said controller.

3 Likes

Has anyone else ever asked for a Bump topic button? I have a customer using Discourse as an internal Q&A platform for his company and wanting to allow his colleagues to bump topics that are not getting enough attention, without adding a one word “bump” reply.

Obviously this could be annoying for most communities, but perhaps it could be added as an optional plugin or theme component? :thinking:

I already created this plugin way back :slight_smile:

Don’t know if it still works but you can try it out

(Don’t use it anymore … that’s why I don’t know)

3 Likes

Thanks! How did adding the button work out for you, in your community? I think for most sites it would be annoying, but can see the benefit for a Q&A site where people are waiting for an answer but don’t want to clutter the topic with meaningless metoo posts.

This could be implemented now as a theme component.

This was actually created to accompany my buy/sell/exchange plugin… plugin which added said buttons to topics and in order users wouldn’t “spam” trading category with “up” posts (which were not allowed btw… we had rules and moderators). So when you wanted to sell something you created your topic, and every 3 days you could “up” with a help of a button

1 Like