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(