diff --git a/src/MetaModels/DcGeneral/Events/Table/Attribute/Subscriber.php b/src/MetaModels/DcGeneral/Events/Table/Attribute/Subscriber.php index bf585d126..eae0ba373 100644 --- a/src/MetaModels/DcGeneral/Events/Table/Attribute/Subscriber.php +++ b/src/MetaModels/DcGeneral/Events/Table/Attribute/Subscriber.php @@ -3,7 +3,7 @@ /** * This file is part of MetaModels/core. * - * (c) 2012-2016 The MetaModels team. + * (c) 2012-2017 The MetaModels team. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. @@ -16,7 +16,7 @@ * @author Martin Treml * @author Christopher Boelter * @author Sven Baumann - * @copyright 2012-2016 The MetaModels team. + * @copyright 2012-2017 The MetaModels team. * @license https://github.com/MetaModels/core/blob/master/LICENSE LGPL-3.0 * @filesource */ @@ -140,7 +140,10 @@ private function getMetaModelByModelPid($model) */ public function modelToLabel(ModelToLabelEvent $event) { - if (($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_attribute')) { + $dataDefinitionName = $event->getEnvironment()->getDataDefinition()->getName(); + if (($dataDefinitionName !== 'tl_metamodel_attribute') + || ($dataDefinitionName !== $event->getModel()->getProviderName()) + ) { return; } @@ -214,7 +217,10 @@ public function modelToLabel(ModelToLabelEvent $event) public function getOptions(GetPropertyOptionsEvent $event) { if (($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_attribute') - || ($event->getPropertyName() !== 'type')) { + || ($event->getPropertyName() !== 'type') + || ($event->getEnvironment()->getInputProvider()->getParameter('act') === 'select' + && !$event->getModel()->getId()) + ) { return; } @@ -255,6 +261,10 @@ public function getOptions(GetPropertyOptionsEvent $event) */ protected function decodeValue(DecodePropertyValueForWidgetEvent $event) { + if ($event->getEnvironment()->getDataDefinition()->getName() !== $event->getModel()->getProviderName()) { + return; + } + $metaModel = $this->getMetaModelByModelPid($event->getModel()); $values = Helper::decodeLangArray($event->getValue(), $metaModel); diff --git a/src/MetaModels/DcGeneral/Events/Table/FilterSetting/FilterSettingTypeRenderer.php b/src/MetaModels/DcGeneral/Events/Table/FilterSetting/FilterSettingTypeRenderer.php index b926dfb9d..4024bc5a1 100644 --- a/src/MetaModels/DcGeneral/Events/Table/FilterSetting/FilterSettingTypeRenderer.php +++ b/src/MetaModels/DcGeneral/Events/Table/FilterSetting/FilterSettingTypeRenderer.php @@ -3,7 +3,7 @@ /** * This file is part of MetaModels/core. * - * (c) 2012-2015 The MetaModels team. + * (c) 2012-2017 The MetaModels team. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. @@ -13,7 +13,8 @@ * @package MetaModels * @subpackage Core * @author Christian Schiffler - * @copyright 2012-2015 The MetaModels team. + * @author Sven Baumann + * @copyright 2012-2017 The MetaModels team. * @license https://github.com/MetaModels/core/blob/master/LICENSE LGPL-3.0 * @filesource */ @@ -272,15 +273,15 @@ protected function getLabelParameters(EnvironmentInterface $environment, ModelIn */ public function modelToLabel(ModelToLabelEvent $event) { - if (($event->getEnvironment()->getDataDefinition()->getName() - !== 'tl_metamodel_filtersetting') + $model = $event->getModel(); + + if (($model->getProviderName() !== 'tl_metamodel_filtersetting') || in_array($event->getModel()->getProperty('type'), $this->getTypes()) ) { return; } $environment = $event->getEnvironment(); - $model = $event->getModel(); $event ->setLabel($this->getLabelPattern($environment, $model)) diff --git a/src/MetaModels/DcGeneral/Events/Table/RenderSetting/Subscriber.php b/src/MetaModels/DcGeneral/Events/Table/RenderSetting/Subscriber.php index 020cbeda1..c556fa7e7 100644 --- a/src/MetaModels/DcGeneral/Events/Table/RenderSetting/Subscriber.php +++ b/src/MetaModels/DcGeneral/Events/Table/RenderSetting/Subscriber.php @@ -3,7 +3,7 @@ /** * This file is part of MetaModels/core. * - * (c) 2012-2015 The MetaModels team. + * (c) 2012-2017 The MetaModels team. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. @@ -13,7 +13,8 @@ * @package MetaModels * @subpackage Core * @author Christian Schiffler - * @copyright 2012-2015 The MetaModels team. + * @author Sven Baumann + * @copyright 2012-2017 The MetaModels team. * @license https://github.com/MetaModels/core/blob/master/LICENSE LGPL-3.0 * @filesource */ @@ -37,8 +38,8 @@ use ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\PropertyInterface; use ContaoCommunityAlliance\DcGeneral\Factory\Event\BuildDataDefinitionEvent; use MetaModels\BackendIntegration\TemplateList; -use MetaModels\DcGeneral\DataDefinition\Palette\Condition\Property\RenderSettingAttributeIs as PropertyCondition; use MetaModels\DcGeneral\DataDefinition\Palette\Condition\Palette\RenderSettingAttributeIs as PaletteCondition; +use MetaModels\DcGeneral\DataDefinition\Palette\Condition\Property\RenderSettingAttributeIs as PropertyCondition; use MetaModels\DcGeneral\Events\BaseSubscriber; use MetaModels\DcGeneral\Events\BreadCrumb\BreadCrumbRenderSetting; use MetaModels\IMetaModel; @@ -128,11 +129,12 @@ protected function getMetaModel($model) */ public function modelToLabel(ModelToLabelEvent $event) { - if (($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_rendersetting')) { + $model = $event->getModel(); + + if (($model->getProviderName() !== 'tl_metamodel_rendersetting')) { return; } - $model = $event->getModel(); $attribute = $this->getMetaModel($model)->getAttributeById($model->getProperty('attr_id')); if ($attribute) {