protected function renderContent()
 {
     $this->renderScripts();
     $mappingFormLayoutUtil = ImportToMappingFormLayoutUtil::make(get_class($this->model), new ZurmoActiveForm(), $this->model->importRulesType, $this->mappableAttributeIndicesAndDerivedTypes);
     $mappingDataMetadataWithRenderedElements = $this->resolveMappingDataMetadataWithRenderedElements($mappingFormLayoutUtil, $this->mappingDataMetadata, $this->model->firstRowIsHeaderRow, $this->model->importRulesType, $this->model->id);
     return MappingFormLayoutUtil::renderMappingDataMetadataWithRenderedElements($mappingDataMetadataWithRenderedElements);
 }
 /**
  * @param MappingFormLayoutUtil $mappingFormLayoutUtil
  * @param array $mappingDataMetadata
  * @param $firstRowIsHeaderRow
  * @param $importRulesType
  * @param int $id
  * @return array
  */
 protected function resolveMappingDataMetadataWithRenderedElements($mappingFormLayoutUtil, $mappingDataMetadata, $firstRowIsHeaderRow, $importRulesType, $id)
 {
     assert('$mappingFormLayoutUtil instanceof MappingFormLayoutUtil');
     assert('is_int($id)');
     $ajaxOnChangeUrl = Yii::app()->createUrl("import/default/mappingRulesEdit", array('id' => $id));
     $metadata = array();
     $metadata['rows'] = array();
     foreach ($mappingDataMetadata as $columnName => $mappingDataRow) {
         assert('$mappingDataRow["type"] == "extraColumn"');
         $row = array();
         $row['cells'] = array();
         $row['cells'][] = $mappingFormLayoutUtil->renderAttributeAndColumnTypeContent($columnName, $mappingDataRow['type'], $mappingDataRow['attributeIndexOrDerivedType'], $ajaxOnChangeUrl);
         if ($firstRowIsHeaderRow) {
             $row['cells'][] = ' ';
         }
         $row['cells'][] = ' ';
         //Never any sample data for the extraColumn
         $row['cells'][] = $mappingFormLayoutUtil->renderMappingRulesElements($columnName, $mappingDataRow['attributeIndexOrDerivedType'], $importRulesType, $mappingDataRow['type'], array());
         $metadata['rows'][] = $row;
     }
     return $metadata;
 }
 public function testGetSampleColumnHeaderId()
 {
     $content = MappingFormLayoutUtil::getSampleColumnHeaderId();
     $this->assertEquals($content, 'sample-column-header');
 }
 protected function getFormLayoutHeaderColumnsContent()
 {
     $headerColumns = array();
     $headerColumns[] = Zurmo::t('ImportModule', 'Zurmo Field', LabelUtil::getTranslationParamsForAllModules());
     if ($this->model->firstRowIsHeaderRow) {
         $headerColumns[] = Zurmo::t('ImportModule', 'Header');
     }
     $headerColumns[] = '<div id="' . MappingFormLayoutUtil::getSampleColumnHeaderId() . '">' . $this->sampleColumnPagerContent . '</div>';
     $headerColumns[] = Zurmo::t('ImportModule', 'Rules');
     return $headerColumns;
 }
 protected function getFormLayoutHeaderColumnsContent()
 {
     $headerColumns = array();
     $headerColumns[] = Zurmo::t('ImportModule', 'Zurmo Field', LabelUtil::getTranslationParamsForAllModules());
     if ($this->model->firstRowIsHeaderRow) {
         $headerColumns[] = Zurmo::t('Core', 'Header');
     }
     $headerColumns[] = ZurmoHtml::tag('div', array('id' => MappingFormLayoutUtil::getSampleColumnHeaderId(), 'class' => 'clearfix'), $this->sampleColumnPagerContent);
     return $headerColumns;
 }
 public function actionSampleRow($id)
 {
     $import = Import::getById((int) $_GET['id']);
     $importWizardForm = ImportWizardUtil::makeFormByImport($import);
     $dataProvider = $this->makeDataProviderForSampleRow($import, (bool) $importWizardForm->firstRowIsHeaderRow);
     $data = $dataProvider->getData();
     $renderedContentData = array();
     $pagerUrl = Yii::app()->createUrl('import/default/sampleRow', array('id' => $import->id));
     $headerContent = ImportDataProviderPagerUtil::renderPagerAndHeaderTextContent($dataProvider, $pagerUrl);
     $renderedContentData[MappingFormLayoutUtil::getSampleColumnHeaderId()] = $headerContent;
     foreach ($data as $sampleColumnData) {
         foreach ($sampleColumnData as $columnName => $value) {
             if (!in_array($columnName, ImportDatabaseUtil::getReservedColumnNames())) {
                 $renderedContentData[MappingFormLayoutUtil::resolveSampleColumnIdByColumnName($columnName)] = MappingFormLayoutUtil::renderChoppedStringContent($value);
             }
         }
     }
     echo CJSON::encode($renderedContentData);
     Yii::app()->end(0, false);
 }