Пример #1
0
 public function createAction()
 {
     $adminModel = $this->dispatcher->getParam('adminModel');
     $class = array_search($adminModel, Admin::modelAliases());
     $model = Admin::model($class);
     $create = $model->create();
     if ($this->request->isPost()) {
         if ($create->validate($model)) {
             $create->save($model);
             return $this->response->redirect($model->displayUrl());
         }
     }
     $content = $this->render($model->title(), $create);
     return $this->response->setContent($content);
 }
Пример #2
0
 /**
  *
  * @param \Phalcon\DI $di
  */
 public function registerServices($di)
 {
     Admin::instance();
     require __DIR__ . '/../../../../phad/phad.php';
     $di['phadConfig'] = function () {
         $config = (require __DIR__ . '/../../../../phad-config.php');
         return new Config($config);
     };
     $di['view'] = function () {
         $view = new ViewEngine();
         $view->setViewsDir(__DIR__ . '/Views/');
         $view->setLayoutsDir('Layouts/');
         $view->setPartialsDir('Partials/');
         return $view;
     };
     $di['viewSimple'] = function () {
         $view = new Simple();
         $view->setViewsDir(__DIR__ . '/Views/');
         return $view;
     };
     $di['flashSession'] = function () {
         $flashClasses = ['error' => 'alert alert-danger', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', 'warning' => 'alert alert-warning'];
         return new FlashSession($flashClasses);
     };
     $di['session'] = function () {
         $session = new Session();
         $session->start();
         return $session;
     };
     $di['phadAuth'] = function () {
         return new Auth();
     };
     $di['assets'] = function () use($di) {
         $options = ['sourceBasePath' => __DIR__ . '/Assets/', 'targetBasePath' => __DIR__ . '/../../../../public/backend-assets/'];
         $assets = new AssetsManager($options);
         $assets->collection('backend_css')->setTargetPath('final.css')->setTargetUri('backend-assets/final.css')->addCss('bootstrap/css/bootstrap.min.css')->addCss('css/styles.css')->join(true)->addFilter(new AssetsNullFilter());
         $assets->collection('backend_js')->setTargetPath('final.js')->setTargetUri('backend-assets/final.js')->addJs('bootstrap/js/bootstrap.min.js')->addJs('js/custom.js')->join(true)->addFilter(new AssetsNullFilter());
         return $assets;
     };
 }
Пример #3
0
 public function model()
 {
     return Admin::model($this->class);
 }
Пример #4
0
<?php

use Argentum88\Phad\Admin;
use Argentum88\Phad\Columns\String;
use Argentum88\Phad\ColumnFilters\Text as TextFilter;
use Argentum88\Phad\DisplayDatatablesAsync;
use Argentum88\Phad\FormDefault;
use Argentum88\Phad\FormItems\Text;
use Phalcon\DI;
use Phalcon\Validation\Validator\Email;
use Phalcon\Validation\Validator\PresenceOf;
Admin::menu('App\\User');
Admin::model('App\\User')->title('Users')->display(function () {
    $display = new DisplayDatatablesAsync();
    $display->columnFilters([(new TextFilter())->placeholder('Name')]);
    $display->columns([(new String('name'))->label('Name'), (new String('email'))->label('Email')]);
    return $display;
})->createAndEdit(function () {
    $form = new FormDefault();
    $form->items([(new Text('name', 'Name'))->validationRules([new PresenceOf(['message' => 'The name is required'])]), (new Text('email', 'Email'))->validationRules([new PresenceOf(['message' => 'The email is required']), new Email(['message' => 'The e-mail is not valid'])])]);
    return $form;
});
Пример #5
0
 /**
  * Get related model configuration
  * @return ModelConfiguration
  */
 protected function model()
 {
     return Admin::model(get_class($this->instance));
 }
Пример #6
0
 /**
  * Get related model configuration
  * @return ModelConfiguration
  */
 protected function getModelItem()
 {
     return Admin::model($this->modelClass);
 }
Пример #7
0
 /**
  * Get filter url
  * @return string
  */
 public function getUrl()
 {
     $value = $this->getValue($this->instance, $this->field());
     return Admin::model($this->model)->displayUrl([$this->name() => $value]);
 }