예제 #1
0
 public function run()
 {
     if ($this->parentModel->isNewRecord) {
         return "";
     }
     /**
      * @var $controller AdminModelEditorController
      */
     $controller = \Yii::$app->createController($this->controllerRoute)[0];
     $rerlation = [];
     foreach ($this->relation as $relationLink => $parent) {
         if ($this->parentModel->getAttribute($parent)) {
             $rerlation[$relationLink] = $this->parentModel->{$parent};
         } else {
             $rerlation[$relationLink] = $parent;
         }
     }
     $createUrl = \skeeks\cms\helpers\UrlHelper::construct($this->controllerRoute . '/' . $this->controllerCreateAction, $rerlation)->setSystemParam(\skeeks\cms\modules\admin\Module::SYSTEM_QUERY_EMPTY_LAYOUT, 'true')->setSystemParam(\skeeks\cms\modules\admin\Module::SYSTEM_QUERY_NO_ACTIONS_MODEL, 'true')->enableAdmin()->toString();
     $sortableUrl = \skeeks\cms\helpers\UrlHelper::construct($this->controllerRoute . '/' . $this->controllerSortableAction)->enableAdmin()->toString();
     $search = new \skeeks\cms\models\Search($controller->modelClassName);
     $search->getDataProvider()->query->where($rerlation);
     if (isset($this->sort['defaultOrder'])) {
         $search->getDataProvider()->sort->defaultOrder = $this->sort['defaultOrder'];
     }
     if ($this->dataProviderCallback && is_callable($this->dataProviderCallback)) {
         $function = $this->dataProviderCallback;
         $function($search->getDataProvider());
     }
     $pjaxId = "sx-table-" . md5($this->label . $this->hint . $this->parentModel->className());
     $gridOptions = ArrayHelper::merge(['pjaxOptions' => ['id' => $pjaxId], "sortableOptions" => ['backend' => $sortableUrl], 'dataProvider' => $search->getDataProvider(), 'layout' => "\n{beforeTable}\n{items}\n{afterTable}\n{pager}", 'columns' => [['class' => \skeeks\cms\modules\admin\grid\ActionColumn::className(), 'controller' => $controller, 'isOpenNewWindow' => true]]], (array) $this->gridViewOptions);
     return $this->render('related-models-grid', ['widget' => $this, 'createUrl' => $createUrl, 'controller' => $controller, 'gridOptions' => $gridOptions, 'pjaxId' => $pjaxId]);
 }
예제 #2
0
파일: users.php 프로젝트: Liv1020/cms
            <button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeUsers(); return false;">
                <i class="glyphicon glyphicon-remove"></i> <?php 
    echo \Yii::t('app', 'Reset settings for all users');
    ?>
            </button>
        <?php 
} else {
    ?>
            <small><?php 
    echo \Yii::t('app', 'Neither user does not have personal settings for this component');
    ?>
</small>
        <?php 
}
?>
    </div>

    <?php 
$search = new \skeeks\cms\models\Search(\skeeks\cms\models\User::className());
$search->search(\Yii::$app->request->get());
$search->getDataProvider()->query->andWhere(['active' => \skeeks\cms\components\Cms::BOOL_Y]);
?>
    <?php 
echo \skeeks\cms\modules\admin\widgets\GridViewHasSettings::widget(['dataProvider' => $search->getDataProvider(), 'filterModel' => $search->getLoadedModel(), 'columns' => [['class' => \yii\grid\DataColumn::className(), 'value' => function (\skeeks\cms\models\User $model, $key, $index, $this) {
    return \yii\helpers\Html::a('<i class="glyphicon glyphicon-cog"></i>', \skeeks\cms\helpers\UrlHelper::constructCurrent()->setRoute('cms/admin-component-settings/user')->set('user_id', $model->id)->toString(), ['class' => 'btn btn-default btn-xs', 'title' => \Yii::t('app', 'Customize')]);
}, 'format' => 'raw'], 'username', 'name', ['class' => \skeeks\cms\grid\ComponentSettingsColumn::className(), 'component' => $component]]]);
?>


<?php 
echo $this->render('_footer');
예제 #3
0
            ]
        ]);
    ?>
<?php 
echo $form->fieldSetEnd();
?>

<?php 
echo $form->fieldSet(\Yii::t('skeeks/cms', 'File storage'));
?>


        <?

            $search = new \skeeks\cms\models\Search(\skeeks\cms\models\StorageFile::className());
            $dataProvider = $search->getDataProvider();

            $dataProvider->sort->defaultOrder = [
                'created_at' => SORT_DESC
            ];

        ?>
        <?php 
echo \skeeks\cms\widgets\StorageFileManager::widget(['clientOptions' => ['completeUploadFile' => new \yii\web\JsExpression(<<<JS
                function(data)
                {
                    _.delay(function()
                    {
                        \$.pjax.reload('#sx-storage-files', {});
                    }, 500)