ILIAS  trunk Revision v11.0_alpha-1861-g09f3d197f78
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

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

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: shib_login.php:22
+ Here is the call graph for this function:

Member Function Documentation

◆ applyFilterCmd()

ilLTIConsumerGradeSynchronizationGUI::applyFilterCmd ( )
protected

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

References buildTableGUI(), and showCmd().

74  : void
75  {
76  $table = $this->buildTableGUI();
77  $table->writeFilterToSession();
78  $table->resetOffset();
79  $this->showCmd();
80  }
+ Here is the call graph for this function:

◆ asyncUserAutocompleteCmd()

ilLTIConsumerGradeSynchronizationGUI::asyncUserAutocompleteCmd ( )

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

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

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="")
setSearchFields(array $a_fields)
Set searchable fields.
exit
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ buildTableGUI()

ilLTIConsumerGradeSynchronizationGUI::buildTableGUI ( )
protected

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

References ILIAS\Repository\access().

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

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  }
+ 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.

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

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  }
global $DIC
Definition: shib_login.php:22
+ 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.

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

Referenced by showCmd().

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)
+ 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.

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

Referenced by showCmd().

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  }
getFilterItemByPostVar(string $a_post_var)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static getUserIdByLogin(string $a_login)
global $DIC
Definition: shib_login.php:22
+ 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.

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

Referenced by showCmd().

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  }
getFilterItemByPostVar(string $a_post_var)
+ 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.

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

Referenced by showCmd().

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  }
getFilterItemByPostVar(string $a_post_var)
+ 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.

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

Referenced by showCmd().

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  }
setData(array $a_data)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static getGradesForObject(int $objId, ?int $usrID=null, ?string $activity_progress=null, ?string $grading_progress=null, ?ilDateTime $startDate=null, ?ilDateTime $endDate=null)
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
+ 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.

References buildTableGUI(), and showCmd().

66  : void
67  {
68  $table = $this->buildTableGUI();
69  $table->resetFilter();
70  $table->resetOffset();
71  $this->showCmd();
72  }
+ Here is the call graph for this function:

◆ showCmd()

ilLTIConsumerGradeSynchronizationGUI::showCmd ( )
protected

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

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

Referenced by applyFilterCmd(), and resetFilterCmd().

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  }
initTableData(ilLTIConsumerGradeSynchronizationTableGUI $table, ilLTIConsumerGradeSynchronizationFilter $filter)
initLimitingAndOrdering(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initPeriodFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initActorFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
global $DIC
Definition: shib_login.php:22
initActivityProgressFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
initGradingProgressFilter(ilLTIConsumerGradeSynchronizationFilter $filter, ilLTIConsumerGradeSynchronizationTableGUI $table)
+ 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: