Exemplo n.º 1
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $galleryId = Param::get('gallery_id')->asInteger(true, 'Недопустимое значение номера галереи.');
     /** @var Gallery $oGallery */
     $oGallery = DataSource::factory(Gallery::cls(), $galleryId);
     if (!$oGallery) {
         SCMSNotificationLog::instance()->pushError("Запрошенная галерея с номером \"{$galleryId}\" не существует.");
         $this->Frame->render();
         return;
     }
     $pageNumber = Param::get('gallery-item-page', false)->asInteger(false);
     $itemsPerPage = Param::get('gallery-item-items-per-page', false)->asInteger(false);
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $dataGridView = new ViewDataGrid();
     $retriever = new GalleryRetriever();
     $dataGrid = new DataGrid('item', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->getMenu()->addElement(new Item('Добавить элемент', "/admin/modules/gallery/item/edit/?gallery_id={$oGallery->id}"));
     $dataGrid->addAction(new Action('id', "/admin/modules/gallery/item/edit/?gallery_id={$oGallery->id}", 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/gallery/item/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('item-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Название', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('item-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('item-filter-description', false)->asString(false)))->addHeader(new Header('path', 'Миниатюра', new ViewCondition(new ViewImageLink(true, ['class' => 'fancybox'], ['class' => 'img-rounded', 'style' => 'height: 20px;']), [['field' => 'path', 'value' => '/public/assets/images/system/no-image.svg', 'view' => new ViewStub('<span class="glyphicon glyphicon-picture"></span>')]]), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center']))->addHeader(new Header('position', 'Позиция', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('item-filter-position', false)->asString(false)));
     $galleries = $retriever->getGalleryItems($oGallery, $dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset());
     $dataSet = new ArrayDataSet($galleries);
     $dataGrid->addDataSet($dataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Галереи', '/modules/gallery'), new Breadcrumb("Элементы галереи \"{$oGallery->name}\"", '')];
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 2
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $pageNumber = Param::get('frames-page', false)->asInteger(false);
     $itemsPerPage = Param::get('frames-items-per-page', false)->asInteger(false);
     $dataGridView = new ViewDataGrid();
     $retriever = new FramesRetriever();
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $dataGrid = new DataGrid('frames', '/admin/modules/frames/', 'name', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->getMenu()->addElement(new Item('Создать новый фрейм', '/admin/modules/frames/edit/'));
     $dataGrid->addAction(new Action('name', '/admin/modules/frames/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('name', '/admin/modules/frames/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('name', 'Название', null, ['class' => 'text-center'], ['class' => 'text-left'], true, Param::get('frames-filter-id', false)->asString(false)));
     $arrayDataSet = new ArrayDataSet($retriever->getFrames());
     $dataGrid->addDataSet($arrayDataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Фреймы', '/modules/frames')];
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 3
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $parentCategoryId = Param::get('parent_pk', false);
     if ($parentCategoryId->exists()) {
         $parentCategoryId = $parentCategoryId->asInteger(true, 'Недопустимое значение параметра!');
         /** @var Category $oParentCategoryFact */
         $oParentCategoryFact = DataSource::factory(Category::cls(), $parentCategoryId);
         if ($oParentCategoryFact->isNew()) {
             SCMSNotificationLog::instance()->pushError('Недопустимое значение параметра!');
             $this->Frame->render();
             return;
         }
     } else {
         $parentCategoryId = 0;
     }
     $pageNumber = Param::get('catalogue-page', false)->asInteger(false);
     $itemsPerPage = Param::get('catalogue-items-per-page', false)->asInteger(false);
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $dataGridView = new ViewDataGrid();
     $retriever = new CatalogueRetriever();
     $dataGrid = new DataGrid('catalogue', '/admin/modules/catalogue/', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->addHiddenField('parent_pk', $parentCategoryId);
     $dataGrid->getMenu()->addElement(new DataGrid\Menu\Item('Добавить категорию', '/admin/modules/catalogue/edit/?is_category=1' . ($parentCategoryId ? "&parent_pk={$parentCategoryId}" : '')))->addElement(new DataGrid\Menu\Item('Добавить позицию', '/admin/modules/catalogue/edit/?is_category=0' . ($parentCategoryId ? "&parent_pk={$parentCategoryId}" : '')));
     $dataGrid->addAction(new Action('id', '/admin/modules/catalogue/edit/', 'edit', '', ['is_category'], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/catalogue/delete/', 'delete', '', ['is_category'], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-id', false)->asString(false)))->addHeader(new Header('is_category', 'Тип', new ViewChange('', [[0, '<span class="glyphicon glyphicon-file"></span>'], [1, '<span class="glyphicon glyphicon-folder-open"></span>']]), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-is_category', false)->asString(false)))->addHeader(new Header('name', 'Наименование', new ViewCondition(new ViewDefault(), [['field' => 'is_category', 'value' => 1, 'view' => new ViewLink('/admin/modules/catalogue/?parent_pk={label}', false, 'id')]]), ['class' => 'text-center'], [], true, Param::get('catalogue-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('catalogue-filter-description', false)->asString(false)))->addHeader(new Header('thumbnail', 'Миниатюра', new ViewCondition(new ViewImageLink(true, ['class' => 'fancybox'], ['class' => 'img-rounded', 'style' => 'height: 20px;']), [['field' => 'thumbnail', 'value' => '/public/assets/images/system/no-image.svg', 'view' => new ViewStub('<span class="glyphicon glyphicon-picture"></span>')]]), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center']))->addHeader(new Header('price', '<span class="glyphicon glyphicon-ruble" title="Цена"></span>', new ViewMoney('<span class="glyphicon glyphicon-ruble"></span>'), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('catalogue-filter-price', false)->asString(false)))->addHeader(new Header('count', '<span class="glyphicon glyphicon-inbox" title="Количество"></span>', null, ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('catalogue-filter-count', false)->asString(false)))->addHeader(new Header('priority', '<span class="glyphicon glyphicon-sort-by-attributes" title="Приоритет"></span>', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-priority', false)->asString(false)))->addHeader(new Header('active', '<span class="glyphicon glyphicon-asterisk" title="Активность"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-active', false)->asString(false)));
     $categoriesAndItems = $retriever->getCategoriesAndItems($parentCategoryId, $dataGrid->getFilterConditions('childs'), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset());
     $dataSet = new ArrayDataSet($categoriesAndItems);
     $dataGrid->addDataSet($dataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Каталог', '/modules/catalogue')];
     $breadcrumbsParentPK = $parentCategoryId;
     $categoryBreadcrumbs = [];
     while ($breadcrumbsParentPK) {
         /** @var Category $oParentCategory */
         $oParentCategory = DataSource::factory(Category::cls(), $breadcrumbsParentPK);
         $categoryBreadcrumbs[] = new Breadcrumb($oParentCategory->name, "?parent_pk={$oParentCategory->getPrimaryKey()}", true);
         $breadcrumbsParentPK = $oParentCategory->category_id;
     }
     $viewBreadcrumbs->Breadcrumbs = array_merge($viewBreadcrumbs->Breadcrumbs, array_reverse($categoryBreadcrumbs));
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 4
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $parentPK = (int) Param::get('parent_pk', false)->asInteger(false);
     $pageNumber = Param::get('structure-page', false)->asInteger(false);
     $itemsPerPage = Param::get('structure-items-per-page', false)->asInteger(false);
     $addItemUrl = '/admin/modules/structures/edit/';
     if ($parentPK != 0) {
         $addItemUrl .= "?parent_pk={$parentPK}";
     }
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $dataGridView = new ViewDataGrid();
     $retriever = new StructureRetriever();
     $dataGrid = new DataGrid('structure', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->addHiddenField('parent_pk', $parentPK);
     $dataGrid->getMenu()->addElement(new Item('Добавить элемент структуры', $addItemUrl));
     $dataGrid->addAction(new Action('id', '/admin/modules/structures/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/structures/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Наименование', new ViewLink('/admin/modules/structures/?parent_pk={label}', false, 'id'), ['class' => 'text-center', 'style' => 'width: 300px'], [], true, Param::get('structure-filter-name', false)->asString(false)))->addHeader(new Header('parent_structure_name', 'Родитель', null, ['class' => 'text-center', 'style' => 'width: 300px;'], [], true, Param::get('structure-filter-parent_structure_name', false)->asString(false), 'name', 'parent_structure'))->addHeader(new Header('path', 'Путь', null, ['class' => 'text-center', 'style' => 'width: 300px;'], [], true, Param::get('structure-filter-path', false)->asString(false)))->addHeader(new Header('module_alias', 'Модуль', null, ['class' => 'text-center', 'style' => 'width: 300px;'], [], true, Param::get('structure-filter-module_alias', false)->asString(false), 'alias', 'module'))->addHeader(new Header('anchor', 'Фрагмент', new ViewSwitch(), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('structure-filter-anchor', false)->asString(false)))->addHeader(new Header('frame', 'Фрейм', new ViewEmpty(), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('structure-filter-frame', false)->asString(false)))->addHeader(new Header('seo_title', 'SEO T', new ViewEmpty(), ['class' => 'text-center', 'style' => 'width: 80px;'], ['class' => 'text-center'], true, Param::get('structure-filter-seo_title', false)->asString(false)))->addHeader(new Header('seo_description', 'SEO D', new ViewEmpty(), ['class' => 'text-center', 'style' => 'width: 80px;'], ['class' => 'text-center'], true, Param::get('structure-filter-seo_description', false)->asString(false)))->addHeader(new Header('seo_keywords', 'SED K', new ViewEmpty(), ['class' => 'text-center', 'style' => 'width: 80px;'], ['class' => 'text-center'], true, Param::get('structure-filter-seo_keywords', false)->asString(false)))->addHeader(new Header('is_main', '<span class="glyphicon glyphicon-home" title="Главная"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-is_main', false)->asString(false)))->addHeader(new Header('priority', '<span class="glyphicon glyphicon-sort-by-attributes" title="Приоритет"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-priority', false)->asString(false)))->addHeader(new Header('active', '<span class="glyphicon glyphicon-asterisk" title="Активность"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-active', false)->asString(false)));
     $structures = $retriever->getStructures($parentPK, $dataGrid->getFilterConditions('structure'), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset());
     $dataSet = new ArrayDataSet($structures);
     $dataGrid->addDataSet($dataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Структура сайта', '/modules/structures')];
     $breadcrumbsParentPK = $parentPK;
     $structureBreadcrumbs = [];
     while ($breadcrumbsParentPK) {
         /** @var Structure $oParentStructure */
         $oParentStructure = DataSource::factory(Structure::cls(), $breadcrumbsParentPK);
         $structureBreadcrumbs[] = new Breadcrumb($oParentStructure->name, "?parent_pk={$oParentStructure->getPrimaryKey()}", true);
         $breadcrumbsParentPK = $oParentStructure->structure_id;
     }
     $viewBreadcrumbs->Breadcrumbs = array_merge($viewBreadcrumbs->Breadcrumbs, array_reverse($structureBreadcrumbs));
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 5
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $pageNumber = Param::get('page-page', false)->asInteger(false);
     $itemsPerPage = Param::get('page-items-per-page', false)->asInteger(false);
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $dataGridView = new ViewDataGrid();
     $retriever = new PagesRetriever();
     $dataGrid = new DataGrid('page', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->getMenu()->addElement(new Item('Добавить статическую страницу', '/admin/modules/pages/edit/'));
     $dataGrid->addAction(new Action('id', '/admin/modules/pages/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/pages/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('page-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Наименование', null, ['style' => 'width: 250px;'], [], true, Param::get('page-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', null, [], [], true, Param::get('page-filter-description', false)->asString(false)))->addHeader(new Header('active', '<span class="glyphicon glyphicon-asterisk" title="Активность"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('page-filter-active', false)->asString(false)));
     $structures = $retriever->getPages($dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset());
     $dataSet = new ArrayDataSet($structures);
     $dataGrid->addDataSet($dataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Статичные страницы', '/modules/pages')];
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 6
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $pageNumber = Param::get('gallery-page', false)->asInteger(false);
     $itemsPerPage = Param::get('gallery-items-per-page', false)->asInteger(false);
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $dataGridView = new ViewDataGrid();
     $retriever = new GalleryRetriever();
     $dataGrid = new DataGrid('gallery', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->getMenu()->addElement(new Item('Создать новую галерею', '/admin/modules/gallery/edit/'));
     $dataGrid->addAction(new Action('id', '/admin/modules/gallery/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/gallery/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('gallery-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Название', new ViewLink('/admin/modules/gallery/item/?gallery_id={label}', false, 'id'), ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('gallery-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('gallery-filter-description', false)->asString(false)));
     $galleries = $retriever->getGalleries($dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset());
     $dataSet = new ArrayDataSet($galleries);
     $dataGrid->addDataSet($dataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Галереи', '')];
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 7
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $this->needAuthenticate();
     $pageNumber = Param::get('employee-page', false)->asInteger(false);
     $itemsPerPage = Param::get('employee-items-per-page', false)->asInteger(false);
     $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory);
     $siteusersRetriever = new SiteusersRetriever();
     $dataGridView = new ViewDataGrid();
     $dataGrid = new DataGrid('siteuser', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']);
     $dataGrid->getMenu()->addElement(new Item('Добавить нового пользователя', '/admin/modules/siteusers/edit/'));
     $dataGrid->addAction(new Action('id', '/admin/modules/siteusers/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/siteusers/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true));
     $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('siteuser-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Имя', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('siteuser-filter-name', false)->asString(false)))->addHeader(new Header('surname', 'Фамилия', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('siteuser-filter-surname', false)->asString(false)))->addHeader(new Header('patronymic', 'Отчество', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('siteuser-filter-patronymic', false)->asString(false)))->addHeader(new Header('email', 'Email', new ViewEmail(), ['class' => 'text-center'], [], true, Param::get('siteuser-filter-email', false)->asString(false)))->addHeader(new Header('phone', 'Телефон', null, ['class' => 'text-center'], [], true, Param::get('siteuser-filter-phone', false)->asString(false)))->addHeader(new Header('mail_address', 'Адрес', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('siteuser-filter-mail_address', false)->asString(false)))->addHeader(new Header('postcode', 'Индекс', null, ['class' => 'text-center'], [], true, Param::get('siteuser-filter-postcode', false)->asString(false)))->addHeader(new Header('created', 'Создан', new ViewDateTime('d.m.Y h:i:s'), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('siteuser-filter-created', false)->asString(false)))->addHeader(new Header('updated', 'Изменён', new ViewDateTime('d.m.Y h:i:s'), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('siteuser-filter-updated', false)->asString(false)));
     $structures = $siteusersRetriever->getSiteusers($dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset());
     $dataSet = new ArrayDataSet($structures);
     $dataGrid->addDataSet($dataSet);
     $dataGridView->dataGrid = $dataGrid;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Пользователи', '/modules/siteusers')];
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $dataGridView);
     $this->Frame->render();
 }
Exemplo n.º 8
0
    public function currentRender()
    {
        $pagerView = new ViewPagination();
        $pagerView->formName = $this->dataGrid->getName();
        $menuView = new ViewMenu();
        $this->dataGrid->preparePager();
        $this->dataGrid->fillPager($pagerView);
        $menuView->menu = $this->dataGrid->getMenu();
        $menuView->render();
        ?>
        <hr/>
        <div class="table-responsive">
            <form action="<?php 
        echo $this->dataGrid->getAction();
        ?>
" class="form-inline s-datagrid" name="<?php 
        echo $this->dataGrid->getName();
        ?>
" id="<?php 
        echo $this->dataGrid->getName();
        ?>
">
                <fieldset>
                    <table class="table table-striped table-bordered table-hover">
                        <thead>
                        <tr>
                            <?php 
        if ($this->dataGrid->hasGroupActions()) {
            ?>
                                <th style="width: 30px;">
                                    <span class="glyphicon glyphicon-check"></span>
                                </th>
                            <?php 
        }
        ?>
                            <?php 
        foreach ($this->dataGrid->getHeaders() as $header) {
            ?>
                                <th <?php 
            echo $header->buildAttributes();
            ?>
>
                                    <?php 
            echo $header->getDisplayName();
            ?>
                                </th>
                            <?php 
        }
        ?>
                            <?php 
        if (sizeof($this->dataGrid->getActions()) > 0) {
            ?>
                            <th class="text-center">
                                <span class="glyphicon glyphicon-menu-hamburger" title="Действия"></span>
                            </th>
                            <?php 
        }
        ?>
                        </tr>
                        <?php 
        if ($this->dataGrid->hasFiltered()) {
            ?>
                            <tr class="warning top">
                                <?php 
            if ($this->dataGrid->hasGroupActions()) {
                ?>
                                    <th></th>
                                <?php 
            }
            ?>
                                <?php 
            foreach ($this->dataGrid->getHeaders() as $header) {
                ?>
                                    <th>
                                        <?php 
                if ($header->isFiltered()) {
                    ?>
                                        <input class="form-control input-sm" style="width: 100%;" name="<?php 
                    echo $this->dataGrid->getName();
                    ?>
-filter-<?php 
                    echo $header->getKey();
                    ?>
" id="<?php 
                    echo $this->dataGrid->getName();
                    ?>
-filter-<?php 
                    echo $header->getKey();
                    ?>
" type="text" placeholder="" value="<?php 
                    echo $header->getFilterValue();
                    ?>
">
                                        <?php 
                }
                ?>
                                    </th>
                                <?php 
            }
            ?>
                                <th style="width: 40px;">
                                    <button name="<?php 
            echo $this->dataGrid->getName();
            ?>
-filter" type="submit" class="btn btn-info btn-sm" formmethod="get" title="Фильтровать"><span class="glyphicon glyphicon-filter"></span></button>
                                </th>
                            </tr>
                        <?php 
        }
        ?>
                        </thead>
                        <tbody>
                        <?php 
        foreach ($this->dataGrid->getData() as $row) {
            ?>
                            <tr>
                                <?php 
            if ($this->dataGrid->hasGroupActions()) {
                ?>
                                    <th>
                                        <input name="<?php 
                echo $this->dataGrid->getName();
                ?>
-checked-row-flag-<?php 
                echo $row[$this->dataGrid->getKey()];
                ?>
" type="checkbox" />
                                    </th>
                                <?php 
            }
            ?>
                                <?php 
            foreach ($this->dataGrid->getHeaders() as $header) {
                ?>
                                    <td<?php 
                echo ' ' . $header->buildValueAttributes();
                ?>
><?php 
                echo $header->decorate($row[$header->getKey()], $row);
                ?>
</td>
                                <?php 
            }
            ?>
                                <td>
                                    <?php 
            foreach ($this->dataGrid->getActions() as $action) {
                ?>
                                        <?php 
                $actionURI = $action->getURI();
                foreach ($action->getAdditionalParameters() as $additionalParameter) {
                    $actionURI = CoreFunctions::addGETParamToURI($actionURI, $additionalParameter, $row[$additionalParameter]);
                }
                $actionURI = CoreFunctions::addGETParamToURI($actionURI, $action->getParamName(), $row[$this->dataGrid->getKey()]);
                ?>
                                        <a name="<?php 
                echo $this->dataGrid->getName();
                ?>
-action-<?php 
                echo $action->getName();
                ?>
-<?php 
                echo $this->dataGrid->getKey();
                ?>
" href="<?php 
                echo $actionURI;
                ?>
"><span <?php 
                echo $action->buildAttributes();
                ?>
 title="<?php 
                echo $action->getTitle();
                ?>
"><?php 
                echo $action->getDisplayName();
                ?>
</span></a>
                                    <?php 
            }
            ?>
                                </td>
                            </tr>
                        <?php 
        }
        ?>
                        </tbody>
                        <tfoot>
                        <?php 
        if ($this->dataGrid->hasGroupActions()) {
            ?>
                        <tr>
                            <td>
                                <input type="checkbox" id="<?php 
            echo $this->dataGrid->getName();
            ?>
-group-action-all-check" name="<?php 
            echo $this->dataGrid->getName();
            ?>
-group-action-all-check""/>
                            </td>
                            <td colspan="<?php 
            echo count($this->dataGrid->getHeaders()) + 1;
            ?>
">
                                Групповые операции:&nbsp;
                                <?php 
            foreach ($this->dataGrid->getGroupActions() as $action) {
                ?>
                                    <button name="<?php 
                echo $this->dataGrid->getName();
                ?>
-action-group-<?php 
                echo $action->getName();
                ?>
" id="<?php 
                echo $this->dataGrid->getName();
                ?>
-group-action-<?php 
                echo $action->getName();
                ?>
" formmethod="post" type="submit" formaction="<?php 
                echo $action->buildGroupURI();
                ?>
" title="<?php 
                echo $action->getTitle();
                ?>
">
                                        <span <?php 
                echo $action->buildAttributes();
                ?>
><?php 
                echo $action->getDisplayName();
                ?>
</span>
                                    </button>
                                <?php 
            }
            ?>
                            </td>
                        </tr>
                        <?php 
        }
        ?>
                        <tr>
                            <td colspan="<?php 
        echo count($this->dataGrid->getHeaders()) + ($this->dataGrid->hasGroupActions() ? 2 : 1);
        ?>
" class="text-left">
                                <div class="form-group">
                                    <select name="<?php 
        echo $this->dataGrid->getName();
        ?>
-items-per-page" id="<?php 
        echo $this->dataGrid->getName();
        ?>
-items-per-page" class="form-control input-sm" style="width: 80px;">
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 5 ? ' selected="selected"' : '';
        ?>
>5</option>
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 10 ? ' selected="selected"' : '';
        ?>
>10</option>
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 20 ? ' selected="selected"' : '';
        ?>
>20</option>
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 50 ? ' selected="selected"' : '';
        ?>
>50</option>
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 100 ? ' selected="selected"' : '';
        ?>
>100</option>
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 500 ? ' selected="selected"' : '';
        ?>
>500</option>
                                        <option<?php 
        echo $this->dataGrid->getItemsPerPage() == 1000 ? ' selected="selected"' : '';
        ?>
>1000</option>
                                    </select>
                                    <button name="<?php 
        echo $this->dataGrid->getName();
        ?>
-set-items-per-page-button" type="submit" class="btn btn-info btn-sm" title="Отобразить" formmethod="get"><span class="glyphicon glyphicon-ok"></span></button>
                                </div>
                            </td>
                        </tr>
                        </tfoot>
                    </table>
                </fieldset>
                <?php 
        foreach ($this->dataGrid->getHiddenFields() as $name => $value) {
            ?>
                    <input type="hidden" name="<?php 
            echo $name;
            ?>
" value="<?php 
            echo $value;
            ?>
"/>
                <?php 
        }
        ?>
            </form>
        </div>
        <?php 
        $pagerView->render();
    }