From 10bdf63f0fe0b04d0ae351c2b32a3a7ee8c60a89 Mon Sep 17 00:00:00 2001 From: Henry Jonas Date: Tue, 19 Aug 2025 16:26:44 -0400 Subject: [PATCH] FOUR-25905: Error in alternatives when changing the position of the stages --- ProcessMaker/Traits/HasVersioning.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ProcessMaker/Traits/HasVersioning.php b/ProcessMaker/Traits/HasVersioning.php index 5556cc5bab..c9a6968cad 100644 --- a/ProcessMaker/Traits/HasVersioning.php +++ b/ProcessMaker/Traits/HasVersioning.php @@ -11,6 +11,7 @@ use ProcessMaker\Models\Process; use ProcessMaker\Models\ProcessMakerModel; use ProcessMaker\Models\ProcessRequest; +use ProcessMaker\Models\ProcessVersion; trait HasVersioning { @@ -77,10 +78,16 @@ public function saveVersion() public function saveDraft(string $alternative = null) { $attributes = $this->getModelAttributes(); + $attributes['draft'] = true; if ($this->hasAlternative()) { $alternative = $alternative ?: $this->alternative; $attributes['alternative'] = $alternative; + + $processVersion = ProcessVersion::where('process_id', $this->id)->where('alternative', $attributes['alternative'])->where('draft', false)->first(); + if ($processVersion) { + $attributes['stages'] = $processVersion->stages; + } } return $this->versions()->updateOrCreate(