ProductOptionExclController.php 2.26 KB
<?php
    
    namespace artbox\catalog\controllers;

    use artbox\catalog\models\Option;
    use artbox\catalog\models\OptionGroup;
    use artbox\catalog\models\OptionSearch;
    use artbox\catalog\models\ProductOptionExcl;
    use artbox\catalog\models\ProductOptionExclSearch;
    use artbox\catalog\models\ProductOptionGroupExcl;
    use yii\filters\AccessControl;

    /**
     * ProductOptionExclController implements the CRUD actions for ProductOptionExcl model.
     */
    class ProductOptionExclController extends OptionController
    {
        /**
         * @inheritdoc
         */
        public function getViewPath()
        {
            return '@artbox/catalog/views/product-option-excl';
        }
        public function behaviors()
        {
            return [
                'access' => [
                    'class' => AccessControl::className(),
                    'rules' => [
                        [
                            'actions' => [
                                'login',
                                'error',
                            ],
                            'allow'   => true,
                        ],
                        [
                            'allow' => true,
                            'roles' => [ '@' ],
                        ],
                    ],
                ],
            ];
        }
        /**
         * Create exact model
         *
         * @return Option
         */
        protected function createModel(): Option
        {
            return new ProductOptionExcl();
        }
        /**
         * Create exact search model
         *
         * @return OptionSearch
         */
        protected function createSearchModel(): OptionSearch
        {
            return new ProductOptionExclSearch();
        }
        /**
         * Find exact model
         *
         * @param $id
         *
         * @return Option|null
         */
        protected function findOne($id)
        {
            return ProductOptionExcl::findOne($id);
        }
        /**
         * Find exact group
         *
         * @param $id
         *
         * @return OptionGroup|null
         */
        protected function findOneGroup($id)
        {
            return ProductOptionGroupExcl::findOne($id);
        }
    }