#7 - Document edit via WebDAV sets workflow into undefined statebugSomething isn't working

This commit is contained in:
Karel Pičman 2025-08-13 10:57:56 +02:00
parent d0b5181617
commit c4504e8eec
3 changed files with 33 additions and 0 deletions

View File

@ -265,6 +265,15 @@ class DmsfFileRevision < ApplicationRecord
wf.assign(id) if wf && id
end
def reset_workflow
self.workflow = nil
self.dmsf_workflow_id = nil
self.dmsf_workflow_assigned_by_user_id = nil
self.dmsf_workflow_assigned_at = nil
self.dmsf_workflow_started_by_user_id = nil
self.dmsf_workflow_started_at = nil
end
def increase_version(version_to_increase)
# Patch version
self.patch_version = case version_to_increase

View File

@ -562,6 +562,7 @@ module RedmineDmsf
else
if last_revision
new_revision = last_revision.dup
new_revision.reset_workflow
new_revision.source_revision = last_revision
else
new_revision = DmsfFileRevision.new

View File

@ -316,4 +316,27 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
assert h.is_a?(Hash)
assert_nil h['90']
end
def test_set_workflow
@revision2.set_workflow @wf1.id, 'assign'
assert_equal DmsfWorkflow::STATE_ASSIGNED, @revision2.workflow
assert_equal User.current, @revision2.dmsf_workflow_assigned_by_user
assert @revision2.dmsf_workflow_assigned_at
@revision2.set_workflow @wf1.id, 'start'
assert_equal DmsfWorkflow::STATE_WAITING_FOR_APPROVAL, @revision2.workflow
assert_equal User.current, @revision2.dmsf_workflow_started_by_user
assert @revision2.dmsf_workflow_started_at
end
def test_reset_workflow
@revision2.set_workflow @wf1.id, 'assign'
@revision2.set_workflow @wf1.id, 'start'
@revision2.reset_workflow
assert_nil @revision2.workflow
assert_nil @revision2.dmsf_workflow_id
assert_nil @revision2.dmsf_workflow_assigned_by_user_id
assert_nil @revision2.dmsf_workflow_assigned_at
assert_nil @revision2.dmsf_workflow_started_by_user_id
assert_nil @revision2.dmsf_workflow_started_at
end
end