From 8eef72aa1a443a8cdc9d4c610e68fe408d5a1fcc Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Tue, 10 Jan 2012 17:35:09 +0000 Subject: [PATCH] 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 --- app/controllers/timelog_controller.rb | 1 - app/views/timelog/_form.html.erb | 14 ++++++++++++ app/views/timelog/edit.html.erb | 26 +++------------------- app/views/timelog/new.html.erb | 6 +++++ test/functional/timelog_controller_test.rb | 4 ++-- 5 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 app/views/timelog/_form.html.erb create mode 100644 app/views/timelog/new.html.erb diff --git a/app/controllers/timelog_controller.rb b/app/controllers/timelog_controller.rb index 13e147817..220954735 100644 --- a/app/controllers/timelog_controller.rb +++ b/app/controllers/timelog_controller.rb @@ -115,7 +115,6 @@ class TimelogController < ApplicationController def new @time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today) @time_entry.attributes = params[:time_entry] - render :action => 'edit' end verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed } diff --git a/app/views/timelog/_form.html.erb b/app/views/timelog/_form.html.erb new file mode 100644 index 000000000..9f7e28096 --- /dev/null +++ b/app/views/timelog/_form.html.erb @@ -0,0 +1,14 @@ +<%= error_messages_for 'time_entry' %> +<%= back_url_hidden_field_tag %> + +
+

<%= f.text_field :issue_id, :size => 6 %> <%= h("#{@time_entry.issue.tracker.name} ##{@time_entry.issue.id}: #{@time_entry.issue.subject}") if @time_entry.issue %>

+

<%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %>

+

<%= f.text_field :hours, :size => 6, :required => true %>

+

<%= f.text_field :comments, :size => 100 %>

+

<%= f.select :activity_id, activity_collection_for_select_options(@time_entry), :required => true %>

+ <% @time_entry.custom_field_values.each do |value| %> +

<%= custom_field_tag_with_label :time_entry, value %>

+ <% end %> + <%= call_hook(:view_timelog_edit_form_bottom, { :time_entry => @time_entry, :form => f }) %> +
diff --git a/app/views/timelog/edit.html.erb b/app/views/timelog/edit.html.erb index 0f8a81e9e..e5586e19a 100644 --- a/app/views/timelog/edit.html.erb +++ b/app/views/timelog/edit.html.erb @@ -1,26 +1,6 @@

<%= l(:label_spent_time) %>

-<% labelled_form_for(:time_entry, @time_entry, :url => { - :action => (@time_entry.new_record? ? 'create' : 'update'), - :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 %> - -
-

<%= f.text_field :issue_id, :size => 6 %> <%= h("#{@time_entry.issue.tracker.name} ##{@time_entry.issue.id}: #{@time_entry.issue.subject}") if @time_entry.issue %>

-

<%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %>

-

<%= f.text_field :hours, :size => 6, :required => true %>

-

<%= f.text_field :comments, :size => 100 %>

-

<%= f.select :activity_id, activity_collection_for_select_options(@time_entry), :required => true %>

-<% @time_entry.custom_field_values.each do |value| %> -

<%= custom_field_tag_with_label :time_entry, value %>

-<% end %> -<%= call_hook(:view_timelog_edit_form_bottom, { :time_entry => @time_entry, :form => f }) %> -
- -<%= submit_tag l(:button_save) %> - +<% labelled_form_for @time_entry, :url => project_time_entry_path(@time_entry.project, @time_entry) do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> + <%= submit_tag l(:button_save) %> <% end %> diff --git a/app/views/timelog/new.html.erb b/app/views/timelog/new.html.erb new file mode 100644 index 000000000..fe6277738 --- /dev/null +++ b/app/views/timelog/new.html.erb @@ -0,0 +1,6 @@ +

<%= l(:label_spent_time) %>

+ +<% 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 %> diff --git a/test/functional/timelog_controller_test.rb b/test/functional/timelog_controller_test.rb index 7a788aec5..09cf2b513 100644 --- a/test/functional/timelog_controller_test.rb +++ b/test/functional/timelog_controller_test.rb @@ -40,7 +40,7 @@ class TimelogControllerTest < ActionController::TestCase @request.session[:user_id] = 3 get :new, :project_id => 1 assert_response :success - assert_template 'edit' + assert_template 'new' # Default activity selected assert_tag :tag => 'option', :attributes => { :selected => 'selected' }, :content => 'Development' @@ -50,7 +50,7 @@ class TimelogControllerTest < ActionController::TestCase @request.session[:user_id] = 3 get :new, :project_id => 1 assert_response :success - assert_template 'edit' + assert_template 'new' assert_no_tag :tag => 'option', :content => 'Inactive Activity' end