19 declare(strict_types=1);
90 && $this->
getLastChange()->format(self::DATE_TIME_FORMAT) > $last_change->format(self::DATE_TIME_FORMAT)
93 "Cannot set last change to an earlier date:" 94 .
"\ncurrent: " . $this->
getLastChange()->format(self::DATE_TIME_FORMAT)
95 .
"\nnew: " . $last_change,
121 int $restarted_asssignment_id,
124 $clone = clone $this;
137 $clone = clone $this;
138 $clone->manually_assigned = $manual;
144 $clone = clone $this;
156 $clone = clone $this;
167 return $this->progress->getNodeId();
177 foreach ($pgs->getSubnodes() as $id => $sub) {
186 $path = $pgs->findSubnodePath((
string) $node_id);
188 foreach (
$path as $hop) {
189 if ($pgs->getId() !== $hop) {
190 $pgs = $pgs->getSubnode($hop);
199 return array_values(array_filter(
201 fn($pgs) => ! is_null($pgs->getDeadline()) && $pgs->getDeadline() <= $deadline
207 $clone = clone $this;
withRestarted(int $restarted_asssignment_id, ?\DateTimeImmutable $restart_date=null)
withLastChange(int $last_change_by, \DateTimeImmutable $last_change)
const AUTO_ASSIGNED_BY_COURSE
ilPRGUserInformation $user_info
getProgressesWithDeadline(DateTimeImmutable $deadline)
getProgresses(array &$ret=[], ?ilPRGProgress $pgs=null)
withUserInformation(ilPRGUserInformation $user_info)
int $restarted_asssignment_id
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
getRestartedAssignmentId()
A Progress is the status of a user on a single node of an assignment; it is unique by assignment_id:u...
const AUTO_ASSIGNED_BY_GROUP
const AUTO_ASSIGNED_BY_RESTART
__construct(int $id, int $usr_id)
const AUTO_ASSIGNED_BY_ORGU
DateTimeImmutable $last_change
withManuallyAssigned(bool $manual)
withProgressTree(ilPRGProgress $progress)
withEvents(StudyProgrammeEvents $events)
const NO_RESTARTED_ASSIGNMENT
trait ilPRGAssignmentActions
This trait is for (physical) separation of code only; it is actually just part of an ilPRGAssignment ...
const AUTO_ASSIGNED_BY_ROLE
DateTimeImmutable $restart_date
getProgressForNode(int $node_id)
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
StudyProgrammeEvents $events