This commit is contained in:
karel.picman@lbcfree.net 2020-08-11 10:40:30 +02:00
parent 3b20d5c04c
commit 2d21058d8f

View File

@ -455,11 +455,13 @@ module RedmineDmsf
unless (parent.projectless_path == '/') || parent_exists? unless (parent.projectless_path == '/') || parent_exists?
e = DAV4Rack::LockFailure.new e = DAV4Rack::LockFailure.new
e.add_failure @path, Conflict e.add_failure @path, Conflict
puts ">>> #{parent.projectless_path}, #{parent_exists?}"
raise e raise e
end end
unless exist? unless exist?
e = DAV4Rack::LockFailure.new e = DAV4Rack::LockFailure.new
e.add_failure @path, NotFound e.add_failure @path, NotFound
puts ">>> exist? false"
raise e raise e
end end
lock_check(args[:scope]) lock_check(args[:scope])
@ -467,10 +469,12 @@ module RedmineDmsf
unless entity unless entity
e = DAV4Rack::LockFailure.new e = DAV4Rack::LockFailure.new
e.add_failure @path, MethodNotAllowed e.add_failure @path, MethodNotAllowed
puts ">>> entity nil"
raise e raise e
end end
begin begin
if entity.locked? && entity.locked_for_user? if entity.locked? && entity.locked_for_user?
puts ">>> lock failure"
raise DAV4Rack::LockFailure.new("Failed to lock: #{@path}") raise DAV4Rack::LockFailure.new("Failed to lock: #{@path}")
else else
# If scope and type are not defined, the only thing we can # If scope and type are not defined, the only thing we can
@ -482,14 +486,17 @@ module RedmineDmsf
if http_if.blank? if http_if.blank?
e = DAV4Rack::LockFailure.new e = DAV4Rack::LockFailure.new
e.add_failure @path, Conflict e.add_failure @path, Conflict
puts ">>> http_if blank"
raise e raise e
end end
l = nil
if http_if =~ /([a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12})/ if http_if =~ /([a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12})/
l = DmsfLock.find_by(uuid: $1) l = DmsfLock.find_by(uuid: $1)
end end
unless l unless l
e = DAV4Rack::LockFailure.new e = DAV4Rack::LockFailure.new
e.add_failure @path, Conflict e.add_failure @path, Conflict
puts ">>> lock not found"
raise e raise e
end end
l.expires_at = Time.current + 1.week l.expires_at = Time.current + 1.week
@ -509,6 +516,7 @@ module RedmineDmsf
rescue DmsfLockError rescue DmsfLockError
e = DAV4Rack::LockFailure.new e = DAV4Rack::LockFailure.new
e.add_failure @path, Conflict e.add_failure @path, Conflict
puts ">>> DmsfLockError"
raise e raise e
end end
end end