* fixed Issue 61: Redmine xapian and dmsf problems

git-svn-id: http://redmine-dmsf.googlecode.com/svn/trunk/redmine_dmsf@110 5e329b0b-a2ee-ea63-e329-299493fc886d
This commit is contained in:
vit.jonas@gmail.com 2011-05-31 10:56:02 +00:00
parent 6e418d637e
commit 40d92128d7

View File

@ -28,6 +28,9 @@ class DmsfFile < ActiveRecord::Base
unloadable
belongs_to :project
belongs_to :folder, :class_name => "DmsfFolder", :foreign_key => "dmsf_folder_id"
has_many :revisions, :class_name => "DmsfFileRevision", :foreign_key => "dmsf_file_id",
:order => "major_version DESC, minor_version DESC, updated_at DESC",
:conditions => { :deleted => false }
has_many :locks, :class_name => "DmsfFileLock", :foreign_key => "dmsf_file_id",
:order => "updated_at DESC"
belongs_to :deleted_by_user, :class_name => "User", :foreign_key => "deleted_by_user_id"
@ -78,27 +81,16 @@ class DmsfFile < ActiveRecord::Base
end
def last_revision
if @last_revision.nil?
@last_revision = DmsfFileRevision.find(:first, :conditions =>
["dmsf_file_id = :file_id and deleted = :deleted",
{:file_id => self.id, :deleted => false}],
:order => "major_version DESC, minor_version DESC, updated_at DESC")
end
@last_revision
self.revisions.first
end
def reload
@last_revision = nil
super
end
def revisions(offset = nil, limit = nil)
DmsfFileRevision.find(:all, :conditions =>
["dmsf_file_id = :file_id and deleted = :deleted",
{:file_id => self.id, :deleted => false}],
:order => "major_version DESC, minor_version DESC, updated_at DESC",
:limit => limit, :offset => offset)
end
#def revisions(offset = nil, limit = nil)
# DmsfFileRevision.find(:all, :conditions =>
# ["dmsf_file_id = :file_id and deleted = :deleted",
# {:file_id => self.id, :deleted => false}],
# :order => "major_version DESC, minor_version DESC, updated_at DESC",
# :limit => limit, :offset => offset)
#end
def delete
return false if locked_for_user?