mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-09-25 10:57:41 +02:00
SyncPropertyForm: provide property modifier...
...target columns in the drop-down fixes #13977
This commit is contained in:
parent
b450280f44
commit
8a8c0882df
@ -19,6 +19,9 @@ class SyncPropertyForm extends DirectorObjectForm
|
|||||||
/** @var ImportSource */
|
/** @var ImportSource */
|
||||||
private $importSource;
|
private $importSource;
|
||||||
|
|
||||||
|
/** @var ImportSourceHook */
|
||||||
|
private $importSourceHook;
|
||||||
|
|
||||||
private $dummyObject;
|
private $dummyObject;
|
||||||
|
|
||||||
const EXPRESSION = '__EXPRESSION__';
|
const EXPRESSION = '__EXPRESSION__';
|
||||||
@ -247,10 +250,16 @@ class SyncPropertyForm extends DirectorObjectForm
|
|||||||
protected function listSourceColumns()
|
protected function listSourceColumns()
|
||||||
{
|
{
|
||||||
$columns = array();
|
$columns = array();
|
||||||
foreach ($this->getImportSource()->listColumns() as $col) {
|
$source = $this->getImportSource();
|
||||||
|
$hook = $this->getImportSourceHook();
|
||||||
|
foreach ($hook->listColumns() as $col) {
|
||||||
$columns['${' . $col . '}'] = $col;
|
$columns['${' . $col . '}'] = $col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($source->listModifierTargetProperties() as $property) {
|
||||||
|
$columns['${' . $property . '}'] = $property;
|
||||||
|
}
|
||||||
|
|
||||||
return $columns;
|
return $columns;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -308,20 +317,37 @@ class SyncPropertyForm extends DirectorObjectForm
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ImportSource
|
||||||
|
*/
|
||||||
protected function getImportSource()
|
protected function getImportSource()
|
||||||
{
|
{
|
||||||
if ($this->importSource === null) {
|
if ($this->importSource === null) {
|
||||||
if ($this->hasObject()) {
|
if ($this->hasObject()) {
|
||||||
$src = ImportSource::load($this->object->get('source_id'), $this->db);
|
$this->importSource = ImportSource::load($this->object->get('source_id'), $this->db);
|
||||||
} else {
|
} else {
|
||||||
$src = ImportSource::load($this->getSentValue('source_id'), $this->db);
|
$this->importSource = ImportSource::load($this->getSentValue('source_id'), $this->db);
|
||||||
}
|
}
|
||||||
$this->importSource = ImportSourceHook::loadByName($src->get('source_name'), $this->db);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->importSource;
|
return $this->importSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ImportSourceHook
|
||||||
|
*/
|
||||||
|
protected function getImportSourceHook()
|
||||||
|
{
|
||||||
|
if ($this->importSourceHook === null) {
|
||||||
|
$this->importSourceHook = ImportSourceHook::loadByName(
|
||||||
|
$this->getImportSource()->get('source_name'),
|
||||||
|
$this->db
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->importSourceHook;
|
||||||
|
}
|
||||||
|
|
||||||
public function onSuccess()
|
public function onSuccess()
|
||||||
{
|
{
|
||||||
$object = $this->getObject();
|
$object = $this->getObject();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user