From 1eeb6c1ee3b538e2a3f5b940c32725ec068f21ba Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Thu, 19 Jul 2018 00:18:34 +0200 Subject: bake : Commit imported&derived files from bake to keep the diffs --- app-from-scratch.sh | 7 ++ .../plugins/CustomTheme/src/Shell/BakeShell.php | 86 ++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 fai_gestion/plugins/CustomTheme/src/Shell/BakeShell.php diff --git a/app-from-scratch.sh b/app-from-scratch.sh index ec573e6..bacf80e 100644 --- a/app-from-scratch.sh +++ b/app-from-scratch.sh @@ -246,3 +246,10 @@ git commit -m "first cake bake, auto-generated files not included for now" editor config/app.php config/bootstrap.php git add ../app-from-scratch.sh config/app.php config/bootstrap.php git commit -m "Adding debug tool, tweaking date formatting" +# eeb6aee61bc55a95a4d62d354f180d167c6a25fb + +# bake : Commit imported&derived files from bake to keep the diffs +cp -a vendor/cakephp/bake/src/Shell/BakeShell.php plugins/CustomTheme/src/Shell/BakeShell.php +editor plugins/CustomTheme/src/Shell/BakeShell.php +git add plugins/CustomTheme/src/Shell/BakeShell.php +git commit -m "bake : Commit imported&derived files from bake to keep the diffs" diff --git a/fai_gestion/plugins/CustomTheme/src/Shell/BakeShell.php b/fai_gestion/plugins/CustomTheme/src/Shell/BakeShell.php new file mode 100644 index 0000000..6734006 --- /dev/null +++ b/fai_gestion/plugins/CustomTheme/src/Shell/BakeShell.php @@ -0,0 +1,86 @@ + + * Copyright 2016 Nicolas Goaziou + * + * This file is part of FAI Gestion forked from CHD Gestion. + * + * FAI Gestion is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * FAI Gestion is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with FAI Gestion. If not, see . +**/ +namespace CustomTheme\Shell; + +use Cake\Console\Shell; +use Cake\Utility\Inflector; +use Bake\Shell\BakeShell as BaseShell; + +class BakeShell extends BaseShell { + + /** + * Assign $this->connection to the active task if a connection param is set. + * + * @return void + */ + public function startup() + { + parent::startup(); + } + + /** + * Quickly bake the MVC + * + * @param string|null $name Name. + * @return bool + */ + public function all($name = null) + { + $this->out('Bake All'); + $this->hr(); + + if (!empty($this->params['connection'])) { + $this->connection = $this->params['connection']; + } + + if (empty($name) && !$this->param('everything')) { + $this->Model->connection = $this->connection; + $this->out('Possible model names based on your database:'); + foreach ($this->Model->listUnskipped() as $table) { + $this->out('- ' . $table); + } + $this->out('Run `cake bake all [name]` to generate skeleton files.'); + + return false; + } + + $allTables = collection([$name]); + $filteredTables = $allTables; + + if ($this->param('everything')) { + $this->Model->connection = $this->connection; + $filteredTables = collection($this->Model->listUnskipped()); + } + + foreach (['Model', 'Controller', 'Template'] as $task) { + $filteredTables->each(function ($tableName) use ($task) { + $tableName = $this->_camelize($tableName); + $this->{$task}->connection = $this->connection; + $this->{$task}->interactive = $this->interactive; + $this->{$task}->main($tableName); + }); + } + + $this->out('Bake All complete.', 1, Shell::QUIET); + + return true; + } +} -- cgit v1.1