Merge pull request #125 from finnlabs/fix/styles_in_wp_form

Fix/styles in wp form
pull/6827/head
Florian Kraft 10 years ago
commit 0e6bf31108
  1. 90
      app/views/hooks/backlogs/_view_work_packages_form_details_bottom.html.erb
  2. 16
      lib/open_project/backlogs/engine.rb
  3. 51
      lib/open_project/backlogs/hooks.rb
  4. 79
      lib/open_project/backlogs/patches/work_packages_helper_patch.rb

@ -0,0 +1,90 @@
<%#-- copyright
OpenProject Backlogs Plugin
Copyright (C)2013-2014 the OpenProject Foundation (OPF)
Copyright (C)2011 Stephan Eckardt, Tim Felgentreff, Marnen Laibow-Koser, Sandro Munda
Copyright (C)2010-2011 friflaj
Copyright (C)2010 Maxime Guilbot, Andrew Vit, Joakim Kolsjö, ibussieres, Daniel Passos, Jason Vasquez, jpic, Emiliano Heyns
Copyright (C)2009-2010 Mark Maglana
Copyright (C)2009 Joe Heck, Nate Lowrie
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 Backlogs is a derivative work based on ChiliProject Backlogs.
The copyright follows:
Copyright (C) 2010-2011 - Emiliano Heyns, Mark Maglana, friflaj
Copyright (C) 2011 - Jens Ulferts, Gregor Schmidt - Finn GmbH - Berlin, Germany
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.
++#%>
<% work_package = issue %>
<% if work_package.is_story? && params[:copy_from] %>
<div id="backlogs-attributes" class="attributes">
<div class="form--field">
<%= styled_label_tag :link_to_original, l(:rb_label_link_to_original) %>
<span class="form--field-container">
<%= styled_check_box_tag('link_to_original',
params[:copy_from],
true, label: l(:rb_label_link_to_original)) %>
</span>
</div>
<div class="form--grouping" role="group" aria-labelledby="copy-tasks-label">
<div id="copy_tasks_label"
class="form--grouping-label">
<%= l(:rb_label_copy_tasks) %>
</div>
<div class="form--grouping-row">
<div class="form--field">
<span class="form--field-container -vertical">
<span class="form--radio-button-container">
<label class="form--label">
<%= radio_button_tag('copy_tasks',
'open:' + params[:copy_from],
true,
{ id: 'copy_tasks_open' }) %>
<%= l(:rb_label_copy_tasks_open) %>
</label>
</span>
<span class="form--radio-button-container">
<label class="form--label">
<%= radio_button_tag('copy_tasks',
'none',
false,
{ id: 'copy_tasks_none' }) %>
<%= l(:rb_label_copy_tasks_none) %>
</label>
</span>
<span class="form--radio-button-container">
<label class="form--label">
<%= radio_button_tag('copy_tasks',
'all:' + params[:copy_from],
false,
{ id: 'copy_tasks_all' }) %>
<%= l(:rb_label_copy_tasks_all) %>
</label>
</span>
</span>
</div>
</div>
</div>
</div>
<% end %>

@ -128,8 +128,20 @@ module OpenProject::Backlogs
backlogs/burndown.js
)
patches [:PermittedParams, :WorkPackage, :Status, :Type, :MyController, :Project,
:ProjectsController, :ProjectsHelper, :Query, :User, :VersionsController, :Version]
patches [:PermittedParams,
:WorkPackage,
:Status,
:Type,
:MyController,
:Project,
:ProjectsController,
:ProjectsHelper,
:Query,
:User,
:VersionsController,
:Version,
:WorkPackagesHelper]
patch_with_namespace :API, :V3, :WorkPackages, :Schema, :WorkPackageSchema
extend_api_response(:v3, :work_packages, :work_package) do

@ -72,54 +72,11 @@ module OpenProject::Backlogs::Hooks
class LayoutHook < Redmine::Hook::ViewListener
include RbCommonHelper
def view_work_packages_form_details_bottom(context = {})
snippet = ''
work_package = context[:issue]
return '' unless work_package.backlogs_enabled?
snippet << %(<div id="backlogs-attributes" class="attributes">)
if work_package.is_story?
snippet << '<div class="attribute_wrapper">'
snippet << context[:form].text_field(:story_points, :size => 3, :class => 'short')
snippet << '</div>'
# TODO: there are hook implementations in here that need to be ported
# to render a partial instead of returning a hand crafted snippet
if work_package.descendants.length != 0
snippet << javascript_tag(<<-JS)
(function($) {
$(document).ready(function() {
$('#issue_estimated_hours').attr('disabled', 'disabled');
$('#issue_remaining_hours').attr('disabled', 'disabled');
$('#issue_done_ratio').attr('disabled', 'disabled');
$('#issue_start_date').parent().hide();
$('#issue_due_date').parent().hide();
});
}(jQuery))
JS
end
end
snippet << '<div class="attribute_wrapper">'
snippet << context[:form].text_field(:remaining_hours, :size => 3, :class => 'short', :placeholder => l(:label_hours))
snippet << '</div>'
params = context[:controller].params
if work_package.is_story? && params[:copy_from]
snippet << "<p><label for='link_to_original'>#{l(:rb_label_link_to_original)}</label>"
snippet << "#{check_box_tag('link_to_original', params[:copy_from], true)}</p>"
snippet << "<p><label>#{l(:rb_label_copy_tasks)}</label>"
snippet << "#{radio_button_tag('copy_tasks', 'open:' + params[:copy_from], true, { id: 'copy_tasks_open'})} #{l(:rb_label_copy_tasks_open)}<br />"
snippet << "#{radio_button_tag('copy_tasks', 'none', false, {id: 'copy_tasks_none'})} #{l(:rb_label_copy_tasks_none)}<br />"
snippet << "#{radio_button_tag('copy_tasks', 'all:' + params[:copy_from], false, {id: 'copy_tasks_all'})} #{l(:rb_label_copy_tasks_all)}</p>"
end
snippet << %(</div>)
snippet
end
render_on :view_work_packages_form_details_bottom,
partial: 'hooks/backlogs/view_work_packages_form_details_bottom'
def view_versions_show_bottom(context={ })
version = context[:version]

@ -0,0 +1,79 @@
#-- copyright
# OpenProject Backlogs Plugin
#
# Copyright (C)2013-2014 the OpenProject Foundation (OPF)
# Copyright (C)2011 Stephan Eckardt, Tim Felgentreff, Marnen Laibow-Koser, Sandro Munda
# Copyright (C)2010-2011 friflaj
# Copyright (C)2010 Maxime Guilbot, Andrew Vit, Joakim Kolsjö, ibussieres, Daniel Passos, Jason Vasquez, jpic, Emiliano Heyns
# Copyright (C)2009-2010 Mark Maglana
# Copyright (C)2009 Joe Heck, Nate Lowrie
#
# 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 Backlogs is a derivative work based on ChiliProject Backlogs.
# The copyright follows:
# Copyright (C) 2010-2011 - Emiliano Heyns, Mark Maglana, friflaj
# Copyright (C) 2011 - Jens Ulferts, Gregor Schmidt - Finn GmbH - Berlin, Germany
#
# 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.
#++
module OpenProject::Backlogs::Patches::WorkPackagesHelperPatch
def self.included(base)
base.class_eval do
unloadable
def work_package_form_all_middle_attributes_with_backlogs(form, work_package, locals = {})
attributes = work_package_form_all_middle_attributes_without_backlogs(form, work_package, locals)
if work_package.backlogs_enabled?
attributes << work_package_form_remaining_hours_attribute(form, work_package, locals)
attributes << work_package_form_story_points_attribute(form, work_package, locals)
end
attributes.compact
end
def work_package_form_remaining_hours_attribute(form, work_package, _)
field = work_package_form_field do
options = { placeholder: l(:label_hours) }
options[:disabled] = 'disabled' unless work_package.leaf?
form.text_field(:remaining_hours, options)
end
WorkPackagesHelper::WorkPackageAttribute.new(:remaining_hours, field)
end
def work_package_form_story_points_attribute(form, work_package, _)
return unless work_package.is_story?
field = work_package_form_field do
form.text_field(:story_points)
end
WorkPackagesHelper::WorkPackageAttribute.new(:story_points, field)
end
alias_method_chain :work_package_form_all_middle_attributes, :backlogs
end
end
end
WorkPackagesHelper.send(:include, OpenProject::Backlogs::Patches::WorkPackagesHelperPatch)
Loading…
Cancel
Save