diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-07-14 14:37:22 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-07-14 14:37:22 +0000 |
commit | e94e88e3adec033b71c64ebfb0378a28ea1b0c33 (patch) | |
tree | e9ff40e51152668f4414de678f5da700dbd26ac4 /app | |
parent | 9c38458f8bd259c7db2cb6a8fda7dcbcbf3f5540 (diff) | |
download | redmine-e94e88e3adec033b71c64ebfb0378a28ea1b0c33.tar.gz redmine-e94e88e3adec033b71c64ebfb0378a28ea1b0c33.zip |
Added the ability to log time when changing an issue status.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@586 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/issues_controller.rb | 8 | ||||
-rw-r--r-- | app/views/issues/change_status.rhtml | 13 |
2 files changed, 21 insertions, 0 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index e0005b309..990d95b0e 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -105,6 +105,13 @@ class IssuesController < ApplicationController :value => a.filename) unless a.new_record? } if params[:attachments] and params[:attachments].is_a? Array + # Log time + if logged_in_user.authorized_to(@project, "timelog/edit") + @time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => logged_in_user, :spent_on => Date.today) + @time_entry.attributes = params[:time_entry] + @time_entry.save + end + flash[:notice] = l(:notice_successful_update) Mailer.deliver_issue_edit(journal) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled? redirect_to :action => 'show', :id => @issue @@ -115,6 +122,7 @@ class IssuesController < ApplicationController end end @assignable_to = @project.members.find(:all, :include => :user).collect{ |m| m.user } + @activities = Enumeration::get_values('ACTI') end def destroy diff --git a/app/views/issues/change_status.rhtml b/app/views/issues/change_status.rhtml index 11fceccca..ab9aee2f9 100644 --- a/app/views/issues/change_status.rhtml +++ b/app/views/issues/change_status.rhtml @@ -8,10 +8,23 @@ <%= f.hidden_field :lock_version %> <div class="box"> +<div class="splitcontentleft"> <p><label><%=l(:label_issue_status_new)%></label> <%= @new_status.name %></p> <p><%= f.select :assigned_to_id, (@issue.project.members.collect {|m| [m.name, m.user_id]}), :include_blank => true %></p> <p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %></p> <p><%= f.select :fixed_version_id, (@project.versions.collect {|v| [v.name, v.id]}), { :include_blank => true } %></p> +</div> +<div class="splitcontentright"> +<% if authorize_for('timelog', 'edit') %> +<% fields_for :time_entry, @time_entry, { :builder => TabularFormBuilder, :lang => current_language} do |time_entry| %> +<p><%= time_entry.text_field :hours, :size => 6, :label => :label_spent_time %> <%= l(:field_hours) %></p> +<p><%= time_entry.text_field :comments, :size => 40 %></p> +<p><%= time_entry.select :activity_id, (@activities.collect {|p| [p.name, p.id]}) %></p> +<% end %> +<% end %> +</div> + +<div class="clear"></div> <p><label for="notes"><%= l(:field_notes) %></label> <%= text_area_tag 'notes', @notes, :cols => 60, :rows => 10, :class => 'wiki-edit' %></p> |