. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Repositories; use Espo\Entities\Job as JobEntity; use Espo\ORM\Entity; use Espo\Core\Job\Job\Status; use Espo\Core\Repositories\Database; /** * @extends Database<\Espo\Entities\ScheduledJob> */ class ScheduledJob extends Database { protected function afterSave(Entity $entity, array $options = []) { parent::afterSave($entity, $options); if ($entity->isAttributeChanged('scheduling')) { $jobList = $this->entityManager ->getRDBRepository(JobEntity::ENTITY_TYPE) ->where([ 'scheduledJobId' => $entity->getId(), 'status' => Status::PENDING, ]) ->find(); foreach ($jobList as $job) { $this->entityManager->removeEntity($job); } } } }