Exemplo n.º 1
0
 /**
  * Get data.
  *
  * @return [[@doctodo return_type:getData]] [[@doctodo return_description:getData]]
  */
 public function getData()
 {
     if (is_null($this->_currentData)) {
         $this->_currentDataRaw = $this->dataProvider->getData();
         $this->_currentData = [];
         $itemNumber = $this->dataProvider->pagination->offset;
         $row = 0;
         foreach ($this->_currentDataRaw as $r) {
             $p = ['itemNumber' => $itemNumber, 'id' => $r->primaryKey, 'values' => []];
             foreach ($this->columns as $key => $c) {
                 $p['values'][$key] = $c->getDataValue($row, $r, false);
             }
             $p['acl'] = [];
             if ($this->owner->instanceSettings['whoAmI'] === 'parent' and isset($r->childObject) and $r->childObject->hasBehavior('Access')) {
                 $p['acl'] = $r->childObject->aclSummary();
             } elseif ($this->owner->instanceSettings['whoAmI'] === 'child' and isset($r->parentObject) and $r->parentObject->hasBehavior('Access')) {
                 $p['acl'] = $r->parentObject->aclSummary();
             } elseif ($r->hasBehavior('Access')) {
                 $p['acl'] = $r->aclSummary();
             }
             $this->_currentData['item-' . $itemNumber] = $p;
             $row++;
             $itemNumber++;
         }
     }
     return $this->_currentData;
 }