Fixes #20 - SQL incompatibility with SQLite

This commit is contained in:
root 2012-07-05 07:48:43 +01:00
parent b502f3247e
commit f6350d3859
2 changed files with 5 additions and 3 deletions

View File

@ -39,7 +39,7 @@ class DmsfFile < ActiveRecord::Base
:conditions => {:entity_type => 0},
:dependent => :destroy
belongs_to :deleted_by_user, :class_name => "User", :foreign_key => "deleted_by_user_id"
scope :visible, lambda {|*args| {:conditions => DmsfFile.visible_condition(args.shift || User.current, *args) }}
scope :visible, lambda {|*args| where(DmsfFile.visible_condition(args.shift || User.current, *args))}
validates_presence_of :name
validates_format_of :name, :with => DmsfFolder.invalid_characters,
@ -48,7 +48,8 @@ class DmsfFile < ActiveRecord::Base
validate :validates_name_uniqueness
def self.visible_condition(user, options = {})
"#{self.table_name}.deleted = 0"
query = DmsfFile.where(:deleted => false)
query.where_values.map {|v| v.respond_to?(:to_sql) ? v.to_sql : v.to_s}.join(' AND ')
end
def validates_name_uniqueness
@ -98,6 +99,7 @@ class DmsfFile < ActiveRecord::Base
end
def last_revision
debugger
self.revisions.visible.first
end

View File

@ -27,7 +27,7 @@ class DmsfFileRevision < ActiveRecord::Base
has_many :access, :class_name => "DmsfFileRevisionAccess", :foreign_key => "dmsf_file_revision_id", :dependent => :destroy
#Returns a list of revisions that are not deleted here, or deleted at parent level either
scope :visible, lambda {|*args| joins(:file).where(DmsfFile.visible_condition(args.shift || User.current, *args)).where("#{self.table_name}.deleted = 0") }
scope :visible, lambda {|*args| joins(:file).where(DmsfFile.visible_condition(args.shift || User.current, *args)).where("#{self.table_name}.deleted = :false", :false => false ) }
acts_as_customizable