Feature #12348

support to add watcher to repository

Added by Michael Zhu almost 5 years ago. Updated 10 months ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:SCM
Target version:-
Resolution:

Description

If the user is watching the repository, on repository is changed, notify the user.

History

#1 Updated by Toshi MARUYAMA almost 5 years ago

  • Category set to SCM

#2 Updated by Nicolas Rodriguez almost 2 years ago

Hi!

I'm working on a similar issue for Redmine Git Hosting plugin : https://github.com/jbox-web/redmine_git_hosting/issues/536

I think this can be done with acts_as_watchable but before it works css class names for STI objects like repositories should be fixed :

Today it renders this :

<a class="repository/xitolite-2-watcher icon icon-fav" href="/watchers/watch?object_id=2&object_type=repository%2Fxitolite" data-method="delete" rel="nofollow" data-remote="true">Ne plus surveiller</a>

CSS class should be dasherized : repository-xitolite-2-watcher otherwise watcher link is not updated.

#3 Updated by Nicolas Rodriguez almost 2 years ago

You should gsub('/', '-') here http://www.redmine.org/projects/redmine/repository/entry/trunk/app/helpers/watchers_helper.rb#L43 :

"#{objects.first.class.to_s.underscore}-#{id}-watcher".gsub('/', '-')

And here : http://www.redmine.org/projects/redmine/repository/entry/trunk/app/helpers/watchers_helper.rb#L48

"delete_#{object.class.name.underscore}_watchers".gsub('/', '_').to_sym

I've tested it, it works.

my 2 cents

#4 Updated by Nicolas Rodriguez almost 2 years ago

Up?

#5 Updated by Nicolas Rodriguez 10 months ago

Hi there! Any news?

#6 Updated by Jan from Planio www.plan.io 10 months ago

Hi Nicolas, it would be greatly appreciated if you could provide patch files for this that apply cleanly to current trunk.

I'd recommend to create a first patch that changes the CSS class names as you propose and then a second patch (or series of patches) which implement the watching feature (which I think would be a great addition).

If you're using Git, you can easily clone the Redmine Git mirror, commit your changes locally and then create a series of patches using the git format-patch command, also see Contribute and How_to_create_patch_series_on_Mercurial_and_Git in particular.

I'd be happy to review it.

Also available in: Atom PDF