From 59a79655b32a6313f4171f08f8c6905a69b3811c Mon Sep 17 00:00:00 2001 From: Sander Borgman Date: Mon, 15 Jun 2015 14:38:05 +0200 Subject: [PATCH 1/2] Copy vendor module assets --- src/Mvc/Module/Loader.php | 2 +- src/Task/AssetsTask.php | 37 ++++++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/Mvc/Module/Loader.php b/src/Mvc/Module/Loader.php index 7e9ff1e..ef9f420 100644 --- a/src/Mvc/Module/Loader.php +++ b/src/Mvc/Module/Loader.php @@ -100,7 +100,7 @@ public function dump($inputDirectory, $outputDirectory, $dumpVendorModules = tru * @param $modulesList * @return mixed */ - private function dumpModulesFromVendor(array &$modulesList) + public function dumpModulesFromVendor(array &$modulesList) { if (!file_exists(APP_ROOT.'/composer.json')) { return $modulesList; diff --git a/src/Task/AssetsTask.php b/src/Task/AssetsTask.php index de510e8..8c4b8e4 100644 --- a/src/Task/AssetsTask.php +++ b/src/Task/AssetsTask.php @@ -16,6 +16,7 @@ use Vegas\Cli\Task\Option; use Vegas\Cli\Task; use Vegas\Cli\TaskAbstract; +use Vegas\Mvc\Module\Loader; /** * Class AssetsTask @@ -28,8 +29,12 @@ class AssetsTask extends TaskAbstract */ public function publishAction() { - $this->putText("Copying assets..."); - $this->copyAllAssets(); + $this->putText("Copying Vegas CMF assets..."); + $this->copyCmfAssets(); + + $this->putText("Copying vendor assets:"); + $this->copyVendorAssets(); + $this->putSuccess("Done."); } @@ -37,7 +42,7 @@ public function publishAction() * Copies all assets from vegas-cmf libraries * @internal */ - private function copyAllAssets() + private function copyCmfAssets() { $vegasCmfPath = APP_ROOT . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'vegas-cmf'; $publicAssetsDir = $this->getOption('d', APP_ROOT.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.'assets'); @@ -59,6 +64,32 @@ private function copyAllAssets() } } + /** + * Copies all assets vendor modules + * @internal + */ + private function copyVendorAssets() + { + $modules = []; + $moduleLoader = new Loader($this->di); + $moduleLoader->dumpModulesFromVendor($modules); + + $publicAssetsDir = $this->getOption('d', APP_ROOT.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.'assets'); + + + if ($modules) { + foreach ($modules as $moduleName => $module) { + $assetsDir = dirname($module['path']) . '/../assets'; + + if (file_exists($assetsDir)) { + $this->putText("- " . $moduleName . "..."); + + $this->copyRecursive($assetsDir, $publicAssetsDir); + } + } + } + } + /** * Copies assets recursively * From 293ba4a2c5045a8007acd70d2e7221fae1d511c9 Mon Sep 17 00:00:00 2001 From: Sander Borgman Date: Mon, 22 Jun 2015 14:37:16 +0200 Subject: [PATCH 2/2] Make record available to form when updating via CRUD / Scaffolding --- src/DI/Scaffolding.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DI/Scaffolding.php b/src/DI/Scaffolding.php index dc27d7f..9ef98ea 100644 --- a/src/DI/Scaffolding.php +++ b/src/DI/Scaffolding.php @@ -194,7 +194,7 @@ public function doDelete($id) */ private function processForm($values) { - $form = $this->getForm(); + $form = $this->getForm($this->record); $form->bind($values, $this->record); if ($form->isValid()) {