Example #1
0
 /**
  * Get the record of the totalized values
  * 
  * @return array
  */
 public function getTotals()
 {
     if (empty($this->totalizeColumns)) {
         return false;
     }
     $record = array();
     $columns = $this->store->getColumnModel()->getColumns();
     foreach ($columns as $column) {
         $record[$column->getDataIndex()] = isset($this->totals[$column->getDataIndex()]) ? \GO\Base\Util\Number::localize($this->totals[$column->getDataIndex()]) : '';
     }
     return $record;
 }
Example #2
0
 /**
  * Set the title for the store. This will be outputted in the JSON response.
  * 
  * Should be called in \GO\Base\Controller\AbstractModelController::beforeStoreStatement
  * 
  * @param \GO\Base\Data\AbstractStore $store
  * @param string $titleAttribute 
  */
 public function setStoreTitle($titleAttribute = 'name')
 {
     //		$titleArray = array();
     //		$models = $this->_getSelectedModels();
     //		foreach ($models as $model)
     //			$titleArray[] = $model->$titleAttribute;
     //
     //		if(count($titleArray))
     //			$this->_store->setTitle(implode(', ',$titleArray));
     $count = count($this->selectedIds);
     if ($count == 1) {
         $model = \GO::getModel($this->_modelName)->findByPk($this->selectedIds[0]);
         if (isset($model->name)) {
             $this->_store->setTitle($model->name);
         }
     } else {
         $this->_store->setTitle($count . ' ' . \GO::t('multiselectSelected'));
     }
 }
 /**
  * 
  * @param \GO\Base\Data\AbstractStore $store
  * @param type $params
  */
 protected function renderExport(\GO\Base\Data\AbstractStore $store, $params)
 {
     //define('EXPORTING', true);
     //used by custom fields to format diffently
     if (\GO::modules()->customfields) {
         \GO\Customfields\Model\AbstractCustomFieldsRecord::$formatForExport = true;
     }
     $checkboxSettings = array('export_include_headers' => !empty($params['includeHeaders']), 'export_human_headers' => empty($params['humanHeaders']), 'export_include_hidden' => !empty($params['includeHidden']));
     $settings = \GO\Base\Export\Settings::load();
     $settings->saveFromArray($checkboxSettings);
     if (!empty($params['exportOrientation']) && $params['exportOrientation'] == "H") {
         $orientation = 'L';
     } else {
         $orientation = 'P';
     }
     // Set the orientation to Portrait
     if (!empty($params['columns'])) {
         $columnModel = $store->getColumnModel();
         $includeColumns = explode(',', $params['columns']);
         foreach ($includeColumns as $incColumn) {
             if (!$columnModel->getColumn($incColumn)) {
                 $columnModel->addColumn(new \GO\Base\Data\Column($incColumn, $incColumn));
             }
         }
         $columnModel->sort($includeColumns);
         foreach ($columnModel->getColumns() as $c) {
             if (!in_array($c->getDataIndex(), $includeColumns)) {
                 $columnModel->removeColumn($c->getDataIndex());
             }
         }
     }
     if (!empty($params['type'])) {
         //temporary fix for compatibility with AbsractModelController
         $params['type'] = str_replace('GO\\Base\\Export', 'GO\\Base\\Storeexport', $params['type']);
         $export = new $params['type']($store, $settings->export_include_headers, $settings->export_human_headers, $params['documentTitle'], $orientation);
     } else {
         $export = new \GO\Base\Storeexport\ExportCSV($store, $settings->export_include_headers, $settings->export_human_headers, $params['documentTitle'], $orientation);
     }
     // The default Export is the CSV outputter.
     if (isset($params['extraLines'])) {
         $export->addLines($params['extraLines']);
     }
     $export->output();
 }