]> _ Git - cubist_cms-back.git/commitdiff
wip #2413 @6
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 28 Jan 2020 14:28:29 +0000 (15:28 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 28 Jan 2020 14:28:29 +0000 (15:28 +0100)
src/CubistBackpackServiceProvider.php
src/app/Console/Commands/InstallCommand.php
src/app/Console/Commands/UpdateCommand.php [new file with mode: 0644]

index 880cabf0946ed21c7e8e40eebb48681b542cd8bf..2e35c3d1340ca25408bdb959fd7afe09a564191e 100644 (file)
@@ -8,6 +8,7 @@ use Cubist\Backpack\app\Console\Commands\InstallCommand;
 use Cubist\Backpack\app\Console\Commands\LocaleCopy;
 use Cubist\Backpack\app\Console\Commands\LocaleSlugReset;
 use Cubist\Backpack\app\Console\Commands\SearchIndexCommand;
+use Cubist\Backpack\app\Console\Commands\UpdateCommand;
 use Illuminate\Support\Facades\Blade;
 use Illuminate\Support\ServiceProvider;
 
@@ -58,6 +59,7 @@ class CubistBackpackServiceProvider extends ServiceProvider
     {
         $this->commands([
             InstallCommand::class,
+            UpdateCommand::class,
             GenerateCommand::class,
             MigrateCommand::class,
             SearchIndexCommand::class,
index 50b7b0ead46d964e6a980c33284ba01f8482aebc..a50a793682f10d33612ab5588d232ba921764746 100644 (file)
@@ -18,10 +18,24 @@ class InstallCommand extends CubistCommand
 
     public function handle()
     {
-        $devPackages = ['barryvdh/laravel-ide-helper', 'filp/whoops', 'laravel/tinker'];
+        $devPackages = ['barryvdh/laravel-ide-helper', 'filp/whoops', 'laravel/tinker:^1.0'];
 
         $commands = [
-            'Install dev dependencies' => ['composer require --dev ' . implode(' ' , $devPackages)],
+            'Install backpack' => ['php artisan backpack:base:install', 'php artisan backpack:crud:install'],
+            'Install backpack addons' => [
+                // BackupManager
+                'php artisan vendor:publish --provider="Backpack\BackupManager\BackupManagerServiceProvider"',
+                'php artisan backpack:base:add-sidebar-content "<li><a href=\'{{ backpack_url(\'backup\') }}\'><i class=\'fa fa-hdd-o\'></i> <span>Backups</span></a></li>"',
+                // LogManager
+                'php artisan backpack:base:add-sidebar-content "<li><a href=\'{{ backpack_url(\'log\') }}\'><i class=\'fa fa-terminal\'></i> <span>Logs</span></a></li>"',
+                // Permission Manager
+                'php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"',
+                'php artisan migrate',
+                'php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"',
+                'php artisan vendor:publish --provider="Backpack\PermissionManager\PermissionManagerServiceProvider"',
+                'php artisan backpack:base:add-sidebar-content "<li class=\'nav-item nav-dropdown\'><a class=\'nav-link nav-dropdown-toggle\' href=\'#\'><i class=\'nav-icon fa fa-group\'></i>Authentication</a><ul class=\'nav-dropdown-items\'><li class=\'nav-item\'><a class=\'nav-link\' href=\'{{ backpack_url(\'user\') }}\'><i class=\'nav-icon fa fa-user\'></i><span>Users</span></a></li><li class=\'nav-item\'><a class=\'nav-link\' href=\'{{ backpack_url(\'role\') }}\'><i class=\'nav-icon fa fa-group\'></i> <span>Roles</span></a></li><li class=\'nav-item\'><a class=\'nav-link\' href=\'{{ backpack_url(\'permission\') }}\'><i class=\'nav-icon fa fa-key\'></i><span>Permissions</span></a></li></ul></li>"',
+            ],
+            'Install dev dependencies' => ['composer require --dev ' . implode(' ', $devPackages)],
             "Dropzone" => 'php artisan gaspertrix:backpack:dropzone:install',
             'Laravel media library' => [
                 'php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"',
@@ -32,7 +46,7 @@ class InstallCommand extends CubistCommand
                 'php artisan migrate',
                 'php artisan cubist:magic:migrate'
             ],
-            'Clear caches' => ['php artisan cache:clear'],
+            'Clear caches' => ['php artisan optimize:clear'],
         ];
 
         $this->progressBar = $this->output->createProgressBar(count($commands));
diff --git a/src/app/Console/Commands/UpdateCommand.php b/src/app/Console/Commands/UpdateCommand.php
new file mode 100644 (file)
index 0000000..9d3982e
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+
+namespace Cubist\Backpack\app\Console\Commands;
+
+class UpdateCommand extends CubistCommand
+{
+    protected $signature = 'cubist:update';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'Update everything';
+
+    public function handle()
+    {
+        $commands = [
+            'Update packages' => ['composer update -v --no-progress --profile --prefer-dist'],
+            'Dump autoload' => ['composer dump-autoload'],
+            'Clear cache' => ['php artisan optimize:clear'],
+            'Generate magic models' => ['php artisan cubist:magic:generate'],
+            'Clear caches' => ['php artisan optimize:clear'],
+        ];
+
+        $this->progressBar = $this->output->createProgressBar(count($commands));
+        $this->progressBar->start();
+        $this->info(' Cubist installation, please wait');
+
+        foreach ($commands as $label => $command) {
+            $this->line(' Run ' . $label);
+            if (is_string($command)) {
+                $command = [$command];
+            }
+            foreach ($command as $cmd) {
+                $this->executeProcess($cmd);
+            }
+
+            $this->progressBar->advance();
+        }
+        $this->info(" Cubist successfully installed.");
+    }
+}