nameFrom -> valueFrom (lists)

This commit is contained in:
Sam Georges 2014-09-17 19:08:49 +10:00
parent fdb90d3882
commit 028339ec02
2 changed files with 11 additions and 9 deletions

View File

@ -44,7 +44,7 @@ class ListColumn
* @var string Model attribute to use for the display value, this will * @var string Model attribute to use for the display value, this will
* override any $sqlSelect definition. * override any $sqlSelect definition.
*/ */
public $nameFrom; public $valueFrom;
/** /**
* @var string Custom SQL for selecting this record display value, * @var string Custom SQL for selecting this record display value,
@ -110,12 +110,14 @@ class ListColumn
if (isset($config['searchable'])) $this->searchable = $config['searchable']; if (isset($config['searchable'])) $this->searchable = $config['searchable'];
if (isset($config['sortable'])) $this->sortable = $config['sortable']; if (isset($config['sortable'])) $this->sortable = $config['sortable'];
if (isset($config['invisible'])) $this->invisible = $config['invisible']; if (isset($config['invisible'])) $this->invisible = $config['invisible'];
if (isset($config['nameFrom'])) $this->nameFrom = $config['nameFrom']; if (isset($config['valueFrom'])) $this->valueFrom = $config['valueFrom'];
if (isset($config['select'])) $this->sqlSelect = $config['select']; if (isset($config['select'])) $this->sqlSelect = $config['select'];
if (isset($config['relation'])) $this->relation = $config['relation']; if (isset($config['relation'])) $this->relation = $config['relation'];
if (isset($config['format'])) $this->format = $config['format']; if (isset($config['format'])) $this->format = $config['format'];
if (isset($config['path'])) $this->path = $config['path']; if (isset($config['path'])) $this->path = $config['path'];
/* @todo Remove line if year >= 2015 */ if (isset($config['nameFrom'])) $this->valueFrom = $config['nameFrom'];
return $config; return $config;
} }

View File

@ -292,7 +292,7 @@ class Lists extends WidgetBase
$table = $this->model->makeRelation($column->relation)->getTable(); $table = $this->model->makeRelation($column->relation)->getTable();
$columnName = isset($column->sqlSelect) $columnName = isset($column->sqlSelect)
? DbDongle::raw($this->parseTableName($column->sqlSelect, $table)) ? DbDongle::raw($this->parseTableName($column->sqlSelect, $table))
: $table . '.' . $column->nameFrom; : $table . '.' . $column->valueFrom;
$relationSearchable[$column->relation][] = $columnName; $relationSearchable[$column->relation][] = $columnName;
} }
@ -314,10 +314,10 @@ class Lists extends WidgetBase
*/ */
foreach ($this->getVisibleListColumns() as $column) { foreach ($this->getVisibleListColumns() as $column) {
if (!$this->isColumnRelated($column) || (!isset($column->sqlSelect) && !isset($column->nameFrom))) if (!$this->isColumnRelated($column) || (!isset($column->sqlSelect) && !isset($column->valueFrom)))
continue; continue;
if (isset($column->nameFrom)) if (isset($column->valueFrom))
$withs[] = $column->relation; $withs[] = $column->relation;
$joins[] = $column->relation; $joins[] = $column->relation;
@ -647,15 +647,15 @@ class Lists extends WidgetBase
/* /*
* Handle taking name from model attribute. * Handle taking name from model attribute.
*/ */
if ($column->nameFrom) { if ($column->valueFrom) {
if (!array_key_exists($columnName, $record->getRelations())) if (!array_key_exists($columnName, $record->getRelations()))
$value = null; $value = null;
elseif ($this->isColumnRelated($column, true)) elseif ($this->isColumnRelated($column, true))
$value = implode(', ', $record->{$columnName}->lists($column->nameFrom)); $value = implode(', ', $record->{$columnName}->lists($column->valueFrom));
elseif ($this->isColumnRelated($column)) elseif ($this->isColumnRelated($column))
$value = $record->{$columnName}->{$column->nameFrom}; $value = $record->{$columnName}->{$column->valueFrom};
else else
$value = $record->{$column->nameFrom}; $value = $record->{$column->valueFrom};
} }
/* /*
* Otherwise, if the column is a relation, it will be a custom select, * Otherwise, if the column is a relation, it will be a custom select,