use Cubist\Backpack\app\Console\Commands\GenerateCommand;
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 Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
GenerateCommand::class,
MigrateCommand::class,
SearchIndexCommand::class,
- LocaleCopy::class
+ LocaleCopy::class,
+ LocaleSlugReset::class
]);
}
}
--- /dev/null
+<?php
+
+namespace Cubist\Backpack\app\Console\Commands;
+
+use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
+use Cubist\Backpack\app\Magic\Models\CubistMagicTranslatableModel;
+
+class LocaleSlugReset extends CubistCommand
+{
+ /**
+ * The name and signature of the console command.
+ *
+ * @var string
+ */
+ protected $signature = 'cubist:locale:slugreset {locale}';
+
+ /**
+ * The console command description.
+ *
+ * @var string
+ */
+ protected $description = 'Reset slug that are a copy of another language';
+
+ public function handle()
+ {
+ $this->call('backup:run');
+ $this->_handleMagicFolder([$this, '_resetSlug']);
+ $this->call('cache:clear');
+ }
+
+ /**
+ * @param $model CubistMagicAbstractModel
+ */
+ protected function _resetSlug($model)
+ {
+ if (!($model instanceof CubistMagicTranslatableModel)) {
+ return;
+ }
+ $class = get_class($model);
+ $all = $class::all();
+ foreach ($all as $instance) {
+ /** @var CubistMagicAbstractModel $instance */
+ echo $instance->getAttribute('slug');
+ }
+ }
+}