ProductOptionComplController.php 2.28 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\ProductOptionCompl;
    use artbox\catalog\models\ProductOptionComplSearch;
    use artbox\catalog\models\ProductOptionGroupCompl;
    use yii\filters\AccessControl;
    
    /**
     * ProductOptionComplController implements the CRUD actions for ProductOptionCompl model.
     */
    class ProductOptionComplController extends OptionController
    {
        /**
         * @inheritdoc
         */
        public function getViewPath()
        {
            return '@artbox/catalog/views/product-option-compl';
        }
        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 ProductOptionCompl();
        }
        /**
         * Create exact search model
         *
         * @return OptionSearch
         */
        protected function createSearchModel(): OptionSearch
        {
            return new ProductOptionComplSearch();
        }
        /**
         * Find exact model
         *
         * @param $id
         *
         * @return Option|null
         */
        protected function findOne($id)
        {
            return ProductOptionCompl::findOne($id);
        }
        /**
         * Find exact group
         *
         * @param $id
         *
         * @return OptionGroup|null
         */
        protected function findOneGroup($id)
        {
            return ProductOptionGroupCompl::findOne($id);
        }
    }