ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilAssQuestionFeedbackEditingGUI Class Reference
+ Collaboration diagram for ilAssQuestionFeedbackEditingGUI:

Public Member Functions

 __construct (assQuestionGUI $questionGUI, ilCtrl $ctrl, ilAccessHandler $access, ilTemplate $tpl, ilTabsGUI $tabs, ilLanguage $lng)
 Constructor. More...
 
 executeCommand ()
 Execute Command. More...
 
 showSyncCmd ()
 

Data Fields

const CMD_SHOW = 'showFeedbackForm'
 command constants More...
 
const CMD_SAVE = 'saveFeedbackForm'
 
const CMD_SHOW_SYNC = 'showSync'
 

Protected Attributes

 $questionGUI = null
 
 $questionOBJ = null
 
 $feedbackOBJ = null
 
 $ctrl = null
 
 $access = null
 
 $tpl = null
 
 $tabs = null
 
 $lng = null
 

Private Member Functions

 showFeedbackFormCmd ()
 command for rendering the feedback editing form to the content area More...
 
 saveFeedbackFormCmd ()
 command for processing the submitted feedback editing form. More...
 
 buildForm ()
 builds the feedback editing form object More...
 
 isFormSaveable ()
 returns the fact wether the feedback editing form has to be saveable or not. More...
 
 isSyncAfterSaveRequired ()
 returns the fact wether the presentation of the question sync2pool form is required after saving the form or not More...
 

Detailed Description

Definition at line 15 of file class.ilAssQuestionFeedbackEditingGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilAssQuestionFeedbackEditingGUI::__construct ( assQuestionGUI  $questionGUI,
ilCtrl  $ctrl,
ilAccessHandler  $access,
ilTemplate  $tpl,
ilTabsGUI  $tabs,
ilLanguage  $lng 
)

Constructor.

@access public

Parameters
assQuestionGUI$questionGUI
ilCtrl$ctrl
ilAccessHandler$access
ilTemplate$tpl
ilTabsGUI$tabs
ilLanguage$lng

Definition at line 99 of file class.ilAssQuestionFeedbackEditingGUI.php.

References $access, $ctrl, $lng, $questionGUI, $tabs, and $tpl.

Member Function Documentation

◆ buildForm()

ilAssQuestionFeedbackEditingGUI::buildForm ( )
private

builds the feedback editing form object

@access private

Returns
\ilPropertyFormGUI

Definition at line 208 of file class.ilAssQuestionFeedbackEditingGUI.php.

209 {
210 require_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
211
212 $form = new ilPropertyFormGUI();
213 $form->setFormAction($this->ctrl->getFormAction($this));
214 $form->setTitle($this->lng->txt('feedback_generic'));
215 $form->setTableWidth("100%");
216 $form->setId("feedback");
217
218 $this->feedbackOBJ->completeGenericFormProperties($form);
219 $this->feedbackOBJ->completeSpecificFormProperties($form);
220
221 if( $this->isFormSaveable() )
222 {
223 $form->addCommandButton(self::CMD_SAVE, $this->lng->txt("save"));
224 }
225
226 return $form;
227 }
isFormSaveable()
returns the fact wether the feedback editing form has to be saveable or not.
This class represents a property form user interface.

References isFormSaveable().

Referenced by saveFeedbackFormCmd(), and showFeedbackFormCmd().

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

◆ executeCommand()

ilAssQuestionFeedbackEditingGUI::executeCommand ( )

Execute Command.

@access public

Definition at line 117 of file class.ilAssQuestionFeedbackEditingGUI.php.

118 {
119 global $DIC; /* @var \ILIAS\DI\Container $DIC */
120 $ilHelp = $DIC['ilHelp']; /* @var ilHelpGUI $ilHelp */
121 $ilHelp->setScreenIdComponent('qpl');
122
123 $cmd = $this->ctrl->getCmd(self::CMD_SHOW);
124 $nextClass = $this->ctrl->getNextClass($this);
125
126 $this->ctrl->setParameter($this, 'q_id', (int)$_GET['q_id']);
127
128 switch($nextClass)
129 {
130 case 'ilassspecfeedbackpagegui':
131 case 'ilassgenfeedbackpagegui':
132 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackPageObjectCommandForwarder.php';
133 $forwarder = new ilAssQuestionFeedbackPageObjectCommandForwarder($this->questionOBJ, $this->ctrl, $this->tabs, $this->lng);
134 $forwarder->forward();
135 break;
136
137 default:
138
139 $cmd .= 'Cmd';
140 $this->$cmd();
141 break;
142 }
143 }
$_GET["client_id"]
$cmd
Definition: sahs_server.php:35
global $DIC

References $_GET, $cmd, and $DIC.

◆ isFormSaveable()

ilAssQuestionFeedbackEditingGUI::isFormSaveable ( )
private

returns the fact wether the feedback editing form has to be saveable or not.

this depends on the additional content editing mode and the current question type, as well as on fact wether the question is writable for current user or not, or the fact if we are in self assessment mode or not

@access private

Returns
boolean $isFormSaveable

Definition at line 238 of file class.ilAssQuestionFeedbackEditingGUI.php.

239 {
240 $isAdditionalContentEditingModePageObject = $this->questionOBJ->isAdditionalContentEditingModePageObject();
241 $isSaveableInPageObjectEditingMode = $this->feedbackOBJ->isSaveableInPageObjectEditingMode();
242
243 if( $isAdditionalContentEditingModePageObject && !$isSaveableInPageObjectEditingMode )
244 {
245 return false;
246 }
247
248 $hasWriteAccess = $this->access->checkAccess("write", "", $_GET['ref_id']);
249 $isSelfAssessmentEditingMode = $this->questionOBJ->getSelfAssessmentEditingMode();
250
251 return $hasWriteAccess || $isSelfAssessmentEditingMode;
252 }

References $_GET.

Referenced by buildForm().

+ Here is the caller graph for this function:

◆ isSyncAfterSaveRequired()

ilAssQuestionFeedbackEditingGUI::isSyncAfterSaveRequired ( )
private

returns the fact wether the presentation of the question sync2pool form is required after saving the form or not

@access private

Returns
boolean $isSyncAfterSaveRequired

Definition at line 261 of file class.ilAssQuestionFeedbackEditingGUI.php.

262 {
263 global $ilUser;
264
265 if( !$_GET["calling_test"] )
266 {
267 return false;
268 }
269
270 if( $this->questionOBJ->isAdditionalContentEditingModePageObject() )
271 {
272 return false;
273 }
274
275 if( !$this->questionOBJ->_questionExistsInPool($this->questionOBJ->original_id) )
276 {
277 return false;
278 }
279
280 if( !assQuestion::_isWriteable($this->questionOBJ->original_id, $ilUser->getId()) )
281 {
282 return false;
283 }
284
285 return true;
286 }
static _isWriteable($question_id, $user_id)
Returns true if the question is writeable by a certain user.
$ilUser
Definition: imgupload.php:18

References $_GET, $ilUser, and assQuestion\_isWriteable().

Referenced by saveFeedbackFormCmd().

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

◆ saveFeedbackFormCmd()

ilAssQuestionFeedbackEditingGUI::saveFeedbackFormCmd ( )
private

command for processing the submitted feedback editing form.

first it validates the submitted values.

  • in case of successfull validation it saves the properties and redirects to either form presentation again, or to the syncWithOriginal form for question
  • in case of failed validation it renders the form with post values and error info to the content area again

@access private

Definition at line 174 of file class.ilAssQuestionFeedbackEditingGUI.php.

175 {
176 $form = $this->buildForm();
177
178 $form->setValuesByPost();
179
180 if( $form->checkInput() )
181 {
182 $this->feedbackOBJ->saveGenericFormProperties($form);
183 $this->feedbackOBJ->saveSpecificFormProperties($form);
184
185 $this->questionOBJ->cleanupMediaObjectUsage();
186 $this->questionOBJ->updateTimestamp();
187
188 if( $this->isSyncAfterSaveRequired() )
189 {
190 ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
191 $this->ctrl->redirect($this, self::CMD_SHOW_SYNC);
192 }
193
194 ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
195 $this->ctrl->redirect($this, self::CMD_SHOW);
196 }
197
198 ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
199 $this->tpl->setContent( $this->ctrl->getHTML($form) );
200 }
isSyncAfterSaveRequired()
returns the fact wether the presentation of the question sync2pool form is required after saving the ...
buildForm()
builds the feedback editing form object
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References buildForm(), isSyncAfterSaveRequired(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ showFeedbackFormCmd()

ilAssQuestionFeedbackEditingGUI::showFeedbackFormCmd ( )
private

command for rendering the feedback editing form to the content area

@access private

Definition at line 150 of file class.ilAssQuestionFeedbackEditingGUI.php.

151 {
152 require_once "./Services/Style/Content/classes/class.ilObjStyleSheet.php";
153 $this->tpl->setCurrentBlock("ContentStyle");
154 $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath(0));
155 $this->tpl->parseCurrentBlock();
156
157 $form = $this->buildForm();
158
159 $this->feedbackOBJ->initGenericFormProperties($form);
160 $this->feedbackOBJ->initSpecificFormProperties($form);
161
162 $this->tpl->setContent( $this->ctrl->getHTML($form) );
163 }
static getContentStylePath($a_style_id)
get content style path

References buildForm(), and ilObjStyleSheet\getContentStylePath().

+ Here is the call graph for this function:

◆ showSyncCmd()

ilAssQuestionFeedbackEditingGUI::showSyncCmd ( )

Definition at line 288 of file class.ilAssQuestionFeedbackEditingGUI.php.

289 {
290 $this->questionGUI->originalSyncForm('','true');
291 }

Field Documentation

◆ $access

ilAssQuestionFeedbackEditingGUI::$access = null
protected

Definition at line 62 of file class.ilAssQuestionFeedbackEditingGUI.php.

Referenced by __construct().

◆ $ctrl

ilAssQuestionFeedbackEditingGUI::$ctrl = null
protected

Definition at line 54 of file class.ilAssQuestionFeedbackEditingGUI.php.

Referenced by __construct().

◆ $feedbackOBJ

ilAssQuestionFeedbackEditingGUI::$feedbackOBJ = null
protected

Definition at line 46 of file class.ilAssQuestionFeedbackEditingGUI.php.

◆ $lng

ilAssQuestionFeedbackEditingGUI::$lng = null
protected

Definition at line 86 of file class.ilAssQuestionFeedbackEditingGUI.php.

Referenced by __construct().

◆ $questionGUI

ilAssQuestionFeedbackEditingGUI::$questionGUI = null
protected

Definition at line 30 of file class.ilAssQuestionFeedbackEditingGUI.php.

Referenced by __construct().

◆ $questionOBJ

ilAssQuestionFeedbackEditingGUI::$questionOBJ = null
protected

Definition at line 38 of file class.ilAssQuestionFeedbackEditingGUI.php.

◆ $tabs

ilAssQuestionFeedbackEditingGUI::$tabs = null
protected

Definition at line 78 of file class.ilAssQuestionFeedbackEditingGUI.php.

Referenced by __construct().

◆ $tpl

ilAssQuestionFeedbackEditingGUI::$tpl = null
protected

Definition at line 70 of file class.ilAssQuestionFeedbackEditingGUI.php.

Referenced by __construct().

◆ CMD_SAVE

const ilAssQuestionFeedbackEditingGUI::CMD_SAVE = 'saveFeedbackForm'

Definition at line 21 of file class.ilAssQuestionFeedbackEditingGUI.php.

◆ CMD_SHOW

◆ CMD_SHOW_SYNC

const ilAssQuestionFeedbackEditingGUI::CMD_SHOW_SYNC = 'showSync'

Definition at line 22 of file class.ilAssQuestionFeedbackEditingGUI.php.


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