From 6d2b22c459867c935629435a986f3996b9771b59 Mon Sep 17 00:00:00 2001 From: "COLA@Redmine.local" Date: Tue, 14 Feb 2017 16:58:55 +0100 Subject: [PATCH] Renamed DmsfLock.revision to dmsf_file_last_revision_id. #615 --- ...0214153223_add_dmsf_file_last_revision_id_to_dmsf_lock.rb | 5 +++++ lib/redmine_dmsf/lockable.rb | 2 +- lib/redmine_dmsf/webdav/dmsf_resource.rb | 2 +- test/integration/webdav/dmsf_webdav_put_test.rb | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20170214153223_add_dmsf_file_last_revision_id_to_dmsf_lock.rb diff --git a/db/migrate/20170214153223_add_dmsf_file_last_revision_id_to_dmsf_lock.rb b/db/migrate/20170214153223_add_dmsf_file_last_revision_id_to_dmsf_lock.rb new file mode 100644 index 00000000..ed220990 --- /dev/null +++ b/db/migrate/20170214153223_add_dmsf_file_last_revision_id_to_dmsf_lock.rb @@ -0,0 +1,5 @@ +class AddDmsfFileLastRevisionIdToDmsfLock < ActiveRecord::Migration + def change + rename_column :dmsf_locks, :revision, :dmsf_file_last_revision_id + end +end diff --git a/lib/redmine_dmsf/lockable.rb b/lib/redmine_dmsf/lockable.rb index 6c859122..3b17dbff 100644 --- a/lib/redmine_dmsf/lockable.rb +++ b/lib/redmine_dmsf/lockable.rb @@ -69,7 +69,7 @@ module RedmineDmsf l.lock_scope = scope l.user = User.current l.expires_at = expire - l.revision = self.last_revision.id if self.is_a?(DmsfFile) + l.dmsf_file_last_revision_id = self.last_revision.id if self.is_a?(DmsfFile) l.save! reload locks.reload diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index d4cd4e6f..17ac2f6e 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -745,7 +745,7 @@ private next if lock.expired? # lock should be exclusive but just in case make sure we find this users lock next if lock.user != User.current - if lock.revision < file.last_revision.id + if lock.dmsf_file_last_revision_id < file.last_revision.id # At least one new revision has been created since the lock was created, reuse that revision. return true end diff --git a/test/integration/webdav/dmsf_webdav_put_test.rb b/test/integration/webdav/dmsf_webdav_put_test.rb index 5b3f4815..38a11fbf 100644 --- a/test/integration/webdav/dmsf_webdav_put_test.rb +++ b/test/integration/webdav/dmsf_webdav_put_test.rb @@ -201,7 +201,7 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest assert !User.current.anonymous?, 'Current user is not anonymous' file = DmsfFile.find_file_by_name @project1, nil, 'test.txt' assert l=file.lock!, "File failed to be locked by #{User.current.name}" - assert_equal file.last_revision.id, l.revision + assert_equal file.last_revision.id, l.dmsf_file_last_revision_id # First PUT should always create new revision. assert_difference 'file.dmsf_file_revisions.count', +1 do @@ -219,7 +219,7 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest # Lock file again, but this time delete the revision that were stored in the lock file = DmsfFile.find_file_by_name @project1, nil, 'test.txt' assert l=file.lock!, "File failed to be locked by #{User.current.name}" - assert_equal file.last_revision.id, l.revision + assert_equal file.last_revision.id, l.dmsf_file_last_revision_id # Delete the last revision, the revision that were stored in the lock. file.last_revision.delete(true)