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]); }
<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');
] ]); ?> <?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)