From db912c4c91da4279b36d5aaa67bde6c935ae1fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Thu, 21 Jul 2016 23:11:05 +0200 Subject: [PATCH] FEATURE: add language table --- app/Console/Commands/AddLanguage.php | 55 +++++++++++++++++++ app/Console/Kernel.php | 2 + app/Models/Language.php | 18 ++++++ ...2016_07_21_205626_MakeLangEnumerations.php | 33 +++++++++++ 4 files changed, 108 insertions(+) create mode 100644 app/Console/Commands/AddLanguage.php create mode 100644 app/Models/Language.php create mode 100644 database/migrations/2016_07_21_205626_MakeLangEnumerations.php diff --git a/app/Console/Commands/AddLanguage.php b/app/Console/Commands/AddLanguage.php new file mode 100644 index 00000000..f4eb3308 --- /dev/null +++ b/app/Console/Commands/AddLanguage.php @@ -0,0 +1,55 @@ +argument('code'); + $translation = $this->argument('translation'); + + // check if language does not exist + $exist = Language::find($code); + + if ($exist) { + $this->error('Language ' . $code . ' already exists!'); + return; + } + + Language::create(['code' => $code, 'name' => $translation]); + + $this->line('Successfully installed.'); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index e4fc0c23..395f776d 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -2,6 +2,7 @@ namespace App\Console; +use App\Console\Commands\AddLanguage; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; @@ -21,6 +22,7 @@ class Kernel extends ConsoleKernel Commands\TranslateAll::class, Commands\InitDatabaseSchema::class, Commands\SetTheme::class, + AddLanguage::class ]; /** diff --git a/app/Models/Language.php b/app/Models/Language.php new file mode 100644 index 00000000..3aca77ac --- /dev/null +++ b/app/Models/Language.php @@ -0,0 +1,18 @@ +string('code', 8) + ->primary(); + $table->string('name') + ->comment('Translated name for given language'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('languages'); + } +}