Time Tracker plugin

Added by Jérémie Delaitre almost 8 years ago

Hi,

I've written a little plugin, inspired by MyEffort plugin, to ease time tracking in Redmine.

Here is the description:

Time tracker is a redmine plugin to ease time tracking when working on an issue.
The plugin allows to start/stop a timer on a per user basis.

The time tracker is displayed in the 'account' menu bar.
To start the time tracker, the user must have the 'log time' permission. Then, the time tracker will display a 'start' link in the menu when an issue is shown.
If a tracker is running, the tracked issue id is displayed with the current spent time (updated every 5 secs). A 'stop' link is also available. When stopping the time tracker, the user is redirected to the standard timelog edit page with the 'hours' field filled with the timer value.
This way, we rely on existing and well known behaviours.

As mentionned before, the time tracker menu is updated periodically. This way, other browser tabs/windows will display the correct information.

I've added an entry in the plugin list with the usual information: http://www.redmine.org/wiki/redmine/Plugin_List#TimeTracker-plugin

Please not that its my first ruby (and thus rails) code and I'm really not a web developper!
Feedbacks are greatly welcome (especially on code quality)!

Replies (31)

RE: Time Tracker plugin - Added by Codinfo Worker over 7 years ago

Thank you very much for this plugin!

We make some improve of your plugin, because it's haven't capability of start/stop timer straight in list of issues (using right-button menu).
Maybe it's will be useful for future development of your project.

  1. Add to file ./lib/time_tracker_hooks.rb
render_on :view_issues_context_menu_start, :partial => 'time_trackers/update_context'
  1. Make file ./views/time_trackers/_update_context.rhtml with code:
            <% time_tracker = time_tracker_for(User.current) %>
            <% if !time_tracker.nil? %>
                <%= link_to l(:stop_time_tracker), { :controller => 'time_trackers', :action => 'stop' },
                 { :class => 'icon icon-tracker-add' } %>
            <% elsif !@project.nil? and User.current.allowed_to?(:log_time, @project) %>
                <% if !@issue.nil? %>
                    <%= link_to_remote l(:start_time_tracker) + ' #' + @issue.id.to_s,
                        :url => { :controller => 'time_trackers', :action => 'start', :issue_id => @issue.id },
                        :html => { :class => 'icon icon-time-add' },
                       :update => 'time-tracker-menu'
                   %>
               <% else %>
               <% end %>
           <% end %>
    

RE: Time Tracker plugin - Added by Jérémie Delaitre over 7 years ago

Thanks for your patch!
I've no free time to include the patch yet but I've created an issue on the project's github bug tracker to keep this in mind. See http://github.com/delaitre/redmine_time_tracker/issues/issue/21

RE: Time Tracker plugin - Added by Jérémie Delaitre about 7 years ago

I've added your patch (slightly reworked) in the master branch.

RE: Time Tracker plugin - Added by Yannick Warnier about 7 years ago

Your plugin is a great replacement to Slimtimer.com. We use it here to log our time as a team of 8 (delocalized) and it is very useful at the time of generating a report for a customer.

This being said, I often find myself in the need of an interface to check what people are doing right now. Not much in the sense of controlling them, but rather to be able to look at what others are doing and give a hand (or assign someone to give a hand).

As I see it, this would be an almost live list of users currently logging time (with the timer currently started), that could be refreshed every minute or so through AJAX.

Just a suggestion ;-)

RE: Time Tracker plugin - Added by Jérémie Delaitre about 7 years ago

This sounds similar to http://github.com/delaitre/redmine_time_tracker/issues/closed#issue/16 which I have rejected some times ago. But your use case is quite different from the one I was discussing privately with the feature request author. Your use case seems to be a good one (a easy to implement). I reopen the issue on github to keep it in the pipe.

RE: Time Tracker plugin - Added by Maxim Shalaev about 7 years ago

Sorry for my bad english.

Trunk release of redmine with time tracker plugin (version 0.3) send internal error 500 when timer is stop.

To fix it i make changes in time_tracker_controller.rb line 34:

redirect_to :controller => 'timelog', :action => 'new', :issue_id => issue_id, :time_entry => { :hours => hours}

RE: Time Tracker plugin - Added by Jérémie Delaitre about 7 years ago

Thanks for the report and the fix.
However, the "new" action is not available in the current stable versions. Thus, your fix will not be compatible with these versions. Is there a way to know the running version in order to call either "edit" or "new" according to it?

RE: Time Tracker plugin - Added by Maxim Shalaev about 7 years ago

Redmine 1.0.2.devel.4265

RE: Time Tracker plugin - Added by Jérémie Delaitre about 7 years ago

Well, I mean something like:

if (Redmine.version >= 1.0.3)
  // use "new" 
else
  // use "edit" 

where

Redmine.version
is the code snippet I'm looking for.

RE: Time Tracker plugin - Added by Codinfo Worker about 7 years ago

install new version plugin 0.3 on redmine 1.0.3
try enable counter and get following error:

Processing TimeTrackersController#start (for 192.168.1.35 at 2010-11-09 19:04:55) [POST]
  Parameters: {"issue_id"=>"1902", "action"=>"start", "authenticity_token"=>"yd3ZKlqpKYK08JjtTyJL4/+aPQYU/XDseKtoD8onKNY=", "controller"=>"time_trackers", "_"=>""}

NoMethodError (undefined method `time_spent=' for #<TimeTracker:0xb56267d0>):
  vendor/plugins/redmine_time_tracker/app/models/time_tracker.rb:21:in `initialize'
  vendor/plugins/redmine_time_tracker/app/controllers/time_trackers_controller.rb:12:in `new'
  vendor/plugins/redmine_time_tracker/app/controllers/time_trackers_controller.rb:12:in `start'
  /usr/lib/ruby/1.8/mongrel/rails.rb:76:in `process'
  /usr/lib/ruby/1.8/mongrel/rails.rb:74:in `synchronize'
  /usr/lib/ruby/1.8/mongrel/rails.rb:74:in `process'
  /usr/lib/ruby/1.8/mongrel.rb:159:in `process_client'
  /usr/lib/ruby/1.8/mongrel.rb:158:in `each'
  /usr/lib/ruby/1.8/mongrel.rb:158:in `process_client'
  /usr/lib/ruby/1.8/mongrel.rb:285:in `run'
  /usr/lib/ruby/1.8/mongrel.rb:285:in `initialize'
  /usr/lib/ruby/1.8/mongrel.rb:285:in `new'
  /usr/lib/ruby/1.8/mongrel.rb:285:in `run'
  /usr/lib/ruby/1.8/mongrel.rb:268:in `initialize'
  /usr/lib/ruby/1.8/mongrel.rb:268:in `new'
  /usr/lib/ruby/1.8/mongrel.rb:268:in `run'
  /usr/lib/ruby/1.8/mongrel/configurator.rb:282:in `run'
  /usr/lib/ruby/1.8/mongrel/configurator.rb:281:in `each'
  /usr/lib/ruby/1.8/mongrel/configurator.rb:281:in `run'
  /usr/lib/ruby/1.8/mongrel/command.rb:212:in `run'

Rendering /opt/redmine_test/public/500.html (500 Internal Server Error)

RE: Time Tracker plugin - Added by Jérémie Delaitre about 7 years ago

It seems you are running the current development branch, not the 0.3 version.
Did you run the migration script? (rake db:migrate_plugins RAILS_ENV=production)

RE: Time Tracker plugin - Added by Mischa The Evil almost 7 years ago

Maxim Shalaev wrote:

[...]

Trunk release of redmine with time tracker plugin (version 0.3) send internal error 500 when timer is stop.

To fix it i make changes in time_tracker_controller.rb line 34:

redirect_to :controller => 'timelog', :action => 'new', :issue_id => issue_id, :time_entry => { :hours => hours}

This is also reported as issues on the Github page:

Jérémie Delaitre wrote:

Thanks for the report and the fix.
However, the "new" action is not available in the current stable versions. Thus, your fix will not be compatible with these versions. Is there a way to know the running version in order to call either "edit" or "new" according to it?

Well, I mean something like:

[...]

where [...] is the code snippet I'm looking for.

The easiest way I could think of is using something like TimelogController.method_defined?("new") to check whether or not the method is defined. I wrapped it up in a clean new module and sent you a pull request (https://github.com/delaitre/redmine_time_tracker/pull/39) including the four related commits.

RE: Time Tracker plugin - Added by Jérémie Delaitre almost 7 years ago

This has been pulled in the master branch (no official release yet, but it should be available in a couple of days).

RE: Time Tracker plugin - Added by Alex Guzun almost 6 years ago

Latest version of plugin and redmine (Redmine 1.3.0.devel.8468 (MySQL)), not working

C:\redmine>ruby.exe script/server webrick -e production
=> Booting WEBrick
=> Rails 2.3.14 application starting on http://0.0.0.0:3000
Storing outgoing emails configuration in config/email.yml is deprecated. You should now store it in config/configuration.yml using the email_delivery
setting.
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-01-10 10:45:20] INFO  WEBrick 1.3.1
[2012-01-10 10:45:20] INFO  ruby 1.8.7 (2011-06-30) [i386-mingw32]
[2012-01-10 10:45:20] INFO  WEBrick::HTTPServer#start: pid=3212 port=3000

Processing IssuesController#index (for 10.0.0.207 at 2012-01-10 10:45:35) [GET]
  Parameters: {"v"=>{"status_id"=>["3"]}, "op"=>{"status_id"=>"="}, "group_by"=>"", "project_id"=>"eregistry", "set_filter"=>"1", "c"=>["project", "tr
acker", "status", "priority", "subject", "assigned_to"], "action"=>"index", "f"=>["status_id", ""], "controller"=>"issues"}
Rendering template within layouts/base
Rendering issues/index

ActionView::TemplateError (No plugin called 'redmine_time_tracker' - please use the full name of a loaded plugin.) on line #20 of app/views/layouts/ba
se.html.erb:
17:       body {behavior: url(<%= stylesheet_path "csshover.htc" %>);}
18:     </style>
19: <![endif]-->
20: <%= call_hook :view_layouts_base_html_head %>
21: <!-- page specific tags -->
22: <%= yield :header_tags -%>
23: </head>

    lib/redmine/hook.rb:63:in `send'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:63:in `each'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:60:in `tap'
    lib/redmine/hook.rb:60:in `call_hook'
    lib/redmine/hook.rb:146:in `call_hook'
    app/views/layouts/base.html.erb:20
    app/controllers/issues_controller.rb:88:in `index'
    app/controllers/issues_controller.rb:87:in `index'
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'

Rendering C:/redmine/public/500.html (500 Internal Server Error)

Processing WelcomeController#index (for 10.0.0.207 at 2012-01-10 10:45:41) [GET]
  Parameters: {"action"=>"index", "controller"=>"welcome"}
Rendering template within layouts/base
Rendering welcome/index

ActionView::TemplateError (No plugin called 'redmine_time_tracker' - please use the full name of a loaded plugin.) on line #20 of app/views/layouts/ba
se.html.erb:
17:       body {behavior: url(<%= stylesheet_path "csshover.htc" %>);}
18:     </style>
19: <![endif]-->
20: <%= call_hook :view_layouts_base_html_head %>
21: <!-- page specific tags -->
22: <%= yield :header_tags -%>
23: </head>

    lib/redmine/hook.rb:63:in `send'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:63:in `each'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:60:in `tap'
    lib/redmine/hook.rb:60:in `call_hook'
    lib/redmine/hook.rb:146:in `call_hook'
    app/views/layouts/base.html.erb:20
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'

Rendering C:/redmine/public/500.html (500 Internal Server Error)
art'

Rendering C:/redmine/public/500.html (500 Internal Server Error)

Processing WelcomeController#index (for 10.0.0.147 at 2012-01-10 10:46:10) [GET]
  Parameters: {"action"=>"index", "controller"=>"welcome"}
Rendering template within layouts/base
Rendering welcome/index

ActionView::TemplateError (No plugin called 'redmine_time_tracker' - please use the full name of a loaded plugin.) on line #20 of app/views/layouts/ba
se.html.erb:
17:       body {behavior: url(<%= stylesheet_path "csshover.htc" %>);}
18:     </style>
19: <![endif]-->
20: <%= call_hook :view_layouts_base_html_head %>
21: <!-- page specific tags -->
22: <%= yield :header_tags -%>
23: </head>

    lib/redmine/hook.rb:63:in `send'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:63:in `each'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:60:in `tap'
    lib/redmine/hook.rb:60:in `call_hook'
    lib/redmine/hook.rb:146:in `call_hook'
    app/views/layouts/base.html.erb:20
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'

Rendering C:/redmine/public/500.html (500 Internal Server Error)
/500.html (500 Internal Server Error)
[2012-01-10 10:46:44] INFO  going to shutdown ...
[2012-01-10 10:46:44] INFO  WEBrick::HTTPServer#start done.
Exiting

RE: Time Tracker plugin - Added by Ali Nebi almost 6 years ago

Hi,

The issue is coming from the fact that your plugin in file system is not called redmine_time_tracker.

Rename the plugin folder name to 'redmine_time_tracker'. Run migrate command and restart redmine. This will solve the issue.

Regards,
Ali

RE: Time Tracker plugin - Added by Alex Guzun almost 6 years ago

Still Error 500

Processing WelcomeController#index (for 10.0.0.147 at 2012-01-16 08:53:51) [GET]
  Parameters: {"action"=>"index", "controller"=>"welcome"}
Rendering template within layouts/base
Rendering welcome/index

ActionView::TemplateError (No route matches {:action=>"index", :controller=>"time_trackers"}) on line #52 of vendor/plugins/redmine_time_tracker/app/views/time_trackers/_embed_menu.rhtml:
49: 
50: <% if User.current.allowed_to?(:log_time, nil, :global => true) or User.current.allowed_to?(:view_others_time_trackers, nil, :global => true) %>
51:     <span>
52:         <%= link_to '',
53:             { :controller => 'time_trackers', :action => 'index' },
54:             { :class => 'icon-action icon-list-action', :title => l(:list_time_trackers) }
55:         %>

    vendor/plugins/redmine_time_tracker/app/views/time_trackers/_embed_menu.rhtml:52:in `_run_rhtml_vendor47plugins47redmine_time_tracker47app47views47time_trackers47_embed_menu46rhtml_locals_embed_menu_object'
    vendor/plugins/redmine_time_tracker/app/views/time_trackers/_update_menu.rhtml:11:in `_run_rhtml_vendor47plugins47redmine_time_tracker47app47views47time_trackers47_update_menu46rhtml_locals_controller_object_project_request_update_menu'
    lib/redmine/hook.rb:113:in `send'
    lib/redmine/hook.rb:113:in `view_layouts_base_body_bottom'
    lib/redmine/hook.rb:63:in `send'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:63:in `each'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:60:in `tap'
    lib/redmine/hook.rb:60:in `call_hook'
    lib/redmine/hook.rb:146:in `call_hook'
    app/views/layouts/base.html.erb:84
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
    C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'

Rendering C:/redmine/public/500.html (500 Internal Server Error)

RE: Time Tracker plugin - Added by Paul Ohm almost 6 years ago

Installed latest version of time tracker (0.4) with latest stable redmine (1.3.0) and after running "rake db:migrate_plugins RAILS_ENV=development" (because I am using the dev environment) when I try to load the homepage I get this output:

NoMethodError in Welcome#index

Showing vendor/plugins/redmine_time_tracker/app/views/time_trackers/_embed_menu.rhtml where line #1 raised:

undefined method `time_tracker_for' for #<ActionView::Base:0xae04d7c>
Extracted source (around line #1):

1: <% time_tracker = time_tracker_for(User.current) %>
2: <% if !time_tracker.nil? %>
3:     <% if time_tracker.paused %>
4:         <%# A time tracker is in pause, display the tracked issue, the time spent and the resume/stop actions %>
Trace of template inclusion: vendor/plugins/redmine_time_tracker/app/views/time_trackers/_update_menu.rhtml, app/views/layouts/base.html.erb

RAILS_ROOT: /var/www/redmine130dev

Application Trace | Framework Trace | Full Trace
/var/www/redmine130dev/vendor/plugins/redmine_time_tracker/app/views/time_trackers/_embed_menu.rhtml:1:in `_run_rhtml_vendor47plugins47redmine_time_tracker47app47views47time_trackers47_embed_menu46rhtml_locals_embed_menu_object'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable.rb:34:in `send'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable.rb:34:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/base.rb:306:in `with_template'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable.rb:30:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb:20:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:30:in `benchmark'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb:19:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/template.rb:205:in `render_template'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb:44:in `render_partial'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/partials.rb:184:in `render_partial'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/base.rb:267:in `render'
/var/www/redmine130dev/vendor/plugins/redmine_time_tracker/app/views/time_trackers/_update_menu.rhtml:11:in `_run_rhtml_vendor47plugins47redmine_time_tracker47app47views47time_trackers47_update_menu46rhtml_locals_controller_object_project_request_update_menu'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable.rb:34:in `send'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable.rb:34:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/base.rb:306:in `with_template'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable.rb:30:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb:20:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:30:in `benchmark'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb:19:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/template.rb:205:in `render_template'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb:44:in `render_partial'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/partials.rb:184:in `render_partial'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_view/base.rb:267:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:964:in `render_without_benchmark'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:51:in `render'
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/usr/local/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:51:in `render'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.14/lib/action_controller/base.rb:986:in `render_to_string'
/var/www/redmine130dev/lib/redmine/hook.rb:113:in `send'
/var/www/redmine130dev/lib/redmine/hook.rb:113:in `view_layouts_base_body_bottom'
/var/www/redmine130dev/lib/redmine/hook.rb:63:in `send'
/var/www/redmine130dev/lib/redmine/hook.rb:63:in `call_hook'
/var/www/redmine130dev/lib/redmine/hook.rb:63:in `each'
/var/www/redmine130dev/lib/redmine/hook.rb:63:in `call_hook'
/var/www/redmine130dev/lib/redmine/hook.rb:60:in `tap'
/var/www/redmine130dev/lib/redmine/hook.rb:60:in `call_hook'
/var/www/redmine130dev/lib/redmine/hook.rb:144:in `call_hook'
/var/www/redmine130dev/app/views/layouts/base.html.erb:84:in `_run_erb_app47views47layouts47base46html46erb'

RE: Time Tracker plugin - Added by Paul Ohm almost 6 years ago

rake db:migrate_plugins seems to work correctly as it gives this output:

Migrating redmine_time_tracker...
==  CreateTimeTrackers: migrating =============================================
-- create_table(:time_trackers)
   -> 0.0181s
==  CreateTimeTrackers: migrated (0.0182s) ====================================

==  AddPauseSupport: migrating ================================================
-- add_column(:time_trackers, :time_spent, :float, {:default=>0})
   -> 0.0220s
-- add_column(:time_trackers, :paused, :boolean, {:default=>false})
   -> 0.0154s
==  AddPauseSupport: migrated (0.0375s) =======================================

Yes, I have ensured that the plugin directory is titled "redmine_time_tracker" and I have also restarted the web server.

After removing the plugin with "rake db:migrate:plugin NAME=redmine_time_tracker VERSION=0 RAILS_ENV=development" and deleting the plugin directory, the environment works fine again.

RE: Time Tracker plugin - Added by Jérémie Delaitre almost 6 years ago

Well,

I've neither tested the plugin on redmine 1.3.0 nor on development version.
I've marked the plugin compatible with 1.3.0 (in the redmine plugin page) as a user reported it working (https://github.com/delaitre/redmine_time_tracker/issues/64). Maybe this was an error... Anybody got it working on 1.3.0?

I don't know if I'll have time to rework on the plugin... I'll be happy if someone is interested to take maintainership of it.

RE: Time Tracker plugin - Added by Alex Guzun almost 6 years ago

:(
Damn... im missing only one thing for redmine a desktop time tracking app, nothing else.

RE: Time Tracker plugin - Added by Jérémie Delaitre almost 6 years ago

Well, you can take a look at https://chrome.google.com/webstore/detail/mkpkclfhemlehfbeinbjnbjebbikgfpb
Maybe this can helps... but this is quite similar to the time tracker plugin in the end.

RE: Time Tracker plugin - Added by Gary Ritchie almost 6 years ago

Running Redmine 1.3.0 Stable (mysql) here with Time Tracker plugin. Seems to work fine. That is, timer works and puts time in appropriate field when stopping the timer. No errors on the front end.

RE: Time Tracker plugin - Added by Jérémie Delaitre almost 6 years ago

Ok. Good news. Two people having the plugin working on redmine 1.3.0 tend to prove this is indeed working :)

RE: Time Tracker plugin - Added by Egidijus Zideckas almost 6 years ago

In case someone still has problems with Redmine not finding route, I found a solution (inspired by: http://www.redmine.org/issues/9778 and http://www.informit.com/articles/article.aspx?p=1087656&seqNum=5). It seems that Redmine changed routes configuration in config/routes.rb and since then most plugins suffer similar way. To solve this, you need to add new file in plugin folder:

config/routes.rb:
ActionController::Routing::Routes.draw do |map|
map.connect '/time_trackers/stop', :controller => 'time_trackers', :action => 'stop'
map.connect '/time_trackers/start', :controller => 'time_trackers', :action => 'start'
map.connect '/time_trackers/suspend', :controller => 'time_trackers', :action => 'suspend'
map.connect '/time_trackers/resume', :controller => 'time_trackers', :action => 'resume'
map.connect '/time_trackers/render_menu', :controller => 'time_trackers', :action => 'render_menu'
map.connect '/time_trackers/show_report', :controller => 'time_trackers', :action => 'show_report'
map.connect '/time_trackers/delete', :controller => 'time_trackers', :action => 'delete'
map.connect '/time_trackers', :controller => 'time_trackers', :action => 'index'
end

This solved problem for me

1 2 (1-25/31)