Separated new/edit views for the timelog controller.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8628 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2012-01-10 17:35:09 +00:00
parent 4fc8c11cc0
commit 8eef72aa1a
5 changed files with 25 additions and 26 deletions

View File

@ -115,7 +115,6 @@ class TimelogController < ApplicationController
def new def new
@time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today) @time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today)
@time_entry.attributes = params[:time_entry] @time_entry.attributes = params[:time_entry]
render :action => 'edit'
end end
verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed } verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed }

View File

@ -0,0 +1,14 @@
<%= error_messages_for 'time_entry' %>
<%= back_url_hidden_field_tag %>
<div class="box tabular">
<p><%= f.text_field :issue_id, :size => 6 %> <em><%= h("#{@time_entry.issue.tracker.name} ##{@time_entry.issue.id}: #{@time_entry.issue.subject}") if @time_entry.issue %></em></p>
<p><%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %></p>
<p><%= f.text_field :hours, :size => 6, :required => true %></p>
<p><%= f.text_field :comments, :size => 100 %></p>
<p><%= f.select :activity_id, activity_collection_for_select_options(@time_entry), :required => true %></p>
<% @time_entry.custom_field_values.each do |value| %>
<p><%= custom_field_tag_with_label :time_entry, value %></p>
<% end %>
<%= call_hook(:view_timelog_edit_form_bottom, { :time_entry => @time_entry, :form => f }) %>
</div>

View File

@ -1,26 +1,6 @@
<h2><%= l(:label_spent_time) %></h2> <h2><%= l(:label_spent_time) %></h2>
<% labelled_form_for(:time_entry, @time_entry, :url => { <% labelled_form_for @time_entry, :url => project_time_entry_path(@time_entry.project, @time_entry) do |f| %>
:action => (@time_entry.new_record? ? 'create' : 'update'), <%= render :partial => 'form', :locals => {:f => f} %>
:id => @time_entry,
:project_id => @time_entry.project
},
:html => {:method => @time_entry.new_record? ? :post : :put}) do |f| %>
<%= error_messages_for 'time_entry' %>
<%= back_url_hidden_field_tag %>
<div class="box tabular">
<p><%= f.text_field :issue_id, :size => 6 %> <em><%= h("#{@time_entry.issue.tracker.name} ##{@time_entry.issue.id}: #{@time_entry.issue.subject}") if @time_entry.issue %></em></p>
<p><%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %></p>
<p><%= f.text_field :hours, :size => 6, :required => true %></p>
<p><%= f.text_field :comments, :size => 100 %></p>
<p><%= f.select :activity_id, activity_collection_for_select_options(@time_entry), :required => true %></p>
<% @time_entry.custom_field_values.each do |value| %>
<p><%= custom_field_tag_with_label :time_entry, value %></p>
<% end %>
<%= call_hook(:view_timelog_edit_form_bottom, { :time_entry => @time_entry, :form => f }) %>
</div>
<%= submit_tag l(:button_save) %> <%= submit_tag l(:button_save) %>
<% end %> <% end %>

View File

@ -0,0 +1,6 @@
<h2><%= l(:label_spent_time) %></h2>
<% labelled_form_for @time_entry, :url => project_time_entries_path(@time_entry.project) do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %>
<%= submit_tag l(:button_save) %>
<% end %>

View File

@ -40,7 +40,7 @@ class TimelogControllerTest < ActionController::TestCase
@request.session[:user_id] = 3 @request.session[:user_id] = 3
get :new, :project_id => 1 get :new, :project_id => 1
assert_response :success assert_response :success
assert_template 'edit' assert_template 'new'
# Default activity selected # Default activity selected
assert_tag :tag => 'option', :attributes => { :selected => 'selected' }, assert_tag :tag => 'option', :attributes => { :selected => 'selected' },
:content => 'Development' :content => 'Development'
@ -50,7 +50,7 @@ class TimelogControllerTest < ActionController::TestCase
@request.session[:user_id] = 3 @request.session[:user_id] = 3
get :new, :project_id => 1 get :new, :project_id => 1
assert_response :success assert_response :success
assert_template 'edit' assert_template 'new'
assert_no_tag :tag => 'option', :content => 'Inactive Activity' assert_no_tag :tag => 'option', :content => 'Inactive Activity'
end end