Use the repository manager.

This commit is contained in:
David Molineus
2017-10-19 08:45:39 +02:00
parent ce9de6ded3
commit ef7b493b2d
13 changed files with 292 additions and 33 deletions

View File

@@ -15,6 +15,7 @@ namespace Netzmacht\Contao\Leaflet\Mapper\Layer;
use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper;
use Netzmacht\Contao\Leaflet\Mapper\Request;
use Netzmacht\Contao\Leaflet\Model\LayerModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
use Netzmacht\LeafletPHP\Definition;
/**
@@ -31,6 +32,25 @@ class ReferenceLayerMapper extends AbstractLayerMapper
*/
protected static $type = 'reference';
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* Construct.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
parent::__construct();
}
/**
* {@inheritdoc}
*/
@@ -41,7 +61,8 @@ class ReferenceLayerMapper extends AbstractLayerMapper
$elementId = null,
Definition $parent = null
) {
$reference = LayerModel::findByPk($model->reference);
$repository = $this->repositoryManager->getRepository(LayerModel::class);
$reference = $repository->findByPk($model->reference);
if (!$reference || !$reference->active) {
return null;