From 043cb37b161d712e1c6fe7b9aa41d7af356cf795 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Tue, 1 Apr 2008 19:40:40 +0000 Subject: Add predefined date ranges to the time report in the same way as the details view (closes #972). It nows defaults to 'All time'. This patch also fixes time report periods (columns) computation. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1318 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/views/timelog/_date_range.rhtml | 16 ++++++++++++++++ app/views/timelog/details.rhtml | 18 +----------------- app/views/timelog/report.rhtml | 26 ++++++++++---------------- 3 files changed, 27 insertions(+), 33 deletions(-) create mode 100644 app/views/timelog/_date_range.rhtml (limited to 'app/views/timelog') diff --git a/app/views/timelog/_date_range.rhtml b/app/views/timelog/_date_range.rhtml new file mode 100644 index 000000000..ac46fea18 --- /dev/null +++ b/app/views/timelog/_date_range.rhtml @@ -0,0 +1,16 @@ +
<%= l(:label_date_range) %> +

+<%= radio_button_tag 'period_type', '1', !@free_period %> +<%= select_tag 'period', options_for_period_select(params[:period]), + :onchange => 'this.form.onsubmit();', + :onfocus => '$("period_type_1").checked = true;' %> +

+

+<%= radio_button_tag 'period_type', '2', @free_period %> +<%= l(:label_date_from) %> +<%= text_field_tag 'from', @from, :size => 10, :onfocus => '$("period_type_2").checked = true;' %> <%= calendar_for('from') %> +<%= l(:label_date_to) %> +<%= text_field_tag 'to', @to, :size => 10, :onfocus => '$("period_type_2").checked = true;' %> <%= calendar_for('to') %> +<%= submit_tag l(:button_apply), :name => nil, :onclick => '$("period_type_2").checked = true;' %> +

+
diff --git a/app/views/timelog/details.rhtml b/app/views/timelog/details.rhtml index 89793745e..f1e80da1f 100644 --- a/app/views/timelog/details.rhtml +++ b/app/views/timelog/details.rhtml @@ -12,23 +12,7 @@ <% form_remote_tag( :url => {}, :method => :get, :update => 'content' ) do %> <%= hidden_field_tag 'project_id', params[:project_id] %> <%= hidden_field_tag 'issue_id', params[:issue_id] if @issue %> - -
<%= l(:label_date_range) %> -

-<%= radio_button_tag 'period_type', '1', !@free_period %> -<%= select_tag 'period', options_for_period_select(params[:period]), - :onchange => 'this.form.onsubmit();', - :onfocus => '$("period_type_1").checked = true;' %> -

-

-<%= radio_button_tag 'period_type', '2', @free_period %> -<%= l(:label_date_from) %> -<%= text_field_tag 'from', @from, :size => 10, :onfocus => '$("period_type_2").checked = true;' %> <%= calendar_for('from') %> -<%= l(:label_date_to) %> -<%= text_field_tag 'to', @to, :size => 10, :onfocus => '$("period_type_2").checked = true;' %> <%= calendar_for('to') %> -<%= submit_tag l(:button_apply), :name => nil, :onclick => '$("period_type_2").checked = true;' %> -

-
+<%= render :partial => 'date_range' %> <% end %>
diff --git a/app/views/timelog/report.rhtml b/app/views/timelog/report.rhtml index 2682a5cb0..2e08e5883 100644 --- a/app/views/timelog/report.rhtml +++ b/app/views/timelog/report.rhtml @@ -5,32 +5,27 @@

<%= l(:label_spent_time) %>

-<% form_remote_tag(:url => {:project_id => @project}, :update => 'content') do %> +<% form_remote_tag(:url => {}, :update => 'content') do %> <% @criterias.each do |criteria| %> <%= hidden_field_tag 'criterias[]', criteria %> <% end %> -
<%= l(:label_date_range) %> -

- <%= l(:label_date_from) %> - <%= text_field_tag 'date_from', @date_from, :size => 10 %><%= calendar_for('date_from') %> - <%= l(:label_date_to) %> - <%= text_field_tag 'date_to', @date_to, :size => 10 %><%= calendar_for('date_to') %> - <%= l(:label_details) %> - <%= select_tag 'period', options_for_select([[l(:label_year), 'year'], - [l(:label_month), 'month'], - [l(:label_week), 'week']], @columns) %> -   - <%= submit_tag l(:button_apply) %> + <%= hidden_field_tag 'project_id', params[:project_id] %> + <%= render :partial => 'date_range' %>

+

<%= l(:label_details) %>: <%= select_tag 'columns', options_for_select([[l(:label_year), 'year'], + [l(:label_month), 'month'], + [l(:label_week), 'week']], @columns), + :onchange => "this.form.onsubmit();" %> -

<%= l(:button_add) %>: <%= select_tag('criterias[]', options_for_select([[]] + (@available_criterias.keys - @criterias).collect{|k| [l(@available_criterias[k][:label]), k]}), + <%= l(:button_add) %>: <%= select_tag('criterias[]', options_for_select([[]] + (@available_criterias.keys - @criterias).collect{|k| [l(@available_criterias[k][:label]), k]}), :onchange => "this.form.onsubmit();", :style => 'width: 200px', :disabled => (@criterias.length >= 3)) %> <%= link_to_remote l(:button_clear), {:url => {:project_id => @project, :date_from => @date_from, :date_to => @date_to, :period => @columns}, :update => 'content'}, :class => 'icon icon-reload' %>

- +<% end %> + <% unless @criterias.empty? %>

<%= l(:label_total) %>: <%= html_hours(lwr(:label_f_hour, @total_hours)) %>

@@ -62,4 +57,3 @@ <% end %> <% end %> -<% end %> -- cgit v1.2.3