verbb / vizy

A flexible visual editor for Craft CMS
Other
44 stars 8 forks source link

Error when restricting access specific volumes #152

Closed alexroper closed 2 years ago

alexroper commented 2 years ago

Description

When updating the "Available Volumes" setting in Vizy restrict access specific volumes, I get this error:

Cannot assign array to property verbb\vizy\fields\VizyField::$availableVolumes of type string

Doesn't seem to matter if this is a new field or an already existing field being edited.

TypeError: Cannot assign array to property verbb\vizy\fields\VizyField::$availableVolumes of type string in /app/vendor/yiisoft/yii2/BaseYii.php:558
Stack trace:
#0 /app/vendor/yiisoft/yii2/base/BaseObject.php(107): yii\BaseYii::configure(Object(verbb\vizy\fields\VizyField), Array)
#1 /app/vendor/craftcms/cms/src/base/Model.php(78): yii\base\BaseObject->__construct(Array)
#2 /app/vendor/verbb/vizy/src/fields/VizyField.php(100): craft\base\Model->__construct(Array)
#3 [internal function]: verbb\vizy\fields\VizyField->__construct(Array)
#4 /app/vendor/yiisoft/yii2/di/Container.php(419): ReflectionClass->newInstanceArgs(Array)
#5 /app/vendor/yiisoft/yii2/di/Container.php(170): yii\di\Container->build('verbb\\vizy\\fiel...', Array, Array)
#6 /app/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get('verbb\\vizy\\fiel...', Array, Array)
#7 /app/vendor/craftcms/cms/src/Craft.php(53): yii\BaseYii::createObject(Array, Array)
#8 /app/vendor/craftcms/cms/src/helpers/Component.php(121): Craft::createObject(Array)
#9 /app/vendor/craftcms/cms/src/services/Fields.php(593): craft\helpers\Component::createComponent(Array, 'craft\\base\\Fiel...')
#10 /app/vendor/craftcms/cms/src/controllers/FieldsController.php(326): craft\services\Fields->createField(Array)
#11 [internal function]: craft\controllers\FieldsController->actionSaveField()
#12 /app/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#13 /app/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(Array)
#14 /app/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction('save-field', Array)
#15 /app/vendor/craftcms/cms/src/web/Application.php(301): yii\base\Module->runAction('fields/save-fie...', Array)
#16 /app/vendor/craftcms/cms/src/web/Application.php(625): craft\web\Application->runAction('fields/save-fie...', Array)
#17 /app/vendor/craftcms/cms/src/web/Application.php(280): craft\web\Application->_processActionRequest(Object(craft\web\Request))
#18 /app/vendor/yiisoft/yii2/base/Application.php(384): craft\web\Application->handleRequest(Object(craft\web\Request))
#19 /app/web/index.php(12): yii\base\Application->run()
#20 {main}

Steps to reproduce

  1. Create a new Vizy field.
  2. Under the "Available Volumes" setting, select any volume other than the "all" setting.
  3. Save the field.

Additional info

Additional context

engram-design commented 2 years ago

Fixed for the next release. To get this fix early, change your verbb/vizy requirement in composer.json to:

"require": {
  "verbb/vizy": "dev-craft-4 as 2.0.2",
  "...": "..."
}

Then run composer update.

engram-design commented 2 years ago

Fixed in 2.0.3