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); }
/** * * @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; }; }
public function model() { return Admin::model($this->class); }
<?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; });
/** * Get related model configuration * @return ModelConfiguration */ protected function model() { return Admin::model(get_class($this->instance)); }
/** * Get related model configuration * @return ModelConfiguration */ protected function getModelItem() { return Admin::model($this->modelClass); }
/** * Get filter url * @return string */ public function getUrl() { $value = $this->getValue($this->instance, $this->field()); return Admin::model($this->model)->displayUrl([$this->name() => $value]); }