3declare(strict_types=1);
31 private const ID =
'prg_update_progress';
33 protected Pimple\Container
$dic;
42 $this->
lng = $DIC[
'lng'];
43 $this->
lng->loadLanguageModule(
'prg');
46 $this->settings_repo =
$dic[
'model.Settings.ilStudyProgrammeSettingsRepository'];
47 $this->assignment_repo =
$dic[
'repo.assignment'];
48 $this->acting_user_id =
$dic[
'current_user']->getId();
53 return $this->
lng->txt(
'prg_update_progress_title');
58 return $this->
lng->txt(
'prg_update_progress_description');
78 return JobScheduleType::IN_DAYS;
89 $result->setStatus(JobResult::STATUS_NO_ACTION);
91 $now =
new DateTimeImmutable();
93 foreach ($this->assignment_repo->getPassedDeadline($now) as $assignment) {
94 $assignment = $assignment->markProgressesFailedForExpiredDeadline(
98 $this->assignment_repo->store($assignment);
101 $result->setStatus(JobResult::STATUS_OK);
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
This will set progresses to FAILED, if they are past the deadline (and not successful,...
ilStudyProgrammeSettingsDBRepository $settings_repo
getDefaultScheduleValue()
hasAutoActivation()
Is to be activated on "installation", does only work for ILIAS core cron jobs.
ilPRGAssignmentDBRepository $assignment_repo