ILIAS  release_8 Revision v8.24
ilLTIConsumerGradeSynchronizationGUI Class Reference
+ Collaboration diagram for ilLTIConsumerGradeSynchronizationGUI:

Public Member Functions

 __construct (ilObjLTIConsumer $object)
 
 executeCommand ()
 
 asyncUserAutocompleteCmd ()
 

Protected Member Functions

 resetFilterCmd ()
 
 applyFilterCmd ()
 
 showCmd ()
 
 initLimitingAndOrdering (ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
 
 initActorFilter (ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
 
 initActivityProgressFilter (ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
 
 initGradingProgressFilter (ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
 
 initPeriodFilter (ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
 
 initTableData (ilLTIConsumerGradeSynchronizationTableGUI $table, ilLTIConsumerGradeSynchronizationFilter $filter)
 
 buildTableGUI ()
 

Protected Attributes

ilObjLTIConsumer $object
 
ilLTIConsumerAccess $access
 

Private Attributes

ilGlobalTemplateInterface $main_tpl
 
ILIAS DI Container $dic
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilLTIConsumerGradeSynchronizationGUI::__construct ( ilObjLTIConsumer  $object)

Definition at line 37 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

38 {
39 global $DIC;
40 $this->dic = $DIC;
41 $this->main_tpl = $DIC->ui()->mainTemplate();
42 $this->object = $object;
43
44 $this->access = ilLTIConsumerAccess::getInstance($this->object);
45 }
static getInstance(ilObjLTIConsumer $object)
global $DIC
Definition: feed.php:28

References $DIC, $object, ILIAS\Repository\access(), and ilLTIConsumerAccess\getInstance().

+ Here is the call graph for this function:

Member Function Documentation

◆ applyFilterCmd()

ilLTIConsumerGradeSynchronizationGUI::applyFilterCmd ( )
protected

Definition at line 74 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

74 : void
75 {
76 $table = $this->buildTableGUI();
77 $table->writeFilterToSession();
78 $table->resetOffset();
79 $this->showCmd();
80 }

References buildTableGUI(), and showCmd().

+ Here is the call graph for this function:

◆ asyncUserAutocompleteCmd()

ilLTIConsumerGradeSynchronizationGUI::asyncUserAutocompleteCmd ( )

Definition at line 176 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

176 : void
177 {
178 $auto = new ilCmiXapiUserAutocomplete($this->object->getId());
179 $auto->setSearchFields(array('login','firstname','lastname','email'));
180 $auto->setResultField('login');
181 $auto->enableFieldSearchableCheck(true);
182 $auto->setMoreLinkAvailable(true);
183
184 //$auto->setLimit(ilUserAutoComplete::MAX_ENTRIES);
185 $term = '';
186 if ($this->dic->http()->wrapper()->query()->has('term')) {
187 $term = $this->dic->http()->wrapper()->query()->retrieve('term', $this->dic->refinery()->kindlyTo()->string());
188 } elseif ($this->dic->http()->wrapper()->post()->has('term')) {
189 $term = $this->dic->http()->wrapper()->post()->retrieve('term', $this->dic->refinery()->kindlyTo()->string());
190 }
191 if ($term != '') {
192 $result = json_decode($auto->getList(ilUtil::stripSlashes($term)), true);
193 echo json_encode($result);
194 }
195 exit();
196 }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
exit
Definition: login.php:28

References exit, ILIAS\Repository\object(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ buildTableGUI()

ilLTIConsumerGradeSynchronizationGUI::buildTableGUI ( )
protected

Definition at line 233 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

234 {
235 $isMultiActorReport = $this->access->hasOutcomesAccess();
236
237 $table = new ilLTIConsumerGradeSynchronizationTableGUI($this, 'show', $isMultiActorReport);
238 $table->setFilterCommand('applyFilter');
239 $table->setResetCommand('resetFilter');
240 return $table;
241 }

References ILIAS\Repository\access().

Referenced by applyFilterCmd(), resetFilterCmd(), and showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilLTIConsumerGradeSynchronizationGUI::executeCommand ( )
Exceptions
ilLtiConsumerException

Definition at line 50 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

50 : bool
51 {
52 global $DIC; /* @var \ILIAS\DI\Container $DIC */
53
54 if (!$this->object->getProvider()->isGradeSynchronization()) {
55 throw new ilLtiConsumerException('access denied!');
56 }
57
58 switch ($DIC->ctrl()->getNextClass($this)) {
59 default:
60 $cmd = $DIC->ctrl()->getCmd('show') . 'Cmd';
61 $this->{$cmd}();
62 }
63 return true;
64 }

References $DIC, and ILIAS\Repository\object().

+ Here is the call graph for this function:

◆ initActivityProgressFilter()

ilLTIConsumerGradeSynchronizationGUI::initActivityProgressFilter ( ilLTIConsumerGradeSynchronizationFilter  $filter,
ilLTIConsumerGradeSynchronizationTableGUI  $table 
)
protected

Definition at line 141 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

141 : void
142 {
143 $activityProgress = urldecode($table->getFilterItemByPostVar('activity_progress')->getValue());
144
145 $allowed = ['Initialized', 'Started', 'InProgress', 'Submitted', 'Completed'];
146
147 if (in_array($activityProgress, $allowed)) {
148 $filter->setActivityProgress($activityProgress);
149 }
150 }
getFilterItemByPostVar(string $a_post_var)

References ilTable2GUI\getFilterItemByPostVar(), and ilLTIConsumerGradeSynchronizationFilter\setActivityProgress().

Referenced by showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initActorFilter()

ilLTIConsumerGradeSynchronizationGUI::initActorFilter ( ilLTIConsumerGradeSynchronizationFilter  $filter,
ilLTIConsumerGradeSynchronizationTableGUI  $table 
)
protected

Definition at line 118 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

118 : void
119 {
120 global $DIC; /* @var \ILIAS\DI\Container $DIC */
121
122 if ($this->object->getProvider()->isGradeSynchronization()) {
123 if ($table->getFilterItemByPostVar('actor') !== null) {
124 $actor = $table->getFilterItemByPostVar('actor')->getValue();
125 } else {
126 $actor = $DIC->user()->getLogin();
127 }
128
129 if (strlen($actor)) {
130 $usrId = ilObjUser::getUserIdByLogin($actor);
131
132 if ($usrId) {
133 $filter->setActor($usrId);
134 }
135 }
136 } else {
137 $filter->setActor($DIC->user()->getId());
138 }
139 }
static getUserIdByLogin(string $a_login)

References $DIC, ilTable2GUI\getFilterItemByPostVar(), ilObjUser\getUserIdByLogin(), ILIAS\Repository\object(), and ilLTIConsumerGradeSynchronizationFilter\setActor().

Referenced by showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initGradingProgressFilter()

ilLTIConsumerGradeSynchronizationGUI::initGradingProgressFilter ( ilLTIConsumerGradeSynchronizationFilter  $filter,
ilLTIConsumerGradeSynchronizationTableGUI  $table 
)
protected

Definition at line 152 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

152 : void
153 {
154 $gradingProgress = urldecode($table->getFilterItemByPostVar('grading_progress')->getValue());
155
156 $allowed = ['FullyGraded', 'Pending', 'PendingManual', 'Failed', 'NotReady'];
157
158 if (in_array($gradingProgress, $allowed)) {
159 $filter->setGradingProgress($gradingProgress);
160 }
161 }

References ilTable2GUI\getFilterItemByPostVar(), and ilLTIConsumerGradeSynchronizationFilter\setGradingProgress().

Referenced by showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initLimitingAndOrdering()

ilLTIConsumerGradeSynchronizationGUI::initLimitingAndOrdering ( ilLTIConsumerGradeSynchronizationFilter  $filter,
ilLTIConsumerGradeSynchronizationTableGUI  $table 
)
protected

Definition at line 107 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

References ilTable2GUI\determineOffsetAndOrder(), ilTable2GUI\getLimit(), ilTable2GUI\getOffset(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), ilLTIConsumerGradeSynchronizationFilter\setLimit(), ilLTIConsumerGradeSynchronizationFilter\setOffset(), ilLTIConsumerGradeSynchronizationFilter\setOrderDirection(), and ilLTIConsumerGradeSynchronizationFilter\setOrderField().

Referenced by showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initPeriodFilter()

ilLTIConsumerGradeSynchronizationGUI::initPeriodFilter ( ilLTIConsumerGradeSynchronizationFilter  $filter,
ilLTIConsumerGradeSynchronizationTableGUI  $table 
)
protected

Definition at line 163 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

163 : void
164 {
165 $period = $table->getFilterItemByPostVar('period');
166
167 if ($period->getStart()) {
168 $filter->setStartDate($period->getStart());
169 }
170
171 if ($period->getEnd()) {
172 $filter->setEndDate($period->getEnd());
173 }
174 }

References ilTable2GUI\getFilterItemByPostVar(), ilLTIConsumerGradeSynchronizationFilter\setEndDate(), and ilLTIConsumerGradeSynchronizationFilter\setStartDate().

Referenced by showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initTableData()

ilLTIConsumerGradeSynchronizationGUI::initTableData ( ilLTIConsumerGradeSynchronizationTableGUI  $table,
ilLTIConsumerGradeSynchronizationFilter  $filter 
)
protected

Definition at line 198 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

198 : void
199 {
200 $cUser = null;
201 if (!$this->access->hasOutcomesAccess()) {
202 $cUser = $this->dic->user()->getId();
203 } else {
204 $cUser = $filter->getActor();
205 }
207 $this->object->getId(),
208 $cUser,
209 $filter->getActivityProgress(),
210 $filter->getGradingProgress(),
211 $filter->getStartDate(),
212 $filter->getEndDate()
213 );
214
215 for ((int) $i = 0; $i < count($data); $i++) {
216 $usr = new ilObjUser((int) $data[$i]['usr_id']);
217 $data[$i]['actor'] = $usr->getFullname();
218 }
219 $sortNum = false;
220 if ($table->getOrderField() == 'score_given') {
221 $sortNum = true;
222 }
223
225 $data,
226 $table->getOrderField(),
227 $table->getOrderDirection(),
228 $sortNum
229 );
230 $table->setData($data);
231 }
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
static getGradesForObject(int $objId, ?int $usrID=null, ?string $activity_progress=null, ?string $grading_progress=null, ?ilDateTime $startDate=null, ?ilDateTime $endDate=null)
User class.
setData(array $a_data)
Set table data.
$i
Definition: metadata.php:41

References $data, $i, ILIAS\Repository\access(), ilLTIConsumerGradeSynchronizationFilter\getActivityProgress(), ilLTIConsumerGradeSynchronizationFilter\getActor(), ilLTIConsumerGradeSynchronizationFilter\getEndDate(), ilLTIConsumerGradeSynchronization\getGradesForObject(), ilLTIConsumerGradeSynchronizationFilter\getGradingProgress(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), ilLTIConsumerGradeSynchronizationFilter\getStartDate(), ILIAS\Repository\object(), ilTable2GUI\setData(), and ilArrayUtil\sortArray().

Referenced by showCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetFilterCmd()

ilLTIConsumerGradeSynchronizationGUI::resetFilterCmd ( )
protected

Definition at line 66 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

66 : void
67 {
68 $table = $this->buildTableGUI();
69 $table->resetFilter();
70 $table->resetOffset();
71 $this->showCmd();
72 }

References buildTableGUI(), and showCmd().

+ Here is the call graph for this function:

◆ showCmd()

ilLTIConsumerGradeSynchronizationGUI::showCmd ( )
protected

Definition at line 82 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

82 : void
83 {
84 global $DIC; /* @var \ILIAS\DI\Container $DIC */
85
86 $table = $this->buildTableGUI();
87
88 try {
89 $statementsFilter = new ilLTIConsumerGradeSynchronizationFilter();
90
91 $this->initLimitingAndOrdering($statementsFilter, $table);
92 $this->initActorFilter($statementsFilter, $table);
93 $this->initActivityProgressFilter($statementsFilter, $table);
94 $this->initGradingProgressFilter($statementsFilter, $table);
95 $this->initPeriodFilter($statementsFilter, $table);
96 $this->initTableData($table, $statementsFilter);
97 } catch (Exception $e) {
98 $this->main_tpl->setOnScreenMessage('failure', $e->getMessage());
99 $table->setData(array());
100 $table->setMaxCount(0);
101 $table->resetOffset();
102 }
103
104 $DIC->ui()->mainTemplate()->setContent($table->getHTML());
105 }
initActivityProgressFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initLimitingAndOrdering(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initGradingProgressFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initPeriodFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initTableData(ilLTIConsumerGradeSynchronizationTableGUI $table, ilLTIConsumerGradeSynchronizationFilter $filter)
initActorFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)

References $DIC, Vendor\Package\$e, buildTableGUI(), initActivityProgressFilter(), initActorFilter(), initGradingProgressFilter(), initLimitingAndOrdering(), initPeriodFilter(), and initTableData().

Referenced by applyFilterCmd(), and resetFilterCmd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $access

ilLTIConsumerAccess ilLTIConsumerGradeSynchronizationGUI::$access
protected

◆ $dic

ILIAS DI Container ilLTIConsumerGradeSynchronizationGUI::$dic
private

◆ $main_tpl

ilGlobalTemplateInterface ilLTIConsumerGradeSynchronizationGUI::$main_tpl
private

◆ $object

ilObjLTIConsumer ilLTIConsumerGradeSynchronizationGUI::$object
protected

Definition at line 31 of file class.ilLTIConsumerGradeSynchronizationGUI.php.

Referenced by __construct().


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