Ejemplo n.º 1
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $c = strtolower($this->argument('controller'));
     $files = [];
     $files[] = mkny_models_path($c) . '.php';
     $files[] = mkny_model_config_path($c) . '.php';
     $files[] = mkny_presenters_path($c) . 'Presenter.php';
     $files[] = mkny_controllers_path($c) . 'Controller.php';
     $files[] = mkny_requests_path($c) . 'Request.php';
     $files[] = mkny_lang_path(\App::getLocale() . '/' . $c) . '.php';
     $errors = [];
     foreach ($files as $file) {
         if (!$this->files->exists($file)) {
             $errors[] = $file;
         }
     }
     if (!$this->option('force') && count($errors)) {
         $this->error("Nao foi possivel executar o delete-automatico!\nAlguns arquivos estao ausentes!");
     } else {
         if ($this->option('force') || $this->confirm("Deseja realmente remover os arquivos: \n'" . implode("',\n'", $files))) {
             foreach ($files as $file) {
                 $this->files->delete($file);
             }
             $this->info('Deleted!');
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Pagina para a geração dos [Modulos]
  * 
  * @return view
  */
 public function getIndex()
 {
     // dd(\Request::input('banco'));
     // if(Session::get('banco') == 'ws'){
     // Session::forget('banco');
     // return redirect()->route('adm::gen::index', ['wsurl' => '1']);
     // } else {
     // Busca todas as tabelas do banco
     $tables = $this->logic->buildTables();
     // Varre as tabelas para buscar relacionamentos, controllers e dados especificos
     foreach ($tables as $key => $table) {
         // Constroi um array para organizar o retorno das relacoes
         $arrRelations = [];
         // Busca os relacionamentos
         $relations = $this->logic->buildRelationships($table->schema . '.' . $table->name);
         if ($relations) {
             foreach ($relations as $relation) {
                 // Formata em string, para melhor analise no codigo
                 $arrRelations[] = "{$relation->schema_foreign}.{$relation->table_foreign}.{$relation->table_foreign_field} > {$relation->schema_primary}.{$relation->table_primary}.{$relation->table_primary_field}";
             }
         }
         $tables[$key]->relation = $arrRelations;
         // Monta o provavel nome do controlador
         $controller = $this->logic->controllerName($table->name);
         // Predetermina o nome do controller
         $tables[$key]->controller = $controller;
         // Verifica se o [Modulo] ja foi gerado
         $tables[$key]->is_generated = $this->files->exists(mkny_models_path($controller) . '.php');
     }
     // Cria uma collection das tables
     $tables = collect($tables);
     // Schemas selecionados
     $data['schemas_selected'] = \Request::input('schema') ?: array();
     // Faz o filtro inteligente nos schemas selecionados
     if (isset($data['schemas_selected']) && count($data['schemas_selected'])) {
         $tables = $tables->whereIn('schema', $data['schemas_selected']);
     }
     // Pega todas as tabelas selecionadas
     $data['tables'] = $tables->all();
     // Schemas para a selecao
     $data['schemas'] = explode(',', $this->logic->_getSchemas());
     // }
     // Informa o database
     // $data['database'] = Session::get('banco');
     $data['database'] = Config::get('database.default');
     // Conexoes disponiveis (config/database.php)
     $data['connections'] = array_keys(Config::get('database.connections'));
     // Tratamento do WS
     // if(\Request::get('wsurl')){
     //   $ws = new \Mkny\Cinimod\Logic\WSClientLogic();
     //   $ws->init(\Request::get('wsurl'));
     //   $data['ws_methods'] = $ws->getAvailableFunctions();
     // }
     // Get the view
     return view('cinimod::admin.generator.index')->with($data);
 }