diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 764c8e70..26440f13 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -35,31 +35,15 @@ class DmsfFile < ActiveRecord::Base belongs_to :project belongs_to :folder, :class_name => 'DmsfFolder', :foreign_key => 'dmsf_folder_id' belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id' - - if (Rails::VERSION::MAJOR > 3) - has_many :revisions, -> { order("#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC") }, - :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id', - :dependent => :destroy - has_many :locks, -> { where(entity_type: 0).order("#{DmsfLock.table_name}.updated_at DESC") }, - :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy - has_many :referenced_links, -> { where target_type: DmsfFile.model_name.to_s}, - :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy - accepts_nested_attributes_for :revisions, :locks, :referenced_links, :project - else - has_many :revisions, :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id', - :order => "#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC", - :dependent => :destroy - has_many :locks, :class_name => 'DmsfLock', :foreign_key => 'entity_id', - :order => "#{DmsfLock.table_name}.updated_at DESC", - :conditions => {:entity_type => 0}, - :dependent => :destroy - has_many :referenced_links, :class_name => 'DmsfLink', :foreign_key => 'target_id', - :conditions => {:target_type => DmsfFile.model_name.to_s}, :dependent => :destroy - end - - if (Rails::VERSION::MAJOR > 3) - accepts_nested_attributes_for :revisions, :locks, :referenced_links - end + + has_many :revisions, -> { order("#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC") }, + :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id', + :dependent => :destroy + has_many :locks, -> { where(entity_type: 0).order("#{DmsfLock.table_name}.updated_at DESC") }, + :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy + has_many :referenced_links, -> { where target_type: DmsfFile.model_name.to_s}, + :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy + accepts_nested_attributes_for :revisions, :locks, :referenced_links, :project scope :visible, lambda { |*args| where(deleted: false) @@ -78,31 +62,18 @@ class DmsfFile < ActiveRecord::Base existing_file = DmsfFile.visible.find_file_by_name(self.project, self.folder, self.name) errors.add(:name, l('activerecord.errors.messages.taken')) unless existing_file.nil? || existing_file.id == self.id - end - - if (Rails::VERSION::MAJOR <= 3) - attr_accessor :event_description - end + end acts_as_event :title => Proc.new { |o| o.name }, - :description => Proc.new { |o| - if (Rails::VERSION::MAJOR > 3) - desc = Redmine::Search.cache_store.fetch("DmsfFile-#{o.id}") - if desc - Redmine::Search.cache_store.delete("DmsfFile-#{o.id}") - else - desc = o.description - desc += ' / ' if o.description.present? && o.last_revision.comment.present? - desc += o.last_revision.comment if o.last_revision.comment.present? - end + :description => Proc.new { |o| + desc = Redmine::Search.cache_store.fetch("DmsfFile-#{o.id}") + if desc + Redmine::Search.cache_store.delete("DmsfFile-#{o.id}") else - desc = o.event_description - unless desc.present? - desc = o.description - desc += ' / ' if o.description.present? && o.last_revision.comment.present? - desc += o.last_revision.comment if o.last_revision.comment.present? - end - end + desc = o.description + desc += ' / ' if o.description.present? && o.last_revision.comment.present? + desc += o.last_revision.comment if o.last_revision.comment.present? + end desc }, :url => Proc.new { |o| {:controller => 'dmsf_files', :action => 'show', :id => o} }, @@ -404,13 +375,9 @@ class DmsfFile < ActiveRecord::Base if dmsf_file if user.allowed_to?(:view_dmsf_files, dmsf_file.project) && - (project_ids.blank? || (project_ids.include?(dmsf_file.project.id))) - if (Rails::VERSION::MAJOR > 3) + (project_ids.blank? || (project_ids.include?(dmsf_file.project.id))) Redmine::Search.cache_store.write("DmsfFile-#{dmsf_file.id}", - dochash['sample'].force_encoding('UTF-8')) if dochash['sample'] - else - dmsf_file.event_description = dochash['sample'].force_encoding('UTF-8') if dochash['sample'] - end + dochash['sample'].force_encoding('UTF-8')) if dochash['sample'] break if(!options[:limit].blank? && results.count >= options[:limit]) results << dmsf_file end diff --git a/app/models/dmsf_file_revision.rb b/app/models/dmsf_file_revision.rb index f44dda19..f71d27fe 100644 --- a/app/models/dmsf_file_revision.rb +++ b/app/models/dmsf_file_revision.rb @@ -27,21 +27,14 @@ class DmsfFileRevision < ActiveRecord::Base belongs_to :folder, :class_name => 'DmsfFolder', :foreign_key => 'dmsf_folder_id' belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id' has_many :access, :class_name => 'DmsfFileRevisionAccess', :foreign_key => 'dmsf_file_revision_id', :dependent => :destroy - has_many :dmsf_workflow_step_assignment, :dependent => :destroy - if (Rails::VERSION::MAJOR > 3) - accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user - end + has_many :dmsf_workflow_step_assignment, :dependent => :destroy + accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user attr_accessible :file, :title, :name, :description, :comment # Returns a list of revisions that are not deleted here, or deleted at parent level either - if (Rails::VERSION::MAJOR > 3) - scope :visible, -> { where(deleted: false) } - scope :deleted, -> { where(deleted: true) } - else - scope :visible, where(:deleted => false) - scope :deleted, where(:deleted => true) - end + scope :visible, -> { where(deleted: false) } + scope :deleted, -> { where(deleted: true) } acts_as_customizable acts_as_event :title => Proc.new {|o| "#{l(:label_dmsf_updated)}: #{o.file.dmsf_path_str}"}, @@ -49,28 +42,16 @@ class DmsfFileRevision < ActiveRecord::Base :datetime => Proc.new {|o| o.updated_at }, :description => Proc.new {|o| o.comment }, :author => Proc.new {|o| o.user } - if (Rails::VERSION::MAJOR > 3) - acts_as_activity_provider :type => 'dmsf_file_revisions', - :timestamp => "#{DmsfFileRevision.table_name}.updated_at", - :author_key => "#{DmsfFileRevision.table_name}.user_id", - :permission => :view_dmsf_file_revisions, - :scope => select("#{DmsfFileRevision.table_name}.*"). - joins( - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). - where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) - else - acts_as_activity_provider :type => 'dmsf_file_revisions', - :timestamp => "#{DmsfFileRevision.table_name}.updated_at", - :author_key => "#{DmsfFileRevision.table_name}.user_id", - :permission => :view_dmsf_file_revisions, - :find_options => {:select => "#{DmsfFileRevision.table_name}.*", - :joins => - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id", - :conditions => ["#{DmsfFile.table_name}.deleted = :false", {:false => false}] - } - end + + acts_as_activity_provider :type => 'dmsf_file_revisions', + :timestamp => "#{DmsfFileRevision.table_name}.updated_at", + :author_key => "#{DmsfFileRevision.table_name}.user_id", + :permission => :view_dmsf_file_revisions, + :scope => select("#{DmsfFileRevision.table_name}.*"). + joins( + "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + + "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). + where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) validates :title, :name, :presence => true validates_format_of :name, :with => DmsfFolder.invalid_characters, diff --git a/app/models/dmsf_file_revision_access.rb b/app/models/dmsf_file_revision_access.rb index 6c32dd97..44140ee4 100644 --- a/app/models/dmsf_file_revision_access.rb +++ b/app/models/dmsf_file_revision_access.rb @@ -21,10 +21,8 @@ class DmsfFileRevisionAccess < ActiveRecord::Base belongs_to :revision, :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_revision_id' belongs_to :user delegate :project, :to => :revision, :allow_nil => false - delegate :file, :to => :revision, :allow_nil => false - if (Rails::VERSION::MAJOR > 3) - accepts_nested_attributes_for :user, :revision - end + delegate :file, :to => :revision, :allow_nil => false + accepts_nested_attributes_for :user, :revision DownloadAction = 0 EmailAction = 1 @@ -34,29 +32,16 @@ class DmsfFileRevisionAccess < ActiveRecord::Base :datetime => Proc.new {|o| o.updated_at }, :description => Proc.new {|o| o.revision.comment }, :author => Proc.new {|o| o.user } - if (Rails::VERSION::MAJOR > 3) - acts_as_activity_provider :type => 'dmsf_file_revision_accesses', - :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", - :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", - :permission => :view_dmsf_file_revision_accesses, - :scope => select("#{DmsfFileRevisionAccess.table_name}.*"). - joins( - "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). - where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) - else - acts_as_activity_provider :type => 'dmsf_file_revision_accesses', - :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", - :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", - :permission => :view_dmsf_file_revision_accesses, - :find_options => {:select => "#{DmsfFileRevisionAccess.table_name}.*", - :joins => - "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id", - :conditions => ["#{DmsfFile.table_name}.deleted = :false", {:false => false}] - } - end + + acts_as_activity_provider :type => 'dmsf_file_revision_accesses', + :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", + :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", + :permission => :view_dmsf_file_revision_accesses, + :scope => select("#{DmsfFileRevisionAccess.table_name}.*"). + joins( + "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + + "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + + "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). + where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) end diff --git a/app/models/dmsf_folder.rb b/app/models/dmsf_folder.rb index 6275b636..61bc24e8 100644 --- a/app/models/dmsf_folder.rb +++ b/app/models/dmsf_folder.rb @@ -35,33 +35,18 @@ class DmsfFolder < ActiveRecord::Base has_many :subfolders, :class_name => 'DmsfFolder', :foreign_key => 'dmsf_folder_id', :dependent => :destroy has_many :files, :class_name => 'DmsfFile', :foreign_key => 'dmsf_folder_id', - :dependent => :destroy - if (Rails::VERSION::MAJOR > 3) - has_many :folder_links, -> { where :target_type => 'DmsfFolder' }, - :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy - has_many :file_links, -> { where :target_type => 'DmsfFile' }, - :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy - has_many :url_links, -> { where :target_type => 'DmsfUrl' }, - :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy - has_many :referenced_links, -> { where :target_type => 'DmsfFolder' }, - :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy - has_many :locks, -> { where(entity_type: 1).order("#{DmsfLock.table_name}.updated_at DESC") }, - :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy - accepts_nested_attributes_for :user, :project, :folder, :subfolders, :files, :folder_links, :file_links, :url_links, :referenced_links, :locks - else - has_many :folder_links, :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', - :conditions => { :target_type => 'DmsfFolder' }, :dependent => :destroy - has_many :file_links, :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', - :conditions => { :target_type => 'DmsfFile' }, :dependent => :destroy - has_many :url_links, :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', - :conditions => { :target_type => 'DmsfUrl' }, :dependent => :destroy - has_many :referenced_links, :class_name => 'DmsfLink', :foreign_key => 'target_id', - :conditions => { :target_type => 'DmsfFolder' }, :dependent => :destroy - has_many :locks, :class_name => 'DmsfLock', :foreign_key => 'entity_id', - :order => "#{DmsfLock.table_name}.updated_at DESC", - :conditions => {:entity_type => 1}, - :dependent => :destroy - end + :dependent => :destroy + has_many :folder_links, -> { where :target_type => 'DmsfFolder' }, + :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy + has_many :file_links, -> { where :target_type => 'DmsfFile' }, + :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy + has_many :url_links, -> { where :target_type => 'DmsfUrl' }, + :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy + has_many :referenced_links, -> { where :target_type => 'DmsfFolder' }, + :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy + has_many :locks, -> { where(entity_type: 1).order("#{DmsfLock.table_name}.updated_at DESC") }, + :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy + accepts_nested_attributes_for :user, :project, :folder, :subfolders, :files, :folder_links, :file_links, :url_links, :referenced_links, :locks scope :visible, lambda { |*args| where(deleted: false) @@ -71,20 +56,12 @@ class DmsfFolder < ActiveRecord::Base } acts_as_customizable - - if (Rails::VERSION::MAJOR > 3) - acts_as_searchable :columns => ["#{self.table_name}.title", "#{self.table_name}.description"], - :project_key => 'project_id', - :date_column => 'updated_at', - :permission => :view_dmsf_files, - :scope => self.joins(:project) - else - acts_as_searchable :columns => ["#{self.table_name}.title", "#{self.table_name}.description"], - :project_key => 'project_id', - :date_column => 'updated_at', - :permission => :view_dmsf_files, - :include => :project - end + + acts_as_searchable :columns => ["#{self.table_name}.title", "#{self.table_name}.description"], + :project_key => 'project_id', + :date_column => 'updated_at', + :permission => :view_dmsf_files, + :scope => self.joins(:project) acts_as_event :title => Proc.new {|o| o.title}, :description => Proc.new {|o| o.description }, diff --git a/app/models/dmsf_link.rb b/app/models/dmsf_link.rb index 98636e17..e92662be 100644 --- a/app/models/dmsf_link.rb +++ b/app/models/dmsf_link.rb @@ -41,14 +41,9 @@ class DmsfLink < ActiveRecord::Base end end end - - if (Rails::VERSION::MAJOR > 3) - scope :visible, -> { where(deleted: false) } - scope :deleted, -> { where(deleted: true) } - else - scope :visible, where(:deleted => false) - scope :deleted, where(:deleted => true) - end + + scope :visible, -> { where(deleted: false) } + scope :deleted, -> { where(deleted: true) } def target_folder_id if self.target_type == DmsfFolder.model_name.to_s diff --git a/app/models/dmsf_workflow.rb b/app/models/dmsf_workflow.rb index 0077e429..a29da4ba 100644 --- a/app/models/dmsf_workflow.rb +++ b/app/models/dmsf_workflow.rb @@ -18,12 +18,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -class DmsfWorkflow < ActiveRecord::Base - if (Rails::VERSION::MAJOR > 3) - has_many :dmsf_workflow_steps, -> { order 'step ASC, operator DESC' }, :dependent => :destroy - else - has_many :dmsf_workflow_steps, :dependent => :destroy, :order => 'step ASC, operator DESC' - end +class DmsfWorkflow < ActiveRecord::Base + + has_many :dmsf_workflow_steps, -> { order 'step ASC, operator DESC' }, :dependent => :destroy attr_accessible :name diff --git a/lib/redmine_dmsf/patches/project_patch.rb b/lib/redmine_dmsf/patches/project_patch.rb index 08d405e2..578fd1a5 100644 --- a/lib/redmine_dmsf/patches/project_patch.rb +++ b/lib/redmine_dmsf/patches/project_patch.rb @@ -31,36 +31,19 @@ module RedmineDmsf base.class_eval do unloadable alias_method_chain :copy, :dmsf - - if (Rails::VERSION::MAJOR > 3) - has_many :dmsf_files, -> { where dmsf_folder_id: nil}, - :class_name => 'DmsfFile', :foreign_key => 'project_id', :dependent => :destroy - has_many :dmsf_folders, -> {where dmsf_folder_id: nil}, - :class_name => 'DmsfFolder', :foreign_key => 'project_id', - :dependent => :destroy - has_many :dmsf_workflows, :dependent => :destroy - has_many :folder_links, -> { where dmsf_folder_id: nil, target_type: 'DmsfFolder' }, - :class_name => 'DmsfLink', :foreign_key => 'project_id', :dependent => :destroy - has_many :file_links, -> { where dmsf_folder_id: nil, target_type: 'DmsfFile' }, - :class_name => 'DmsfLink', :foreign_key => 'project_id', :dependent => :destroy - has_many :url_links, -> { where dmsf_folder_id: nil, target_type: 'DmsfUrl' }, - :class_name => 'DmsfLink', :foreign_key => 'project_id', :dependent => :destroy - else - has_many :dmsf_files, :class_name => 'DmsfFile', :foreign_key => 'project_id', - :conditions => { :dmsf_folder_id => nil }, :dependent => :destroy - has_many :dmsf_folders, :class_name => 'DmsfFolder', :foreign_key => 'project_id', - :conditions => {:dmsf_folder_id => nil}, :dependent => :destroy - has_many :dmsf_workflows, :dependent => :destroy - has_many :folder_links, :class_name => 'DmsfLink', :foreign_key => 'project_id', - :conditions => { :dmsf_folder_id => nil, :target_type => 'DmsfFolder' }, - :dependent => :destroy - has_many :file_links, :class_name => 'DmsfLink', :foreign_key => 'project_id', - :conditions => { :dmsf_folder_id => nil, :target_type => 'DmsfFile' }, - :dependent => :destroy - has_many :url_links, :class_name => 'DmsfLink', :foreign_key => 'project_id', - :conditions => { :dmsf_folder_id => nil, :target_type => 'DmsfUrl' }, - :dependent => :destroy - end + + has_many :dmsf_files, -> { where dmsf_folder_id: nil}, + :class_name => 'DmsfFile', :foreign_key => 'project_id', :dependent => :destroy + has_many :dmsf_folders, -> {where dmsf_folder_id: nil}, + :class_name => 'DmsfFolder', :foreign_key => 'project_id', + :dependent => :destroy + has_many :dmsf_workflows, :dependent => :destroy + has_many :folder_links, -> { where dmsf_folder_id: nil, target_type: 'DmsfFolder' }, + :class_name => 'DmsfLink', :foreign_key => 'project_id', :dependent => :destroy + has_many :file_links, -> { where dmsf_folder_id: nil, target_type: 'DmsfFile' }, + :class_name => 'DmsfLink', :foreign_key => 'project_id', :dependent => :destroy + has_many :url_links, -> { where dmsf_folder_id: nil, target_type: 'DmsfUrl' }, + :class_name => 'DmsfLink', :foreign_key => 'project_id', :dependent => :destroy end end