예제 #1
0
 /** @test */
 public function it_generates_url_to_item()
 {
     $menu = new MenuItem();
     $menu->url('/');
     $this->assertEquals('route-wildcard', $menu->getUrl());
     Admin::model('\\MenuItemTestModel');
     $menu = new MenuItem('\\MenuItemTestModel');
     $this->assertEquals('route-to-model', $menu->getUrl());
 }
예제 #2
0
 protected function registerPatterns()
 {
     Route::pattern('adminModelId', '[0-9]+');
     Route::pattern('adminModel', implode('|', Admin::modelAliases()));
     Route::bind('adminModel', function ($model) {
         $class = array_search($model, Admin::modelAliases());
         if ($class === false) {
             throw new ModelNotFoundException();
         }
         return Admin::model($class);
     });
     Route::pattern('adminWildcard', '.*');
 }
예제 #3
0
 public function render()
 {
     $params = ['items' => $this->repository()->tree(), 'reorderable' => $this->reorderable(), 'url' => Admin::model($this->class)->displayUrl(), 'value' => $this->value(), 'creatable' => !is_null($this->model()->create()), 'createUrl' => $this->model()->createUrl($this->parameters() + Request::all()), 'controls' => [Column::treeControl()]];
     return view(AdminTemplate::view('display.tree'), $params);
 }
예제 #4
0
파일: AdminTest.php 프로젝트: gr00d/admin
 /** @test */
 public function it_creates_model_item()
 {
     $model = Admin::model('\\Foo\\Bar\\Model');
     $this->assertInstanceOf('\\SleepingOwl\\Admin\\Models\\ModelItem', $model);
 }
예제 #5
0
파일: Type.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 5:39 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\Type')->title('Типы')->as('page-type')->with('typeLayout', 'listLayout')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('name', 'Название');
    Column::string('alias', 'Алиас');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::text('name', 'Название');
    FormItem::text('alias', 'Алиас');
    FormItem::checkbox('enable_in_menu', 'Разрешить добавлять в меню?');
    FormItem::checkbox('enable_own_layout', 'Разрешить собственный лэйаут для каждой страницы?');
    FormItem::checkbox('enable_own_sidebar', 'Разрешить собственный сайдбар для каждой страницы?');
    FormItem::select('type_layout_id', 'Лэйаут страницы')->list('\\Hlogeon\\Scms\\Models\\Layout');
    FormItem::select('list_layout_id', 'Лэйаут списка')->list('\\Hlogeon\\Scms\\Models\\Layout');
    FormItem::select('sidebar', 'Сайдбар списка')->list('\\Hlogeon\\Scms\\Models\\Sidebar');
    FormItem::select('item_sidebar', 'Сайдбар элемента')->list('\\Hlogeon\\Scms\\Models\\Sidebar');
    FormItem::checkbox('type_in_menu', 'Отображать тип в меню?');
});
예제 #6
0
파일: User.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 1:20 PM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\App\\User')->title('Пользователи')->as('user')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('name', 'Имя');
    Column::string('email', 'email');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::text('name', 'Имя');
    FormItem::text('email', 'Email');
    FormItem::text('company_info', 'Компания и должность');
    FormItem::password('password', 'Пароль');
    FormItem::image('profile_image', 'Аватар');
    FormItem::ckeditor('info', 'Информация');
});
예제 #7
0
 /**
  * Get related form model configuration
  * @return ModelConfiguration
  */
 public function model()
 {
     return Admin::model($this->class);
 }
예제 #8
0
파일: Filter.php 프로젝트: DimaPikash/eshop
 /**
  * Get filter url
  * @return string
  */
 public function getUrl()
 {
     $value = $this->getValue($this->instance, $this->field());
     return Admin::model($this->model)->displayUrl([$this->name() => $value]);
 }
예제 #9
0
 /**
  * Get related model configuration
  * @return ModelConfiguration
  */
 protected function getModelItem()
 {
     return Admin::model($this->modelClass);
 }
예제 #10
0
 /**
  * Get related model configuration
  * @return ModelConfiguration
  */
 protected function model()
 {
     return Admin::model(get_class($this->instance));
 }
예제 #11
0
파일: Category.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 6:31 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\Category')->title('Категории')->as('page-categories')->with('parent')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('name', 'Название');
    Column::string('parent.name', 'Родитель');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::text('name', 'Название');
    FormItem::text('slug', 'Slug');
    FormItem::select('parent_id', 'Родитель')->list('\\Hlogeon\\Scms\\Models\\Category');
});
예제 #12
0
파일: Sidebar.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 11:33 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\Sidebar')->title('Сайдбар')->as('sidebar')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::code('content', 'Контент');
});
예제 #13
0
파일: Layout.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 5:39 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\Layout')->title('Лэйауты')->as('page-layout')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('name', 'Название');
    Column::string('path', 'Путь');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    FormItem::text('name', 'Название');
    FormItem::text('path', 'Путь');
    FormItem::checkbox('has_sidebar', 'Есть сайдбар?');
    FormItem::code('sidebar', 'Сайдбар');
});
예제 #14
0
파일: Page.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 6:17 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\Page')->title('Страницы')->as('page')->with('layout', 'category', 'type')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('title', 'Название');
    Column::string('slug', 'Slug');
    Column::string('type.name', 'Тип');
    Column::lists('category.name', 'Категория');
    Column::string('layout.name', 'Лэйаут');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::text('title', 'Название');
    FormItem::text('second_title', 'Дополниетельная строка названия');
    FormItem::text('seo_title', 'SEO Title');
    FormItem::textarea('seo_description', 'SEO Description');
    FormItem::text('seo_keywords', 'SEO Keywords');
    FormItem::text('slug', 'Slug');
    FormItem::select('type.id', 'Тип')->list('\\Hlogeon\\Scms\\Models\\Type');
    FormItem::select('category.id', 'Категория')->list('\\Hlogeon\\Scms\\Models\\Category');
    FormItem::select('layout_id', 'Лэйаут')->list('\\Hlogeon\\Scms\\Models\\Layout');
예제 #15
0
파일: MenuItem.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 11:34 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\MenuItem')->title('Пункты меню')->as('menu-item')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('name', 'Название');
    Column::string('url', 'URL');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::text('name', 'Название');
    FormItem::text('url', 'URL');
    FormItem::checkbox('published', 'Активен?');
});
예제 #16
0
파일: Footer.php 프로젝트: hlogeon/scms
<?php

/**
 * Created by PhpStorm.
 * User: hlogeon
 * Date: 6/18/15
 * Time: 11:25 AM
 */
use SleepingOwl\Admin\Admin;
use SleepingOwl\Admin\Columns\Column;
use SleepingOwl\Admin\Models\Form\FormItem;
Admin::model('\\Hlogeon\\Scms\\Models\\Footer')->title('Footer')->as('footer')->columns(function () {
    // Describing columns for table view
    Column::string('id', 'ID');
    Column::string('name', 'Название');
    //    Column::string('alias', 'Алиас');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::code('content', 'Контент');
    FormItem::checkbox('active', 'Активен?');
});