From 6bd828e9ed1730902a9aac8cfc708a778db6c42b Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:14:34 -0300 Subject: [PATCH] fix: respect status 0 (DRAFT) when adding new signers When adding a new signer with status 0, the backend was ignoring it because empty() treated 0 as falsy. Changed to isset() to properly handle status 0. Also updated determineInitialStatus() to allow new signers to be added in DRAFT mode even when the file is not in DRAFT status, allowing gradual signer addition before requesting signatures. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- lib/Service/RequestSignatureService.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Service/RequestSignatureService.php b/lib/Service/RequestSignatureService.php index 12a750d67..2ae89cf22 100644 --- a/lib/Service/RequestSignatureService.php +++ b/lib/Service/RequestSignatureService.php @@ -53,7 +53,7 @@ class RequestSignatureService { public function save(array $data): FileEntity { $file = $this->saveFile($data); $this->saveVisibleElements($data, $file); - if (empty($data['status'])) { + if (!isset($data['status'])) { $data['status'] = $file->getStatus(); } $this->associateToSigners($data, $file->getId()); @@ -289,6 +289,8 @@ class RequestSignatureService { } private function determineInitialStatus(int $signingOrder, ?int $fileStatus = null): \OCA\Libresign\Enum\SignRequestStatus { + // If fileStatus is explicitly DRAFT (0), keep signer as DRAFT + // This allows adding new signers in DRAFT mode even when file is not in DRAFT status if ($fileStatus === FileEntity::STATUS_DRAFT) { return \OCA\Libresign\Enum\SignRequestStatus::DRAFT; }