23                $this->exercise = $a_exercise;
 
   24                $this->submission = $a_submission;
 
   29                $this->tabs_gui = $ilTabs;
 
   38                $class = 
$ilCtrl->getNextClass($this);
 
   41                if(!$this->assignment->hasTeam() ||
 
   42                        !$this->submission->canView())
 
   46                $this->team = $this->submission->getTeam();
 
   48                if(!$this->submission->isTutor())
 
   51                        $this->tabs_gui->activateTab(
"team");   
 
   56                        case 'ilrepositorysearchgui':                                   
 
   57                                $this->ctrl->setReturn($this,
'submissionScreenTeam');   
 
   58                                include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
 
   60                                $rep_search->setTitle($this->lng->txt(
"exc_team_member_add"));
 
   61                                $rep_search->setCallback($this,
'addTeamMemberActionObject');
 
   62                                $this->ctrl->forwardCommand($rep_search);
 
   66                                $this->{
$cmd.
"Object"}();                               
 
   80                $team_members = $a_submission->
getTeam()->getMembers();
 
   81                if(
sizeof($team_members))
 
   84                        foreach($team_members as $member_id)
 
   94                                $button->setCaption(
"exc_delete_team");
 
   95                                $button->setUrl(
$ilCtrl->getLinkTargetByClass(array(
"ilExSubmissionGUI", 
"ilExSubmissionTeamGUI"), 
"confirmDeleteTeam"));                                                       
 
   96                                $team .= 
" ".$button->render(); 
 
  103                                $button->setCaption(
"exc_manage_team");
 
  104                                $button->setUrl(
$ilCtrl->getLinkTargetByClass(array(
"ilExSubmissionGUI", 
"ilExSubmissionTeamGUI"), 
"submissionScreenTeam"));                                                    
 
  108                                $button->setCaption(
"exc_team_log");
 
  109                                $button->setUrl(
$ilCtrl->getLinkTargetByClass(array(
"ilExSubmissionGUI", 
"ilExSubmissionTeamGUI"), 
"submissionScreenTeamLog"));                                         
 
  111                        $team .= 
" ".$button->render();                         
 
  121                                         $team_info = 
$lng->txt(
"exc_no_team_yet_notice");                                                              
 
  125                                        $team_info = 
'<span class="warning">'.$lng->txt(
"exc_no_team_yet_notice").
'</span>';            
 
  131                                        $button->setPrimary(
true);
 
  132                                        $button->setCaption(
"exc_create_team");
 
  133                                        $button->setUrl(
$ilCtrl->getLinkTargetByClass(array(
"ilExSubmissionGUI", 
"ilExSubmissionTeamGUI"), 
"createTeam"));                                                      
 
  134                                        $team_info .= 
" ".$button->render();            
 
  136                                        $team_info .= 
'<div class="ilFormInfo">'.$lng->txt(
"exc_no_team_yet_info").
'</div>';
 
  140                                        $team_info .= 
'<div class="ilFormInfo">'.$lng->txt(
"exc_no_team_yet_info_tutor").
'</div>';
 
  145                                $team_info = 
'<span class="warning">'.$lng->txt(
"exc_create_team_times_up_warning").
'</span>';
 
  154                $this->ctrl->returnToParent($this);
 
  161                $ilTabs->addTab(
"team", 
$lng->txt(
"exc_team"), 
 
  162                        $ilCtrl->getLinkTargetByClass(
"ilExSubmissionTeamGUI", 
"submissionScreenTeam"));
 
  164                $ilTabs->addTab(
"log", 
$lng->txt(
"exc_team_log"), 
 
  165                        $ilCtrl->getLinkTargetByClass(
"ilExSubmissionTeamGUI", 
"submissionScreenTeamLog"));
 
  170                return (($this->submission->canSubmit() &&
 
  171                        !$this->submission->getAssignment()->getTeamTutor()) ||
 
  172                        $this->submission->isTutor());
 
  187                if ($this->submission->getAssignment()->afterDeadlineStrict())
 
  194                        include_once 
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
 
  199                                        'auto_complete_name'    => $this->lng->txt(
'user'),
 
  200                                        'submit_name'                   => $this->lng->txt(
'add'),
 
  201                                        'add_search'                    => 
true,
 
  202                                        'add_from_container'    => $this->exercise->getRefId()          
 
  206                else if($this->submission->getAssignment()->getTeamTutor())
 
  211                include_once 
"Modules/Exercise/classes/class.ilExAssignmentTeamTableGUI.php";
 
  214                        "submissionScreenTeam",
 
  216                        $this->exercise->getRefId(),
 
  221                $this->tpl->setContent(
$tbl->getHTML());                                
 
  228                        $this->ctrl->redirect(
"submissionScreenTeam");
 
  231                if(!count($a_user_ids))
 
  237                foreach($a_user_ids as $user_id)
 
  239                        if($this->team->addTeamMember($user_id, $this->exercise->getRefId()))
 
  241                                $new_users[] = $user_id;
 
  244                                if (!$this->exercise->members_obj->isAssigned($user_id))
 
  246                                        $this->exercise->members_obj->assignMember($user_id);
 
  256                if(
sizeof($new_users))
 
  259                        $this->exercise->processExerciseStatus(
 
  261                                $this->team->getMembers(),
 
  262                                $this->submission->hasSubmitted(),
 
  263                                $this->submission->validatePeerReviews()
 
  269                $this->ctrl->redirect($this, 
"submissionScreenTeam");
 
  281                if(!$this->submission->isTutor())
 
  283                        $ids = (bool)$a_full_delete
 
  284                                ? $this->team->getMembers()
 
  291                                $this->ctrl->redirect($this, 
"submissionScreenTeam");
 
  296                        $ids = array(
$_GET[
"id"]);
 
  303                $members = $this->team->getMembers();
 
  304                if(
sizeof($members) <= 
sizeof($ids))
 
  306                        if(
sizeof($members) == 1 && $members[0] == 
$ilUser->getId())
 
  314                                $this->ctrl->redirect($this, 
"submissionScreenTeam");
 
  318                include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  320                $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  321                $cgui->setHeaderText($this->lng->txt(
"exc_team_member_remove_sure"));   
 
  322                $cgui->setConfirm($this->lng->txt(
"remove"), 
"removeTeamMember");
 
  323                $cgui->setCancel($this->lng->txt(
"cancel"), $this->submission->isTutor()
 
  325                        : 
"submissionScreenTeam");
 
  327                $files = $this->submission->getFiles();
 
  329                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
  334                        foreach ($files as 
$file)
 
  336                                if(
$file[
"owner_id"] == $id)
 
  338                                        $details[] = 
$file[
"filetitle"];
 
  344                                $uname .= 
": ".implode(
", ", $details);
 
  346                        $cgui->addItem(
"id[]", $id, $uname);
 
  349                $tpl->setContent($cgui->getHTML());             
 
  356                $cancel_cmd = $this->submission->isTutor()
 
  358                        : 
"submissionScreenTeam";
 
  360                $ids = (bool)$a_full_delete
 
  361                        ? $this->team->getMembers()
 
  368                        $this->ctrl->redirect($this, $cancel_cmd);
 
  371                $team_deleted = (bool)$a_full_delete;           
 
  374                        $members = $this->team->getMembers();
 
  375                        if(
sizeof($members) <= 
sizeof($ids))
 
  377                                if(
sizeof($members) == 1 && $members[0] == 
$ilUser->getId())
 
  379                                        $team_deleted = 
true;
 
  384                                        $this->ctrl->redirect($this, $cancel_cmd);
 
  389                foreach($ids as $user_id)
 
  391                        $this->team->removeTeamMember($user_id, $this->exercise->getRefId());                                                           
 
  395                $this->exercise->processExerciseStatus(
 
  404                        $this->exercise->processExerciseStatus(
 
  406                                $this->team->getMembers(),
 
  407                                $this->submission->hasSubmitted(),
 
  408                                $this->submission->validatePeerReviews()
 
  415                        $this->ctrl->redirect($this, $cancel_cmd);              
 
  419                        $this->ctrl->redirect($this, 
"returnToParent"); 
 
  425                $this->tabs_gui->activateTab(
"log");
 
  427                include_once 
"Modules/Exercise/classes/class.ilExAssignmentTeamLogTableGUI.php";
 
  431                $this->tpl->setContent(
$tbl->getHTML());                                                
 
  437                        $this->assignment->getId(), 
 
  438                        $this->submission->getUserId(), 
 
  447                include_once 
"Modules/Exercise/classes/class.ilExAssignmentTeamLogTableGUI.php";
 
  449                $this->tpl->setContent(
$tbl->getHTML());                                                
 
  456                if($this->submission->canSubmit())
 
  461                                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  463                                $form->setTitle(
$lng->txt(
"exc_team_assignment_adopt_user"));
 
  464                                $form->setFormAction(
$ilCtrl->getFormAction($this, 
"createAdoptedTeam"));
 
  467                                $teams->setValue(-1);
 
  469                                $teams->addOption(
new ilRadioOption(
$lng->txt(
"exc_team_assignment_adopt_none_user"), -1));
 
  473                                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
  478                                        foreach($item[
"user_team"] as $user_id)
 
  482                                                if(array_key_exists($user_id, $current_map))
 
  484                                                        $members[$user_id] .= 
" (".$lng->txt(
"exc_team_assignment_adopt_already_assigned").
")";
 
  492                                        $members = implode(
"<br />", $members);
 
  494                                        $option->setInfo($members);
 
  497                                                $option->setDisabled(
true);
 
  499                                        $teams->addOption($option);
 
  502                                $form->addItem($teams);
 
  504                                $form->addCommandButton(
"createAdoptedTeam", 
$lng->txt(
"save"));
 
  505                                $form->addCommandButton(
"returnToParent", 
$lng->txt(
"cancel"));
 
  507                                $tpl->setContent($form->getHTML());
 
  514                        if(!$this->exercise->members_obj->isAssigned(
$ilUser->getId()))
 
  516                                $this->exercise->members_obj->assignMember(
$ilUser->getId());
 
  522                $ilCtrl->redirect($this, 
"returnToParent");
 
  529                if($this->submission->canSubmit())
 
  531                        $src_ass_id = (int)
$_POST[
"ass_adpt"];
 
  544                $ilCtrl->redirect($this, 
"returnToParent");
 
  553                if(!strlen(trim(
$_POST[
'user_login'])))
 
  560                $users = explode(
',', 
$_POST[
'user_login']);
 
  563                foreach($users as $user)
 
  573                        $user_ids[] = $user_id;
 
Confirmation screen class.
List all log entries of team.
List all team members of an assignment.
static getAssignmentTeamMap($a_ass_id)
Get team structure for assignment.
static getTeamId($a_assignment_id, $a_user_id, $a_create_on_demand=false)
Get team id for member id.
static getAdoptableTeamAssignments($a_exercise_id, $a_exclude_ass_id=null, $a_user_id=null)
static adoptTeams($a_source_ass_id, $a_target_ass_id, $a_user_id=null, $a_exc_ref_id=null)
createAdoptedTeamObject()
submissionScreenTeamLogObject()
confirmDeleteTeamObject()
addTeamMemberActionObject($a_user_ids=array())
submissionScreenTeamObject()
Displays a form which allows members to manage team uploads.
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
addUserFromAutoCompleteObject()
Add user as member.
createSingleMemberTeamObject()
removeTeamMemberObject($a_full_delete=false)
confirmRemoveTeamMemberObject($a_full_delete=false)
__construct(ilObjExercise $a_exercise, ilExSubmission $a_submission)
getLastSubmission()
Get the date of the last submission of a user for the assignment.
addProperty($a_name, $a_value, $a_link="")
add a property to current section
static _lookupId($a_user_str)
Lookup id by login.
_lookupFullname($a_user_id)
Lookup Full Name.
This class represents an option in a radio group.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false)
Default behaviour is:
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!is_array($argv)) $options