Merge pull request #5208 from opf/feature/split-types-form-into-tabs
Feature/split types form into tabspull/5217/head
commit
8a07087be2
@ -1,146 +0,0 @@ |
||||
<%#-- copyright |
||||
OpenProject is a project management system. |
||||
Copyright (C) 2012-2017 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-2017 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. |
||||
|
||||
++#%> |
||||
<%= javascript_include_tag "type_form.js" %> |
||||
|
||||
<%= error_messages_for 'type' %> |
||||
|
||||
<div class="grid-block"> |
||||
<div class="grid-content"> |
||||
<section class="form--section"> |
||||
<!--[form:type]--> |
||||
<div class="form--field -wide-label"><%= f.text_field :name, required: true, disabled: @type.is_standard? %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :is_in_roadmap %></div> |
||||
<div class="form--field -wide-label"><%= f.select :color_id, options_for_colors(@type) %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :in_aggregation %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :is_default, label: t(:label_type_default_new_projects) %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :is_milestone %></div> |
||||
|
||||
<% if @type.new_record? && @types.any? %> |
||||
<div class="form--field -wide-label"> |
||||
<%= styled_label_tag 'copy_workflow_from', t(:label_copy_workflow_from) %> |
||||
<%= styled_select_tag(:copy_workflow_from, content_tag("option") + options_from_collection_for_select(@types, :id, :name)) %> |
||||
</div> |
||||
<% end %> |
||||
<!--[eoform:type]--> |
||||
</section> |
||||
</div> |
||||
</div> |
||||
<section class="form--section"> |
||||
<div class="grid-block wrap"> |
||||
<div class="grid-content small-12 large-6"> |
||||
<fieldset class="form--fieldset -collapsible" id="type_attribute_visibility"> |
||||
<legend class="form--fieldset-legend" onclick="toggleFieldset(this);"> |
||||
<%= I18n.t('label_form_configuration')%> |
||||
</legend> |
||||
<div> |
||||
<p><%= I18n.t('text_form_configuration') %></p> |
||||
<table class="attributes-table -two-options"> |
||||
<thead> |
||||
<tr> |
||||
<th><%= I18n.t('label_attribute') %></th> |
||||
<th class="attributes-table--option"><%= I18n.t('label_active') %></th> |
||||
<th class="attributes-table--option"><%= I18n.t('label_always_visible') %></th> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
<% |
||||
attributes = ::TypesHelper |
||||
.work_package_form_attributes(merge_date: true) |
||||
.reject { |name, attr| |
||||
# display all custom fields don't display required fields without a default |
||||
not name =~ /custom_field_/ and (attr[:required] and not attr[:has_default]) |
||||
} |
||||
keys = attributes.keys.sort_by do |name| |
||||
translated_attribute_name(name, attributes[name]) |
||||
end |
||||
%> |
||||
<% keys.each do |name| %> |
||||
<% attr = attributes[name] %> |
||||
<tr> |
||||
<td> |
||||
<%= label_tag "type_attribute_visibility_#{name}", |
||||
translated_attribute_name(name, attr), |
||||
value: "type_attribute_visibility[#{name}]", |
||||
class: 'ellipsis' %> |
||||
</td> |
||||
<td> |
||||
<input name="<%= "type[attribute_visibility][#{name}]" %>" type="hidden" value="hidden" /> |
||||
<% active_checked = [nil, 'default', 'visible'].include?(attr_visibility(name, @type)) %> |
||||
<%= check_box_tag "type[attribute_visibility][#{name}]", |
||||
'default', |
||||
active_checked, |
||||
id: "type_attribute_visibility_default_#{name}", |
||||
title: I18n.t('tooltip.attribute_visibility.default') %> |
||||
</td> |
||||
<td> |
||||
<%= check_box_tag "type[attribute_visibility][#{name}]", |
||||
'visible', |
||||
attr_visibility(name, @type) == 'visible', |
||||
id: "type_attribute_visibility_visible_#{name}", |
||||
title: I18n.t('tooltip.attribute_visibility.visible'), |
||||
disabled: !active_checked %> |
||||
</td> |
||||
</tr> |
||||
<% end %> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
</fieldset> |
||||
</div> |
||||
<div class="grid-content small-12 large-6"> |
||||
<% if @projects.any? %> |
||||
<fieldset class="form--fieldset -collapsible" id="type_project_ids"> |
||||
<legend class="form--fieldset-legend" onclick="toggleFieldset(this);"> |
||||
<%= t(:label_project_plural) %> |
||||
</legend> |
||||
<div> |
||||
<div class="form--fieldset-control"> |
||||
<span class="form--fieldset-control-container"> |
||||
(<%= check_all_links 'type_project_ids' %>) |
||||
</span> |
||||
</div> |
||||
<%= project_nested_ul(@projects) do |p| |
||||
content_tag('label', |
||||
check_box_tag('type[project_ids][]', p.id, @type.projects.include?(p), id: nil) + |
||||
' ' + h(p), class: 'form--label-with-check-box') |
||||
end %> |
||||
<%= hidden_field_tag('type[project_ids][]', '', id: nil) %> |
||||
</div> |
||||
</fieldset> |
||||
<% end %> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
|
||||
<div class="grid-block"> |
||||
<div class="generic-table--action-buttons"> |
||||
<%= styled_button_tag t(@type.new_record? ? :button_create : :button_save), |
||||
class: '-highlight -with-icon icon-checkmark' %> |
||||
</div> |
||||
</div> |
@ -0,0 +1,95 @@ |
||||
<%#-- copyright |
||||
OpenProject is a project management system. |
||||
Copyright (C) 2012-2017 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-2017 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. |
||||
|
||||
++#%> |
||||
|
||||
<section class="form--section"> |
||||
<div class="grid-block wrap"> |
||||
<div class="grid-content small-12 large-6"> |
||||
<div> |
||||
<p><%= I18n.t('text_form_configuration') %></p> |
||||
<table class="attributes-table -two-options"> |
||||
<thead> |
||||
<tr> |
||||
<th><%= I18n.t('label_attribute') %></th> |
||||
<th class="attributes-table--option"><%= I18n.t('label_active') %></th> |
||||
<th class="attributes-table--option"><%= I18n.t('label_always_visible') %></th> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
<% |
||||
attributes = ::TypesHelper |
||||
.work_package_form_attributes(merge_date: true) |
||||
.reject { |name, attr| |
||||
# display all custom fields don't display required fields without a default |
||||
not name =~ /custom_field_/ and (attr[:required] and not attr[:has_default]) |
||||
} |
||||
keys = attributes.keys.sort_by do |name| |
||||
translated_attribute_name(name, attributes[name]) |
||||
end |
||||
%> |
||||
<% keys.each do |name| %> |
||||
<% attr = attributes[name] %> |
||||
<tr> |
||||
<td> |
||||
<%= label_tag "type_attribute_visibility_#{name}", |
||||
translated_attribute_name(name, attr), |
||||
value: "type_attribute_visibility[#{name}]", |
||||
class: 'ellipsis' %> |
||||
</td> |
||||
<td> |
||||
<input name="<%= "type[attribute_visibility][#{name}]" %>" type="hidden" value="hidden" /> |
||||
<% active_checked = [nil, 'default', 'visible'].include?(attr_visibility(name, @type)) %> |
||||
<%= check_box_tag "type[attribute_visibility][#{name}]", |
||||
'default', |
||||
active_checked, |
||||
id: "type_attribute_visibility_default_#{name}", |
||||
title: I18n.t('tooltip.attribute_visibility.default') %> |
||||
</td> |
||||
<td> |
||||
<%= check_box_tag "type[attribute_visibility][#{name}]", |
||||
'visible', |
||||
attr_visibility(name, @type) == 'visible', |
||||
id: "type_attribute_visibility_visible_#{name}", |
||||
title: I18n.t('tooltip.attribute_visibility.visible'), |
||||
disabled: !active_checked %> |
||||
</td> |
||||
</tr> |
||||
<% end %> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
|
||||
<div class="grid-block"> |
||||
<div class="generic-table--action-buttons"> |
||||
<%= styled_button_tag t(@type.new_record? ? :button_create : :button_save), |
||||
class: '-highlight -with-icon icon-checkmark' %> |
||||
</div> |
||||
</div> |
@ -0,0 +1,61 @@ |
||||
<%#-- copyright |
||||
OpenProject is a project management system. |
||||
Copyright (C) 2012-2017 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-2017 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. |
||||
|
||||
++#%> |
||||
|
||||
<section class="form--section"> |
||||
<div class="grid-block wrap"> |
||||
<div class="grid-content small-12 large-6"> |
||||
<% if @projects.any? %> |
||||
<fieldset class="form--fieldset" id="type_project_ids"> |
||||
<legend class="form--fieldset-legend" onclick="toggleFieldset(this);"> |
||||
<%= t('types.edit.enabled_projects') %> |
||||
</legend> |
||||
<div> |
||||
<div class="form--fieldset-control"> |
||||
<span class="form--fieldset-control-container"> |
||||
(<%= check_all_links 'type_project_ids' %>) |
||||
</span> |
||||
</div> |
||||
<%= project_nested_ul(@projects) do |p| |
||||
content_tag('label', |
||||
check_box_tag('type[project_ids][]', p.id, @type.projects.include?(p), id: nil) + |
||||
' ' + h(p), class: 'form--label-with-check-box') |
||||
end %> |
||||
<%= hidden_field_tag('type[project_ids][]', '', id: nil) %> |
||||
</div> |
||||
<% end %> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
|
||||
<div class="grid-block"> |
||||
<div class="generic-table--action-buttons"> |
||||
<%= styled_button_tag t(@type.new_record? ? :button_create : :button_save), |
||||
class: '-highlight -with-icon icon-checkmark' %> |
||||
</div> |
||||
</div> |
@ -0,0 +1,56 @@ |
||||
<%#-- copyright |
||||
OpenProject is a project management system. |
||||
Copyright (C) 2012-2017 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-2017 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. |
||||
|
||||
++#%> |
||||
|
||||
<div class="grid-block"> |
||||
<div class="grid-content"> |
||||
<!--[form:type]--> |
||||
<div class="form--field -wide-label"><%= f.text_field :name, required: true, disabled: @type.is_standard? %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :is_in_roadmap %></div> |
||||
<div class="form--field -wide-label"><%= f.select :color_id, options_for_colors(@type) %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :in_aggregation %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :is_default, label: t(:label_type_default_new_projects) %></div> |
||||
<div class="form--field -wide-label"><%= f.check_box :is_milestone %></div> |
||||
|
||||
<% if @type.new_record? && @types.any? %> |
||||
<div class="form--field -wide-label"> |
||||
<%= styled_label_tag 'copy_workflow_from', t(:label_copy_workflow_from) %> |
||||
<%= styled_select_tag(:copy_workflow_from, content_tag("option") + options_from_collection_for_select(@types, :id, :name)) %> |
||||
</div> |
||||
<% end %> |
||||
<!--[eoform:type]--> |
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
<div class="grid-block"> |
||||
<div class="generic-table--action-buttons"> |
||||
<%= styled_button_tag t(@type.new_record? ? :button_create : :button_save), |
||||
class: '-highlight -with-icon icon-checkmark' %> |
||||
</div> |
||||
</div> |
Loading…
Reference in new issue