ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Exercise\Team\TeamManager Class Reference
+ Collaboration diagram for ILIAS\Exercise\Team\TeamManager:

Public Member Functions

 __construct (InternalRepoService $repo, InternalDomainService $domain, protected \ilExcTutorTeamFeedbackFileStakeholder $feedback_stakeholder)
 
 create (int $ass_id, int $first_user)
 
 getTeamForMember (int $ass_id, int $user_id)
 
 getMemberIds (int $team_id)
 
 getTeamMemberIdsOrUserId (int $ass_id, int $user_id)
 
 getStatusForTeam (int $team_id)
 
 getAssignmentForTeam (int $team_id)
 
 writeLog (int $team_id, int $action, string $content)
 
 deleteTeamsOfAssignment (int $ass_id)
 

Protected Member Functions

 getTeam (int $team_id)
 

Protected Attributes

TutorFeedbackFileTeamRepository $feedback_repo
 
TeamDBRepository $repo
 
InternalDomainService $domain
 

Detailed Description

Definition at line 28 of file TeamManager.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Exercise\Team\TeamManager::__construct ( InternalRepoService  $repo,
InternalDomainService  $domain,
protected \ilExcTutorTeamFeedbackFileStakeholder  $feedback_stakeholder 
)

Definition at line 34 of file TeamManager.php.

38 {
39 $this->repo = $repo->team();
40 $this->domain = $domain;
41 $this->feedback_repo = $repo->tutorFeedbackFileTeam();
42 }
InternalDomainService $domain
Definition: TeamManager.php:32

References ILIAS\Exercise\Team\TeamManager\$domain, and ILIAS\Exercise\Team\TeamManager\$repo.

Member Function Documentation

◆ create()

ILIAS\Exercise\Team\TeamManager::create ( int  $ass_id,
int  $first_user 
)

Definition at line 44 of file TeamManager.php.

47 : int {
48 $id = $this->repo->create();
49 $this->repo->addUser($id, $ass_id, $first_user);
50 $this->domain->assignment()->tutorFeedbackFile($ass_id)->createCollection($first_user);
51 return $id;
52 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

◆ deleteTeamsOfAssignment()

ILIAS\Exercise\Team\TeamManager::deleteTeamsOfAssignment ( int  $ass_id)

Definition at line 110 of file TeamManager.php.

110 : void
111 {
112 foreach ($this->repo->getTeamIdsOfAssignment($ass_id) as $team_id) {
113 $this->repo->deleteTeamLog($team_id);
114 $this->feedback_repo->deleteTeamCollection(
115 $team_id,
116 $this->feedback_stakeholder
117 );
118 $this->repo->deleteTeam($team_id);
119 }
120 }

References $ass_id.

◆ getAssignmentForTeam()

ILIAS\Exercise\Team\TeamManager::getAssignmentForTeam ( int  $team_id)

Definition at line 88 of file TeamManager.php.

88 : int
89 {
90 return $this->repo->getAssignmentForTeam($team_id);
91 }

◆ getMemberIds()

ILIAS\Exercise\Team\TeamManager::getMemberIds ( int  $team_id)
Returns
int[]

Definition at line 62 of file TeamManager.php.

62 : array
63 {
64 return $this->repo->getMemberIds($team_id);
65 }

◆ getStatusForTeam()

ILIAS\Exercise\Team\TeamManager::getStatusForTeam ( int  $team_id)

Definition at line 77 of file TeamManager.php.

77 : string
78 {
79 $members = iterator_to_array($this->repo->getMembers($team_id));
80 $ass_id = $this->getAssignmentForTeam($team_id);
81 $mem_status = new \ilExAssignmentMemberStatus(
82 $ass_id,
83 current($members)->getUserId()
84 );
85 return $mem_status->getStatus();
86 }

References $ass_id.

◆ getTeam()

ILIAS\Exercise\Team\TeamManager::getTeam ( int  $team_id)
protected

Definition at line 93 of file TeamManager.php.

94 {
95 return new \ilExAssignmentTeam($team_id);
96 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getTeamForMember()

ILIAS\Exercise\Team\TeamManager::getTeamForMember ( int  $ass_id,
int  $user_id 
)

Definition at line 54 of file TeamManager.php.

54 : ?int
55 {
56 return $this->repo->getTeamForMember($ass_id, $user_id);
57 }

References $ass_id, and $user_id.

◆ getTeamMemberIdsOrUserId()

ILIAS\Exercise\Team\TeamManager::getTeamMemberIdsOrUserId ( int  $ass_id,
int  $user_id 
)

Definition at line 67 of file TeamManager.php.

67 : array
68 {
69 $team_id = $this->getTeamForMember($ass_id, $user_id);
70 if (!is_null($team_id) && $team_id !== 0) {
71 return $this->getMemberIds(($team_id));
72 }
73 return [$user_id];
74 }
getTeamForMember(int $ass_id, int $user_id)
Definition: TeamManager.php:54

References $ass_id, and $user_id.

◆ writeLog()

ILIAS\Exercise\Team\TeamManager::writeLog ( int  $team_id,
int  $action,
string  $content 
)

Definition at line 98 of file TeamManager.php.

102 : void {
103 $team = $this->getTeam($team_id);
104 $team->writeLog(
105 $action,
106 $content
107 );
108 }

Field Documentation

◆ $domain

InternalDomainService ILIAS\Exercise\Team\TeamManager::$domain
protected

Definition at line 32 of file TeamManager.php.

Referenced by ILIAS\Exercise\Team\TeamManager\__construct().

◆ $feedback_repo

TutorFeedbackFileTeamRepository ILIAS\Exercise\Team\TeamManager::$feedback_repo
protected

Definition at line 30 of file TeamManager.php.

◆ $repo

TeamDBRepository ILIAS\Exercise\Team\TeamManager::$repo
protected

Definition at line 31 of file TeamManager.php.

Referenced by ILIAS\Exercise\Team\TeamManager\__construct().


The documentation for this class was generated from the following file: