/** * Save document signature. * If signature status is not equal to TYPE_ONE_TIME_CONTRIBUTION or TYPE_ONE_TIME_DISTRIBUTION * Then set active flag to false for all previous signatures with same source_id and type * * @param DocumentSignature $signature */ public function saveDocumentSignature(DocumentSignature $signature) { if ($signature->isActive()) { $type = $signature->getType(); if (DocumentSignature::TYPE_ONE_TIME_CONTRIBUTION !== $type && DocumentSignature::TYPE_ONE_TIME_DISTRIBUTION !== $type) { $this->resetDocumentSignaturesActiveFlag($signature, false); } } $this->persist($signature); $this->flush(); }