From cc5ffb7b284466406f9b7aaefbcec8520464760d Mon Sep 17 00:00:00 2001 From: Karel Picman Date: Thu, 13 Apr 2017 13:30:54 +0200 Subject: [PATCH] How tagging with multiple values works? #701 --- app/models/dmsf_file.rb | 8 +++++++- app/models/dmsf_file_revision_custom_field.rb | 12 ++++++++++-- assets/stylesheets/redmine_dmsf.css | 5 +++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index da564587..1d0db3f5 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -500,7 +500,13 @@ class DmsfFile < ActiveRecord::Base def custom_value(custom_field) self.last_revision.custom_field_values.each do |cv| - return cv.value if cv.custom_field == custom_field + if cv.custom_field == custom_field + if cv.value.is_a? Array + return cv.value.reject{ |x| x.empty? }.join(',') + else + return cv.value + end + end end nil end diff --git a/app/models/dmsf_file_revision_custom_field.rb b/app/models/dmsf_file_revision_custom_field.rb index 01147a3e..8a37299c 100644 --- a/app/models/dmsf_file_revision_custom_field.rb +++ b/app/models/dmsf_file_revision_custom_field.rb @@ -26,8 +26,16 @@ class DmsfFileRevisionCustomField < CustomField end def compare_values?(x, y) - if x.is_a?(Array) && y.is_a?(Array) && !y.empty? - x.include? y[0] + if x.is_a?(Array) && y.is_a?(Array) + y.reject!{ |a| a.empty? } + return true if y.empty? + x.reject!{ |a| a.empty? } + y.each do |b| + if x.include?(b) + return true + end + end + return false else x == y end diff --git a/assets/stylesheets/redmine_dmsf.css b/assets/stylesheets/redmine_dmsf.css index cc9eec29..aa45572c 100644 --- a/assets/stylesheets/redmine_dmsf.css +++ b/assets/stylesheets/redmine_dmsf.css @@ -28,6 +28,11 @@ margin-left: 5px; } +#dmsf_tag .check_box_group { + background: inherit; + border: 0px; +} + .list .dmsf_modified { min-width: 127px; width: 127px;