From ad51c3907430155428d8a19597236a9247e50471 Mon Sep 17 00:00:00 2001 From: Marius BALTEANU Date: Sun, 28 Oct 2018 21:19:25 +0000 Subject: [PATCH 1/2] Show full width layout custom fields as block columns in issue listing --- app/models/query.rb | 2 +- app/views/issues/_list.html.erb | 2 +- public/stylesheets/application.css | 4 ++-- test/functional/issues_controller_test.rb | 29 +++++++++++++++++++++++------ 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/app/models/query.rb b/app/models/query.rb index 73e280d..bfc6841 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -123,7 +123,7 @@ class QueryCustomFieldColumn < QueryColumn self.sortable = custom_field.order_statement || false self.groupable = custom_field.group_statement || false self.totalable = options.key?(:totalable) ? !!options[:totalable] : custom_field.totalable? - @inline = true + @inline = custom_field.full_width_layout? ? false : true @cf = custom_field end diff --git a/app/views/issues/_list.html.erb b/app/views/issues/_list.html.erb index d704a58..06abc3e 100644 --- a/app/views/issues/_list.html.erb +++ b/app/views/issues/_list.html.erb @@ -40,7 +40,7 @@ <% query.block_columns.each do |column| if (text = column_content(column, issue)) && text.present? -%> - + <% if query.block_columns.count > 1 %> <%= column.caption %> <% end %> diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 08ad6aa..a9b1c6d 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -264,8 +264,8 @@ tr.issue td.subject, tr.issue td.category, td.assigned_to, td.last_updated_by, t tr.issue td.relations { text-align: left; } tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;} tr.issue td.relations span {white-space: nowrap;} -table.issues td.description, table.issues td.last_notes {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;} -table.issues td.description pre, table.issues td.last_notes pre {white-space:normal;} +table.issues td.block_column {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;} +table.issues td.block_column pre {white-space:normal;} tr.issue.idnt td.subject {background: url(../images/arrow_right.png) no-repeat 2px 50%;} tr.issue.idnt-1 td.subject {padding-left: 24px; background-position: 8px 50%;} diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 7e1d3e9..047c987 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -355,21 +355,21 @@ class IssuesControllerTest < Redmine::ControllerTest def test_index_grouped_by_created_on skip unless IssueQuery.new.groupable_columns.detect {|c| c.name == :created_on} - + get :index, :params => { :set_filter => 1, :group_by => 'created_on' } assert_response :success - + assert_select 'tr.group span.name', :text => '07/19/2006' do assert_select '+ span.count', :text => '2' end end - + def test_index_grouped_by_created_on_as_pdf skip unless IssueQuery.new.groupable_columns.detect {|c| c.name == :created_on} - + get :index, :params => { :set_filter => 1, :group_by => 'created_on', @@ -1398,6 +1398,23 @@ class IssuesControllerTest < Redmine::ControllerTest assert_select 'td.description[colspan="4"] span', :text => 'Description' end + def test_index_with_full_width_layout_custom_field_column_should_show_column_as_block_column + field = IssueCustomField.create!(:name => 'Long text', :field_format => 'text', :full_width_layout => '1', + :tracker_ids => [1], :is_for_all => true) + issue = Issue.find(1) + issue.custom_field_values = {field.id => 'This is a long text'} + issue.save! + + get :index, :params => { + :set_filter => 1, + :c => ['subject', 'description', "cf_#{field.id}"] + } + assert_response :success + + assert_select 'td.description[colspan="4"] span', :text => 'Description' + assert_select "td.cf_#{field.id} span", :text => 'Long text' + end + def test_index_with_parent_column Issue.delete_all parent = Issue.generate! @@ -1867,12 +1884,12 @@ class IssuesControllerTest < Redmine::ControllerTest with_settings :date_format => '%d/%m/%Y' do issue = Issue.generate!(:start_date => '2018-11-29', :due_date => '2018-12-01') IssueRelation.create!(:issue_from => Issue.find(1), :issue_to => issue, :relation_type => 'relates') - + get :show, :params => { :id => 1 } assert_response :success - + assert_select '#relations td.start_date', :text => '29/11/2018' assert_select '#relations td.due_date', :text => '01/12/2018' end -- 2.1.4