* work on revisions paging
git-svn-id: http://redmine-dmsf.googlecode.com/svn/trunk/redmine_dmsf@95 5e329b0b-a2ee-ea63-e329-299493fc886d
This commit is contained in:
parent
a964a19431
commit
36b04097c3
@ -28,9 +28,6 @@ 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"
|
||||
@ -80,6 +77,29 @@ class DmsfFile < ActiveRecord::Base
|
||||
end
|
||||
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
|
||||
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 delete
|
||||
return false if locked_for_user?
|
||||
self.deleted = true
|
||||
@ -107,10 +127,6 @@ class DmsfFile < ActiveRecord::Base
|
||||
return l
|
||||
end
|
||||
|
||||
def last_revision
|
||||
self.revisions.empty? ? nil : self.revisions[0]
|
||||
end
|
||||
|
||||
def title
|
||||
self.last_revision.title
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user