4 include_once(
"./Modules/Exercise/classes/class.ilExerciseSubmissionTableGUI.php");
25 parent::__construct($a_parent_obj, $a_parent_cmd, $a_exc, $a_item_id);
26 $this->
setFormAction($ilCtrl->getFormAction($a_parent_obj,
"saveStatusAll"));
33 $this->mode = self::MODE_BY_ASSIGNMENT;
36 $this->
setId(
"exc_mem");
38 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
41 $this->
setTitle(
$lng->txt(
"exc_assignment") .
": " . $this->ass->getTitle());
49 $tmp_data = $this->ass->getMemberListData();
52 $usr_ids = array_keys($tmp_data);
53 $filtered_usr_ids =
$GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
54 'etit_submissions_grades',
55 'edit_submissions_grades',
56 $this->exc->getRefId(),
60 foreach ($filtered_usr_ids as $usr_id) {
61 $data[$usr_id] = $tmp_data[$usr_id];
65 $idl = $this->ass->getIndividualDeadlines();
68 if ($this->ass->hasTeam()) {
74 foreach (
$data as $item) {
76 if ($this->filter[
"status"] &&
77 $item[
"status"] != $this->filter[
"status"]) {
81 $team_id = $team_map[$item[
"usr_id"]];
85 $team_id =
"nty" . $item[
"usr_id"];
88 if (!isset($tmp[$team_id])) {
89 $tmp[$team_id] = $item;
91 if (is_numeric($team_id)) {
92 $tmp[$team_id][
"submission_obj"] =
new ilExSubmission($this->ass, $item[
"usr_id"],
$teams[$team_id]);
99 $tmp[$team_id][
"team"][$item[
"usr_id"]] = $item[
"name"];
101 if (is_numeric($team_id)) {
102 $idl_team_id =
"t" . $team_id;
103 if (array_key_exists($idl_team_id, $idl)) {
104 $tmp[$team_id][
"idl"] = $idl[$idl_team_id];
110 if ($this->filter[
"name"]) {
111 foreach ($tmp as $idx => $item) {
112 if (!stristr(implode(
"", $item[
"team"]), $this->filter[
"name"])) {
117 if ($this->filter[
"subm"]) {
118 foreach ($tmp as $idx => $item) {
119 $submission = $item[
"submission_obj"];
120 if ($this->filter[
"subm"] ==
"y" &&
121 !$submission->getLastSubmission()) {
123 } elseif ($this->filter[
"subm"] ==
"n" &&
124 $submission->getLastSubmission()) {
133 foreach (
$data as $idx => $item) {
135 if ($this->filter[
"status"] &&
136 $item[
"status"] != $this->filter[
"status"]) {
140 if ($this->filter[
"name"] &&
141 !stristr($item[
"name"], $this->filter[
"name"]) &&
142 !stristr($item[
"login"], $this->filter[
"name"])) {
150 if ($this->filter[
"subm"]) {
151 $submission =
$data[$idx][
"submission_obj"];
152 if ($this->filter[
"subm"] ==
"y" &&
153 !$submission->getLastSubmission()) {
156 } elseif ($this->filter[
"subm"] ==
"n" &&
157 $submission->getLastSubmission()) {
163 if (array_key_exists($item[
"usr_id"], $idl)) {
164 $data[$idx][
"idl"] = $idl[$item[
"usr_id"]];
176 if (!$this->ass->hasTeam()) {
179 if (in_array(
"image", $selected)) {
180 $cols[
"image"] =
array($this->lng->txt(
"image"));
183 $cols[
"name"] =
array($this->lng->txt(
"name"),
"name");
185 if (in_array(
"login", $selected)) {
186 $cols[
"login"] =
array($this->lng->txt(
"login"),
"login");
189 $cols[
"name"] =
array($this->lng->txt(
"exc_team"));
199 if (!$this->ass->hasTeam()) {
200 $cols[
"image"] =
array($this->lng->txt(
"image"));
201 $cols[
"name"] =
array($this->lng->txt(
"name"),
"name");
202 $cols[
"login"] =
array($this->lng->txt(
"login"),
"login");
204 $cols[
"name"] =
array($this->lng->txt(
"exc_tbl_team"));
207 if ($this->ass->hasActiveIDl()) {
208 $cols[
"idl"] =
array($this->lng->txt(
"exc_tbl_individual_deadline"),
"idl");
218 $member_id = $member[
"usr_id"];
220 $ilCtrl->setParameter($this->parent_obj,
"ass_id", $this->ass->getId());
221 $ilCtrl->setParameter($this->parent_obj,
"member_id", $member_id);
224 $this->tpl->setVariable(
"NAME_ID",
"member");
225 $this->tpl->setVariable(
"VAL_ID", $member_id);
227 $this->
parseRow($member_id, $this->ass, $member);
229 $ilCtrl->setParameter($this->parent_obj,
"ass_id", $this->ass->getId());
230 $ilCtrl->setParameter($this->parent_obj,
"member_id",
"");
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
static getAssignmentTeamMap($a_ass_id)
Get team structure for assignment.
static getInstancesFromMap($a_assignment_id)
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Exercise assignment team.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
Exercise submission table.
parseRow($a_user_id, ilExAssignment $a_ass, array $a_row)
getSelectedColumns()
Get selected columns.
Create styles array
The data for the language used.
__construct($a_parent_obj, $a_parent_cmd, ilObjExercise $a_exc, $a_item_id)
Constructor.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.