Open Monograph Press  3.3.0
ReviewFormElementResponseItemListbuilderHandler.inc.php
1 <?php
15 import('lib.pkp.controllers.listbuilder.settings.SetupListbuilderHandler');
16 
18 
21 
22 
23  //
24  // Overridden template methods
25  //
29  function initialize($request, $args = null) {
30  parent::initialize($request, $args);
31  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_MANAGER);
32  $this->_reviewFormElementId = (int) $request->getUserVar('reviewFormElementId');
33 
34  // Basic configuration
35  $this->setTitle('grid.reviewFormElement.responseItems');
36  $this->setSourceType(LISTBUILDER_SOURCE_TYPE_TEXT);
37  $this->setSaveType(LISTBUILDER_SAVE_TYPE_EXTERNAL);
38  $this->setSaveFieldName('possibleResponses');
39 
40  // Possible response column
41  $responseColumn = new MultilingualListbuilderGridColumn($this, 'possibleResponse', 'manager.reviewFormElements.possibleResponse', null, null, null, null, array('tabIndex' => 1));
42  import('lib.pkp.controllers.listbuilder.settings.reviewForms.ReviewFormElementResponseItemListbuilderGridCellProvider');
43  $responseColumn->setCellProvider(new ReviewFormElementResponseItemListbuilderGridCellProvider());
44  $this->addColumn($responseColumn);
45  }
46 
50  protected function loadData($request, $filter = null) {
51  $reviewFormElementDao = DAORegistry::getDAO('ReviewFormElementDAO'); /* @var $reviewFormElementDao ReviewFormElementDAO */
52  $reviewFormElement = $reviewFormElementDao->getById($this->_reviewFormElementId);
53  $formattedResponses = array();
54  if ($reviewFormElement) {
55  $possibleResponses = $reviewFormElement->getPossibleResponses(null);
56  foreach ((array) $possibleResponses as $locale => $values) {
57  foreach ($values as $rowId => $value) {
58  // WARNING: Listbuilders don't like 0 row IDs; offsetting
59  // by 1. This is reversed in the saving code.
60  $formattedResponses[$rowId+1][0]['content'][$locale] = $value;
61  }
62  }
63  }
64  return $formattedResponses;
65  }
66 
70  protected function getRowDataElement($request, &$rowId) {
71  // Fallback on the parent if an existing rowId is found
72  if ( !empty($rowId) ) {
73  return parent::getRowDataElement($request, $rowId);
74  }
75 
76  // If we're bouncing a row back upon a row edit
77  $rowData = $this->getNewRowId($request);
78  if ($rowData) {
79  return array(array('content' => $rowData['possibleResponse']));
80  }
81 
82  // If we're generating an empty row to edit
83  return array(array('content' => array()));
84  }
85 
89  function fetch($args, $request) {
90  $templateMgr = TemplateManager::getManager($request);
91  $templateMgr->assign('availableOptions', true);
92  return $this->fetchGrid($args, $request);
93  }
94 }
95 
96 
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
ReviewFormElementResponseItemListbuilderHandler\$_reviewFormElementId
$_reviewFormElementId
Definition: ReviewFormElementResponseItemListbuilderHandler.inc.php:23
ReviewFormElementResponseItemListbuilderGridCellProvider
Review form element response item listbuilder grid handler.
Definition: ReviewFormElementResponseItemListbuilderGridCellProvider.inc.php:17
ListbuilderHandler\getNewRowId
getNewRowId($request)
Definition: ListbuilderHandler.inc.php:153
GridHandler\fetchGrid
fetchGrid($args, $request)
Definition: GridHandler.inc.php:661
ReviewFormElementResponseItemListbuilderHandler\initialize
initialize($request, $args=null)
Definition: ReviewFormElementResponseItemListbuilderHandler.inc.php:32
ReviewFormElementResponseItemListbuilderHandler
Review form element response item listbuilder handler.
Definition: ReviewFormElementResponseItemListbuilderHandler.inc.php:17
GridHandler\addColumn
addColumn($column)
Definition: GridHandler.inc.php:335
ReviewFormElementResponseItemListbuilderHandler\getRowDataElement
getRowDataElement($request, &$rowId)
Definition: ReviewFormElementResponseItemListbuilderHandler.inc.php:73
GridHandler\setTitle
setTitle($title)
Definition: GridHandler.inc.php:215
ListbuilderHandler\setSourceType
setSourceType($sourceType)
Definition: ListbuilderHandler.inc.php:86
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
ReviewFormElementResponseItemListbuilderHandler\fetch
fetch($args, $request)
Definition: ReviewFormElementResponseItemListbuilderHandler.inc.php:92
MultilingualListbuilderGridColumn
Represents a multilingual text column within a listbuilder.
Definition: MultilingualListbuilderGridColumn.inc.php:19
ListbuilderHandler\setSaveType
setSaveType($saveType)
Definition: ListbuilderHandler.inc.php:102
SetupListbuilderHandler
Base class for setup listbuilders.
Definition: SetupListbuilderHandler.inc.php:18
ListbuilderHandler\setSaveFieldName
setSaveFieldName($fieldName)
Definition: ListbuilderHandler.inc.php:118
ReviewFormElementResponseItemListbuilderHandler\loadData
loadData($request, $filter=null)
Definition: ReviewFormElementResponseItemListbuilderHandler.inc.php:53