5 require_once(
"Services/Table/classes/class.ilTable2GUI.php");
6 require_once(
"Modules/StudyProgramme/classes/class.ilStudyProgrammeUserProgress.php");
7 require_once(
"Modules/StudyProgramme/classes/model/class.ilStudyProgrammeProgress.php");
8 require_once(
"Modules/StudyProgramme/classes/model/class.ilStudyProgrammeAssignment.php");
9 require_once(
"Modules/StudyProgramme/classes/class.ilObjStudyProgramme.php");
10 require_once(
"Modules/StudyProgramme/classes/class.ilStudyProgrammeUserProgress.php");
11 require_once(
"Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
24 public function __construct($a_prg_obj_id, $a_prg_ref_id, $a_parent_obj, $a_parent_cmd=
"", $a_template_context=
"") {
25 $this->
setId(
"sp_member_list");
26 parent::__construct($a_parent_obj, $a_parent_cmd, $a_template_context);
28 $this->prg_obj_id = $a_prg_obj_id;
29 $this->prg_ref_id = $a_prg_ref_id;
30 $this->prg_has_lp_children = $a_parent_obj->getStudyProgramme()->hasLPChildren();
46 $this->
setRowTemplate(
"tpl.members_table_row.html",
"Modules/StudyProgramme");
52 if($this->prg_has_lp_children) {
79 $this->tpl->setVariable(
"FIRSTNAME", $a_set[
"firstname"]);
80 $this->tpl->setVariable(
"LASTNAME", $a_set[
"lastname"]);
81 $this->tpl->setVariable(
"LOGIN", $a_set[
"login"]);
83 $this->tpl->setVariable(
"COMPLETION_BY", $a_set[
"completion_by"]);
84 $this->tpl->setVariable(
"POINTS_REQUIRED", $a_set[
"points"]);
86 if(!$this->prg_has_lp_children) {
87 $this->tpl->setCurrentBlock(
"points_current");
88 $this->tpl->setVariable(
"POINTS_CURRENT", $a_set[
"points_current"]);
89 $this->tpl->parseCurrentBlock();
92 $this->tpl->setVariable(
"CUSTOM_PLAN", $a_set[
"last_change_by"]
93 ? $this->lng->txt(
"yes")
94 : $this->lng->txt(
"no"));
95 $this->tpl->setVariable(
"BELONGS_TO", $a_set[
"belongs_to"]);
98 , $a_set[
"assignment_id"]));
102 case "prg_assign_date":
103 $this->tpl->setCurrentBlock(
"assign_date");
104 $this->tpl->setVariable(
"ASSIGN_DATE", $a_set[
"prg_assign_date"]);
105 $this->tpl->parseCurrentBlock(
"assign_date");
107 case "prg_assigned_by":
108 $this->tpl->setCurrentBlock(
"assigned_by");
109 $this->tpl->setVariable(
"ASSIGNED_BY", $a_set[
"prg_assigned_by"]);
110 $this->tpl->parseCurrentBlock(
"assigned_by");
118 foreach($a_actions as $action) {
120 $l->addItem($this->lng->txt(
"prg_$action"), $action,
$target);
122 return $l->getHTML();
126 return $this->
getParentObject()->getLinkTargetForAction($a_action, $a_prgrs_id, $a_ass_id);
132 $query =
"SELECT prgrs.id prgrs_id" 140 .
" , prgrs.points_cur*" 146 .
" , prgrs.last_change_by" 148 .
" , blngs.title belongs_to" 149 .
" , cmpl_usr.login accredited_by" 150 .
" , cmpl_obj.title completion_by" 151 .
" , cmpl_obj.type completion_by_type" 152 .
" , prgrs.completion_by completion_by_id" 153 .
" , prgrs.assignment_id assignment_id" 154 .
" , ass.root_prg_id root_prg_id" 155 .
" , ass.last_change prg_assign_date" 156 .
" , ass_usr.login prg_assigned_by" 158 .
" , CONCAT(pcp.firstname, pcp.lastname) name" 159 .
" , (prgrs.last_change_by IS NOT NULL) custom_plan" 165 if($order_coloumn !== null) {
166 $query .=
" ORDER BY $order_coloumn";
169 $query .=
" $order_direction";
179 $members_list =
array();
180 while($rec = $this->db->fetchAssoc(
$res)) {
182 $a_prg_id, $rec[
"root_prg_id"], $rec[
"status"]);
183 $rec[
'points_current'] = number_format($rec[
'points_current']);
187 if($rec[
"completion_by_type"] ==
"crsr") {
194 if (!$rec[
"completion_by"]) {
195 require_once(
"Modules/StudyProgramme/classes/class.ilStudyProgrammeUserProgress.php");
197 , $rec[
"assignment_id"]);
198 $rec[
"completion_by"] = implode(
", ", $prgrs->getNamesOfCompletedOrAccreditedChildren());
202 $rec[
"completion_by"] = $rec[
"accredited_by"];
205 $members_list[] = $rec;
207 return $members_list;
213 $query =
"SELECT count(prgrs.id) as cnt";
218 $rec = $this->db->fetchAssoc(
$res);
224 return " FROM ".ilStudyProgrammeProgress::returnDbTableName().
" prgrs" 225 .
" JOIN usr_data pcp ON pcp.usr_id = prgrs.usr_id" 227 .
" ON ass.id = prgrs.assignment_id" 228 .
" JOIN object_data blngs ON blngs.obj_id = ass.root_prg_id" 229 .
" LEFT JOIN usr_data ass_usr ON ass_usr.usr_id = ass.last_change_by" 230 .
" LEFT JOIN usr_data cmpl_usr ON cmpl_usr.usr_id = prgrs.completion_by" 231 .
" LEFT JOIN object_data cmpl_obj ON cmpl_obj.obj_id = prgrs.completion_by";
235 return " WHERE prgrs.prg_id = ".$this->db->quote($a_prg_id,
"integer");
247 $cols[
"prg_assign_date"] =
array(
248 "txt" => $this->lng->txt(
"prg_assign_date"));
250 $cols[
"prg_assigned_by"] =
array(
251 "txt" => $this->lng->txt(
"prg_assigned_by"));
258 ,
"login" =>
array(
"login")
259 ,
"prg_status" =>
array(
"status")
260 ,
"prg_completion_by" =>
array(null)
261 ,
"prg_points_required" =>
array(
"points")
262 ,
"prg_points_current" =>
array(
"points_current")
263 ,
"prg_custom_plan" =>
array(
"custom_plan")
264 ,
"prg_belongs_to" =>
array(
"belongs_to")
270 ,
"login" =>
array(
"login")
271 ,
"prg_status" =>
array(
"status")
272 ,
"prg_completion_by" =>
array(null)
273 ,
"prg_points_reachable" =>
array(
"points")
274 ,
"prg_custom_plan" =>
array(
"custom_plan")
275 ,
"prg_belongs_to" =>
array(
"belongs_to")
getLinkTargetForAction($a_action, $a_prgrs_id, $a_ass_id)
setExternalSorting($a_val)
Set external sorting.
static statusToRepr($a_status)
Get a user readable representation of a status.
static getInstanceForAssignment($a_program_id, $a_assignment_id)
Get the instance for the assignment on the program.
getSelectableColumns()
Get selectable columns.
setExternalSegmentation($a_val)
Set external segmentation.
determineLimit()
Determine the limit.
__construct($a_prg_obj_id, $a_prg_ref_id, $a_parent_obj, $a_parent_cmd="", $a_template_context="")
getOrderDirection()
Get order direction.
fetchData($a_prg_id, $limit=null, $offset=null, $order_coloumn=null, $order_direction=null)
getParentObject()
Get parent object.
countFetchData($a_prg_id)
Class ilObjStudyProgrammeMembersTableGUI.
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
buildActionDropDown($a_actions, $a_prgrs_id, $a_ass_id)
static _lookupTitle($a_obj_id)
Overwitten from base class.
static getPossibleActions($a_node_id, $a_root_prg_id, $a_status)
Get a list with possible actions on a progress record.
getSelectedColumns()
Get selected columns.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
static returnDbTableName()
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
User interface class for advanced drop-down selection lists.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
setEnableHeader($a_enableheader)
Set Enable Header.
setMaxCount($a_max_count)
set max.
setEnableTitle($a_enabletitle)
Set Enable Title.
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.