Merge pull request #2752 from floriank/fix/19289-timetracking-broken

[Foundation] Timetracking filter broken
pull/2753/head
Jan Sandbrink 10 years ago
commit b9e1aa5d63
  1. 1
      app/assets/javascripts/application.js.erb
  2. 53
      app/assets/javascripts/date-range.js
  3. 53
      app/views/timelog/_date_range.html.erb

@ -44,6 +44,7 @@
//= require_tree ./bundles
//= require custom-fields
//= require date-range
//source: http://stackoverflow.com/questions/8120065/jquery-and-prototype-dont-work-together-with-array-prototype-reverse
if (typeof []._reverse == 'undefined') {

@ -0,0 +1,53 @@
//-- copyright
// OpenProject is a project management system.
// Copyright (C) 2012-2015 the OpenProject Foundation (OPF)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License version 3.
//
// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
// Copyright (C) 2006-2013 Jean-Philippe Lang
// Copyright (C) 2010-2013 the ChiliProject Team
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// See doc/COPYRIGHT.rdoc for more details.
//++
(function($) {
$(function() {
/*
* See /app/views/timelog/_date_range.html.erb
*/
if ($('#date-range').length < 1) {
return;
}
var intervalInputs = $('#to, #from'),
// select
period = $('#period'),
// radio buttons
periodOptionList = $('#period_type_list'),
periodOptionInterval = $('#period_type_interval');
var activateRadiobutton = function(radioButton) {
return function() {
radioButton.attr('checked', true);
};
};
intervalInputs.on('click focus', activateRadiobutton(periodOptionInterval));
period.on('click focus', activateRadiobutton(periodOptionList));
});
}(jQuery));

@ -26,40 +26,35 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See doc/COPYRIGHT.rdoc for more details.
++#%>
<fieldset id="date-range" class="collapsible">
<legend onclick="toggleFieldset(this);"><a href="javascript:"><%= l(:label_date_range) %></a></legend>
<div>
<div class="form--field">
<%= styled_label_tag "period_type_list", l(:description_date_range_list), :class => "hidden-for-sighted" %>
<fieldset id="date-range" class="simple-filters--container">
<legend><%= l(:label_date_range) %></legend>
<ul class="simple-filters--filters">
<li class="simple-filters--filter">
<%= styled_label_tag "period_type_list", l(:description_date_range_list), :class => "hidden-for-sighted simple-filters--filter-name" %>
<%= styled_radio_button_tag 'period_type', '1',
!@free_period,
:onclick => 'Form.Element.disable("from");Form.Element.disable("to");Form.Element.enable("period");',
:id => "period_type_list"%>
<%= styled_select_tag 'period',
options_for_period_select(params[:period]),
:onfocus => '$("period_type_1").checked = true;',
:disabled => @free_period,
class: "-narrow" %>
</div>
<div class="grid-block small-6">
<%= styled_label_tag "period_type_interval", l(:description_date_range_interval), :class => "hidden-for-sighted" %>
<%= styled_radio_button_tag 'period_type', '2', @free_period, :onclick => 'Form.Element.enable("from");Form.Element.enable("to");Form.Element.disable("period");', :id => "period_type_interval" %>
<span onclick="$('period_type_2').checked = true;" class="grid-block">
<div class="form--field">
<%= styled_label_tag("from", l(:label_date_from)) %>
<%= styled_text_field_tag('from', @from, :size => 10, :disabled => !@free_period) %>
<div class="simple-filters--filter-value">
<%= styled_select_tag 'period',
options_for_period_select(params[:period]),
class: "-narrow" %>
</div>
</li>
<li class="simple-filters--filter">
<%= styled_label_tag "period_type_interval", l(:description_date_range_interval), :class => "hidden-for-sighted simple-filters--filter-name" %>
<%= styled_radio_button_tag 'period_type', '2', @free_period, :id => "period_type_interval" %>
<%= styled_label_tag("from", l(:label_date_from), class: 'simple-filters--filter-name') %>
<div class="simple-filters--filter-value">
<%= styled_text_field_tag('from', @from, :size => 10) %>
<%= calendar_for('from') %>
</div>
<div class="form--field">
<%= styled_label_tag("to", l(:label_date_to)) %>
<%= styled_text_field_tag('to', @to, :size => 10, :disabled => !@free_period) %>
<%= styled_label_tag("to", l(:label_date_to), class: 'simple-filters--filter-name') %>
<div class="simple-filters--filter-value">
<%= styled_text_field_tag('to', @to, :size => 10) %>
<%= calendar_for('to') %>
</div>
</span>
</div>
<hr class="form--separator">
<%= link_to_function l(:button_apply), '$("query_form").submit()', :class => 'button -highlight' %>
<%= link_to l(:button_clear), polymorphic_time_entries_path(@issue || @project), :class => 'button ' %>
</div>
</li>
</ul>
<%= styled_button_tag l(:button_apply), class: 'button -highlight -small' %>
<%= link_to l(:button_clear), polymorphic_time_entries_path(@issue || @project), :class => 'button -small' %>
</fieldset>

Loading…
Cancel
Save