Skip to content

Commit 972de1e

Browse files
committed
Component/StudyProgramme: contribute cron jobs
1 parent 57f57ea commit 972de1e

7 files changed

Lines changed: 103 additions & 38 deletions

components/ILIAS/StudyProgramme/StudyProgramme.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,36 @@ public function init(
3838
);
3939
$contribute[Component\Resource\PublicAsset::class] = fn() =>
4040
new Component\Resource\ComponentCSS($this, "css/ilStudyProgramme.css");
41+
42+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
43+
new \ilPrgInvalidateExpiredProgressesCronJob(
44+
'components\\' . self::class,
45+
$use[\ILIAS\Language\Language::class],
46+
true
47+
);
48+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
49+
new \ilPrgRestartAssignmentsCronJob(
50+
'components\\' . self::class,
51+
$use[\ILIAS\Language\Language::class],
52+
true
53+
);
54+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
55+
new \ilPrgUserNotRestartedCronJob(
56+
'components\\' . self::class,
57+
$use[\ILIAS\Language\Language::class],
58+
true
59+
);
60+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
61+
new \ilPrgUserRiskyToFailCronJob(
62+
'components\\' . self::class,
63+
$use[\ILIAS\Language\Language::class],
64+
true
65+
);
66+
$contribute[\ILIAS\Cron\CronJob::class] = static fn() =>
67+
new \ilPrgUpdateProgressCronJob(
68+
'components\\' . self::class,
69+
$use[\ILIAS\Language\Language::class],
70+
true
71+
);
4172
}
4273
}

components/ILIAS/StudyProgramme/classes/class.ilPrgInvalidateExpiredProgressesCronJob.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,25 @@ class ilPrgInvalidateExpiredProgressesCronJob extends ilCronJob
3232
private const ID = 'prg_invalidate_expired_progresses';
3333

3434
protected ilComponentLogger $log;
35-
protected ilLanguage $lng;
3635
protected ilPRGAssignmentDBRepository $assignment_repo;
3736
protected ilStudyProgrammeSettingsDBRepository $settings_repo;
3837

39-
public function __construct()
38+
public function __construct(
39+
string $component,
40+
\ILIAS\Language\Language $lng,
41+
bool $registration = false
42+
) {
43+
parent::__construct($component, $lng);
44+
$this->lng->loadLanguageModule('prg');
45+
if (!$registration) {
46+
$this->additionalConstruct();
47+
}
48+
}
49+
50+
private function additionalConstruct()
4051
{
4152
global $DIC;
4253
$this->log = $DIC['ilLog'];
43-
$this->lng = $DIC['lng'];
44-
$this->lng->loadLanguageModule('prg');
45-
4654
$dic = ilStudyProgrammeDIC::dic();
4755
$this->assignment_repo = $dic['repo.assignment'];
4856
$this->settings_repo = $dic['model.Settings.ilStudyProgrammeSettingsRepository'];

components/ILIAS/StudyProgramme/classes/class.ilPrgRestartAssignmentsCronJob.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,27 @@ class ilPrgRestartAssignmentsCronJob extends ilCronJob
3131
private const ACTING_USR_ID = ilPRGAssignment::AUTO_ASSIGNED_BY_RESTART;
3232

3333
protected ilComponentLogger $log;
34-
protected ilLanguage $lng;
3534
protected ilPRGAssignmentDBRepository $assignment_repo;
3635
protected ilPrgCronJobAdapter $adapter;
3736

3837
protected array $prgs = [];
3938

40-
public function __construct()
39+
public function __construct(
40+
string $component,
41+
\ILIAS\Language\Language $lng,
42+
bool $registration = false
43+
) {
44+
parent::__construct($component, $lng);
45+
$this->lng->loadLanguageModule('prg');
46+
if (!$registration) {
47+
$this->additionalConstruct();
48+
}
49+
}
50+
51+
private function additionalConstruct()
4152
{
4253
global $DIC;
4354
$this->log = $DIC['ilLog'];
44-
$this->lng = $DIC['lng'];
45-
$this->lng->loadLanguageModule('prg');
4655

4756
$dic = ilStudyProgrammeDIC::dic();
4857
$this->assignment_repo = $dic['repo.assignment'];

components/ILIAS/StudyProgramme/classes/class.ilPrgUpdateProgressCronJob.php

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<?php
22

3-
declare(strict_types=1);
4-
53
/**
64
* This file is part of ILIAS, a powerful learning management system
75
* published by ILIAS open source e-Learning e.V.
@@ -18,6 +16,8 @@
1816
*
1917
*********************************************************************/
2018

19+
declare(strict_types=1);
20+
2121
use ILIAS\Cron\Schedule\CronJobScheduleType;
2222

2323
/**
@@ -29,17 +29,24 @@ class ilPrgUpdateProgressCronJob extends ilCronJob
2929
private const ID = 'prg_update_progress';
3030

3131
protected Pimple\Container $dic;
32-
protected ilLanguage $lng;
3332
protected ilStudyProgrammeSettingsDBRepository $settings_repo;
3433
protected ilPRGAssignmentDBRepository $assignment_repo;
3534
protected int $acting_user_id;
3635

37-
public function __construct()
38-
{
39-
global $DIC;
40-
$this->lng = $DIC['lng'];
36+
public function __construct(
37+
string $component,
38+
\ILIAS\Language\Language $lng,
39+
bool $registration = false
40+
) {
41+
parent::__construct($component, $lng);
4142
$this->lng->loadLanguageModule('prg');
43+
if (!$registration) {
44+
$this->additionalConstruct();
45+
}
46+
}
4247

48+
private function additionalConstruct()
49+
{
4350
$dic = ilStudyProgrammeDIC::dic();
4451
$this->settings_repo = $dic['model.Settings.ilStudyProgrammeSettingsRepository'];
4552
$this->assignment_repo = $dic['repo.assignment'];

components/ILIAS/StudyProgramme/classes/class.ilPrgUserNotRestartedCronJob.php

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<?php
22

3-
declare(strict_types=1);
4-
53
/**
64
* This file is part of ILIAS, a powerful learning management system
75
* published by ILIAS open source e-Learning e.V.
@@ -18,6 +16,8 @@
1816
*
1917
*********************************************************************/
2018

19+
declare(strict_types=1);
20+
2121
use ILIAS\Cron\Schedule\CronJobScheduleType;
2222

2323
/**
@@ -28,16 +28,25 @@ class ilPrgUserNotRestartedCronJob extends ilCronJob
2828
private const ID = 'prg_user_not_restarted';
2929

3030
protected ilComponentLogger $log;
31-
protected ilLanguage $lng;
3231
protected ilPRGAssignmentDBRepository $assignment_repo;
3332
protected ilPrgCronJobAdapter $adapter;
3433

35-
public function __construct()
34+
public function __construct(
35+
string $component,
36+
\ILIAS\Language\Language $lng,
37+
bool $registration = false
38+
) {
39+
parent::__construct($component, $lng);
40+
$this->lng->loadLanguageModule('prg');
41+
if (!$registration) {
42+
$this->additionalConstruct();
43+
}
44+
}
45+
46+
private function additionalConstruct()
3647
{
3748
global $DIC;
3849
$this->log = $DIC['ilLog'];
39-
$this->lng = $DIC['lng'];
40-
$this->lng->loadLanguageModule('prg');
4150

4251
$dic = ilStudyProgrammeDIC::dic();
4352
$this->assignment_repo = $dic['repo.assignment'];

components/ILIAS/StudyProgramme/classes/class.ilPrgUserRiskyToFailCronJob.php

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
<?php
22

3-
declare(strict_types=1);
4-
5-
use ILIAS\Cron\Schedule\CronJobScheduleType;
6-
73
/**
84
* This file is part of ILIAS, a powerful learning management system
95
* published by ILIAS open source e-Learning e.V.
@@ -20,22 +16,34 @@
2016
*
2117
*********************************************************************/
2218

19+
declare(strict_types=1);
20+
21+
use ILIAS\Cron\Schedule\CronJobScheduleType;
22+
2323
class ilPrgUserRiskyToFailCronJob extends ilCronJob
2424
{
2525
private const ID = 'prg_user_risky_to_fail';
2626

2727
protected ilComponentLogger $log;
28-
protected ilLanguage $lng;
2928
protected ilPRGAssignmentDBRepository $assignment_repo;
3029
protected ilPrgCronJobAdapter $adapter;
3130

32-
public function __construct()
31+
public function __construct(
32+
string $component,
33+
\ILIAS\Language\Language $lng,
34+
bool $registration = false
35+
) {
36+
parent::__construct($component, $lng);
37+
$this->lng->loadLanguageModule('prg');
38+
if (!$registration) {
39+
$this->additionalConstruct();
40+
}
41+
}
42+
43+
private function additionalConstruct()
3344
{
3445
global $DIC;
3546
$this->log = $DIC['ilLog'];
36-
$this->lng = $DIC['lng'];
37-
$this->lng->loadLanguageModule('prg');
38-
3947
$dic = ilStudyProgrammeDIC::dic();
4048
$this->assignment_repo = $dic['repo.assignment'];
4149
$this->adapter = $dic['cron.riskyToFail'];

components/ILIAS/StudyProgramme/module.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,6 @@
4343
<event type="raise" id="userReAssigned" />
4444
<event type="raise" id="userSuccessful" />
4545
</events>
46-
<crons>
47-
<cron id="prg_invalidate_expired_progresses" class="ilPrgInvalidateExpiredProgressesCronJob" />
48-
<cron id="prg_restart_assignments_temporal_progress" class="ilPrgRestartAssignmentsCronJob" />
49-
<cron id="prg_user_not_restarted" class="ilPrgUserNotRestartedCronJob" />
50-
<cron id="prg_user_risky_to_fail" class="ilPrgUserRiskyToFailCronJob" />
51-
<cron id="prg_update_progress" class="ilPrgUpdateProgressCronJob" />
52-
</crons>
5346
<mailtemplates>
5447
<context id="prg_context_manual" class="ilStudyProgrammeMailTemplateContext" />
5548
</mailtemplates>

0 commit comments

Comments
 (0)