Changeset 8165
- Timestamp:
- 03/30/08 23:28:06 (8 months ago)
- Files:
-
- plugins/sfExtjsThemePlugin/data/generator/sfPropelAdmin/extjs/template/templates/_related_ajax_editors.php (modified) (3 diffs)
- plugins/sfExtjsThemePlugin/data/generator/sfPropelAdmin/extjs/template/templates/_related_ajax_renderer.php (modified) (1 diff)
- plugins/sfExtjsThemePlugin/data/generator/sfPropelAdmin/extjs/template/templates/_related_ajax_stores.php (modified) (5 diffs)
- plugins/sfExtjsThemePlugin/lib/sfExtjsPropelAdminGenerator.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/sfExtjsThemePlugin/data/generator/sfPropelAdmin/extjs/template/templates/_related_ajax_editors.php
r7013 r8165 8 8 $groupedColumns = $this->getColumnsGrouped($for); 9 9 10 foreach ($groupedColumns['related'] as $relatedTableName => $relatedClass): 10 foreach ($groupedColumns['related'] as $foreignKey => $relatedTable): 11 12 $pk = $relatedTable['pk']->getName(); 13 $relatedTableName = $relatedTable['pk']->getTable()->getName(); 11 14 12 15 $relatedModuleName = $this->getParameterValue('related_tables.'.$relatedTableName.'.module_name') ? $this->getParameterValue('related_tables.'.$relatedTableName.'.module_name') : $relatedTableName; 13 16 14 $pk = $relatedClass['pk']->getName();15 17 ?> 16 18 var show<?php echo sfInflector::camelize($relatedTableName) ?>Editor = function(fields, caller) { … … 23 25 } 24 26 <?php 25 $columns = $this->getListUniqueColumns($related Class, true);27 $columns = $this->getListUniqueColumns($relatedTable, true); 26 28 foreach ($columns as $column): 27 29 $columnName = str_replace('/', $tableDelimiter, $column->key); … … 59 61 } 60 62 <?php 61 $columns = $this->getListUniqueColumns($related Class, true);63 $columns = $this->getListUniqueColumns($relatedTable, true); 62 64 foreach ($columns as $column): 63 65 $columnName = str_replace('/', $tableDelimiter, $column->key); plugins/sfExtjsThemePlugin/data/generator/sfPropelAdmin/extjs/template/templates/_related_ajax_renderer.php
r8135 r8165 43 43 <?php 44 44 //set name (from column of related JSON-DataStore) 45 $foreign_ds = sfInflector::underscore($re ndererName)."_ds";45 $foreign_ds = sfInflector::underscore($relatedTableFKs)."_ds"; 46 46 47 47 $name = $column->getName(); plugins/sfExtjsThemePlugin/data/generator/sfPropelAdmin/extjs/template/templates/_related_ajax_stores.php
r8135 r8165 70 70 71 71 $pk = $relatedTable['pk']->getName(); 72 $listDisplay = array(array('name' => $foreignKey.$tableDelimiter.$pk, 'mapping' => $foreignKey.$tableDelimiter.$pk)); 72 $table = $relatedTable['pk']->getTableName(); 73 $listDisplay = array(array('name' => $table.$tableDelimiter.$pk, 'mapping' => $table.$tableDelimiter.$pk)); 73 74 74 75 // iterate through all requested columns (in all categories) of related class … … 76 77 foreach ($columnsFromGroup as $column): 77 78 $checkName = $foreignKey.'/'.$column->key; 79 $relatedName = $table.'/'.$column->key; 78 80 79 81 if (in_array($checkName, $hs)) continue; //TODO: check if key is correct … … 86 88 <?php 87 89 // add colum to array 88 $listDisplay[] = array('name' => str_replace('/', $tableDelimiter, $ checkName), 'mapping' => str_replace('/', $tableDelimiter, $checkName));90 $listDisplay[] = array('name' => str_replace('/', $tableDelimiter, $relatedName), 'mapping' => str_replace('/', $tableDelimiter, $relatedName)); 89 91 ?> 90 92 <?php … … 98 100 <?php endforeach; ?> 99 101 <?php 100 $options = array('id' => $ foreignKey.$tableDelimiter.$pk,102 $options = array('id' => $table.$tableDelimiter.$pk, 101 103 'root' => 'data', 102 104 'totalProperty' => 'totalCount'); 103 105 $jsReader = extjs_data_reader($options, $listDisplay, 'json'); 104 106 105 $url = $controller->genUrl($this->getModuleName().'/jsonAutocomplete?class='.$ foreignKey);107 $url = $controller->genUrl($this->getModuleName().'/jsonAutocomplete?class='.$table); //$foreignKey 106 108 107 109 // TODO: sortInfo is set to last field!!! this should probably be defined/definable in the generator.yml file! … … 110 112 'baseParams' => array('filter' => 'query'), 111 113 'reader' => $jsReader, 112 'sortInfo' => array('field' => str_replace('/', $tableDelimiter, $ checkName), 'direction' => 'asc'),114 'sortInfo' => array('field' => str_replace('/', $tableDelimiter, $relatedName), 'direction' => 'asc'), 113 115 'remoteSort' => 'true'); 114 116 $jsDataStore = extjs_data_store($options); plugins/sfExtjsThemePlugin/lib/sfExtjsPropelAdminGenerator.php
r8135 r8165 350 350 351 351 $relatedPeerName = $relatedTablePhpName.'Peer'; 352 353 // Add invisible foreign-key 354 // there is no check added here to see if the hidden column is already added to this columns-hierarchy, 355 $column = $this->getAdminColumnForField($foreignKey, $flags, $peerName); 356 $column->visible = false; 357 //add an option to show this field should be visible 358 $column->key = $foreignKey; 359 $column->index = $i++; 360 $groupedColumns['columns'][$group][] = $column; 352 361 353 362 // check if related groupedColumn hierarchy is already defined, if not define it. 354 363 $related = array('pk' => null, 'columns' => array(), 'related' => array()); 355 if (isset($groupedColumns['related'][$foreignKey])) //$relatedTableName356 { 357 $related = $groupedColumns['related'][$foreignKey]; //$relatedTableName364 if (isset($groupedColumns['related'][$foreignKey])) 365 { 366 $related = $groupedColumns['related'][$foreignKey]; 358 367 } 359 368 … … 831 840 $relatedFKColumn = $this->getColumnForFieldName($fields[0]); 832 841 842 $tableName = $column->getTableName(); 843 833 844 //valuefield is the primary-key for the related table 834 $valueFieldCombo = $ relatedTableFKs.$tableDelimiter.$relatedTablePK->getName(); //sfInflector::underscore($relatedTableName).$tableDelimiter.sfInflector::underscore($relatedTable['pk']->getPhpName());835 $displayFieldCombo = str_replace('/', $tableDelimiter, $column->key); //$column->getTableName().$tableDelimiter.$column->getName();845 $valueFieldCombo = $tableName.$tableDelimiter.$relatedTablePK->getName(); //sfInflector::underscore($relatedTableName).$tableDelimiter.sfInflector::underscore($relatedTable['pk']->getPhpName()); 846 $displayFieldCombo = $tableName.$tableDelimiter.$column->getName(); //str_replace('/', $tableDelimiter, $column->key); //$column->getTableName().$tableDelimiter.$column->getName(); 836 847 837 848 $store = sfInflector::underscore($relatedTableFKs).'_ds';