Exemplo n.º 1
0
 /**
  * @param Resource $resource
  * @param null     $title
  * @param null     $color
  * @return mixed
  */
 public static function createWithPages(array $data, $title = null, $color = '#31b0d5')
 {
     $resource = Resource::create($data);
     if (!$title) {
         $title = $resource->title;
     }
     $pages = PageRepository::createResourcePages($title, $resource->controller, null, 'layouts.admin', $color);
     Event::fire('admin.model.resourceRepository.createWithPages', array($resource, $pages));
     return $pages;
 }
 /**
  * @param Model          $model
  * @param CrudController $controller
  */
 public function onSaved(Model $model, CrudController $controller)
 {
     // We are only interested in a resource controller
     if (!$controller instanceof ResourceController) {
         return;
     }
     // Start up the generator
     $generator = App::make('Boyhagemann\\Crud\\ControllerGenerator');
     $generator->setClassName($model->controller);
     $generator->setModelClass(str_replace('Resource', '', $model->controller));
     // Determine the file name
     $filename = $model->path . '/' . str_replace('\\', '/', $model->controller) . '.php';
     // Write the new controller file to the controller folder
     @mkdir(dirname($filename), 0755, true);
     file_put_contents($filename, $generator->generate());
     // Create the resource pages
     $pages = PageRepository::createResourcePages($model->title, $model->controller);
     require_once $filename;
     // Get the newly create controller and get the modelBuilder
     // We need to trigger the model generate event so that the model is
     // actually generated
     $crud = App::make($model->controller);
     Event::fire('model.builder.generate', $crud->init('create')->getModelBuilder());
 }