19 declare(strict_types=1);
    33     protected \ILIAS\FileUpload\FileUpload 
$upload;
    34     protected \ilExAssignmentTypeInterface 
$type;
    49         $this->
upload = $DIC->upload();
    54         if ($this->type->usesTeams()) {
    56             $this->stakeholder = $team_stakeholder;
    72         $this->domain->resourceStorage()->events()->attach(
    74             Event::COLLECTION_RESOURCE_ADDED
    80         $log = $this->domain->log();
    81         $log->debug(
"Ass id: " . $this->ass_id);
    91         $log->debug(
"Get notification");
    92         $notification = $this->domain->notification(
$ref_id);
    93         $log->debug(
"Get participant");
    94         $part_id = $this->repo->getParticipantIdForRcid($this->ass_id, $rcid);
    95         $log->debug(
"Get filename");
    96         $filename = $this->repo->getFilenameForRid($this->ass_id, $part_id, $rid);
    97         $log->debug(
"Get assignment");
    98         $ass = new \ilExAssignment($this->ass_id);
    99         $log->debug(
"Get submission");
   100         $submission = new \ilExSubmission($ass, $part_id);
   101         $feedback_id = $submission->getFeedbackId();
   102         $noti_rec_ids = $submission->getUserIds();
   104         $log->debug(
"Feedback id: " . $feedback_id);
   107                 foreach ($noti_rec_ids as 
$user_id) {
   108                     $member_status = $ass->getMemberStatus($user_id);
   109                     $member_status->setFeedback(
true);
   110                     $member_status->update();
   113                 $notification->sendFeedbackNotification(
   129         if ($this->type->usesTeams()) {
   130             $team_id = $this->domain->team()->getTeamForMember($this->ass_id, $participant_id);
   131             if (is_null($team_id)) {
   132                 throw new \ilExerciseException(
"Team for user " . $participant_id . 
" in assignment " . $this->ass_id . 
" not found.");
   134             return "t" . $team_id;
   136             return (
string) $participant_id;
   144             return $this->repo->count($this->ass_id, $participant_id);
   151         $title = $this->domain->lng()->txt(
'exc_fb_files');
   152         if ($this->type->usesTeams()) {
   154             return $title . 
": " . $name[
"lastname"] . 
", " . $name[
"firstname"];
   157             return $title . 
": " . $name[
"lastname"] . 
", " . $name[
"firstname"];
   163         return $this->repo->getIdStringForAssIdAndUserId($this->ass_id, $participant_id);
   168         $this->repo->createCollection($this->ass_id, $participant_id);
   173         $this->repo->deleteCollection(
   180     public function getFiles(
int $participant_id): array
   183         if ($this->repo->hasCollection($this->ass_id, $participant_id)) {
   186             }, iterator_to_array($this->repo->getCollectionResourcesInfo($this->ass_id, $participant_id)));
   191     public function deliver(
int $participant_id, 
string $file): void
   193         $assignment = $this->domain->assignment()->getAssignment($this->ass_id);
   194         if ($assignment->notStartedYet()) {
   198         if ($this->repo->hasCollection($this->ass_id, $participant_id)) {
   200             $this->repo->deliverFile($this->ass_id, $participant_id, $file);
 getLegacyFeedbackId(int $participant_id)
 
sendNotification(string $rcid, string $rid)
 
ILIAS FileUpload FileUpload $upload
 
getFiles(int $participant_id)
 
getFeedbackTitle(int $participant_id)
 
static _getAllReferences(int $id)
get all reference ids for object ID 
 
static lookupType(int $a_id)
 
static _lookupName(int $a_user_id)
lookup user name 
 
count(int $participant_id)
 
__construct(int $ass_id, InternalRepoService $repo, InternalDomainService $domain, \ilExcTutorFeedbackFileStakeholder $stakeholder, \ilExcTutorTeamFeedbackFileStakeholder $team_stakeholder, TutorFeedbackFileObserver $file_observer)
 
deleteCollection(int $participant_id)
 
TutorFeedbackFileObserver $file_observer
 
ResourceStakeholder $stakeholder
 
InternalDomainService $domain
 
hasCollection(int $participant_id)
 
deliver(int $participant_id, string $file)
 
Interface ResourceStakeholder. 
 
TutorFeedbackFileRepositoryInterface $repo
 
static lookupExerciseId(int $a_ass_id)
 
createCollection(int $participant_id)
 
ilExAssignmentTypeInterface $type
 
getCollectionIdString(int $participant_id)