aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/ConfigManager/src/Database/Migrations
diff options
context:
space:
mode:
authormarvin-borner@live.com2018-04-16 21:09:05 +0200
committermarvin-borner@live.com2018-04-16 21:09:05 +0200
commitcf14306c2b3f82a81f8d56669a71633b4d4b5fce (patch)
tree86700651aa180026e89a66064b0364b1e4346f3f /main/app/sprinkles/ConfigManager/src/Database/Migrations
parent619b01b3615458c4ed78bfaeabb6b1a47cc8ad8b (diff)
Main merge to user management system - files are now at /main/public/
Diffstat (limited to 'main/app/sprinkles/ConfigManager/src/Database/Migrations')
-rwxr-xr-xmain/app/sprinkles/ConfigManager/src/Database/Migrations/v100/SettingsTable.php48
-rwxr-xr-xmain/app/sprinkles/ConfigManager/src/Database/Migrations/v101/SettingsPermissions.php70
2 files changed, 118 insertions, 0 deletions
diff --git a/main/app/sprinkles/ConfigManager/src/Database/Migrations/v100/SettingsTable.php b/main/app/sprinkles/ConfigManager/src/Database/Migrations/v100/SettingsTable.php
new file mode 100755
index 0000000..182dbfb
--- /dev/null
+++ b/main/app/sprinkles/ConfigManager/src/Database/Migrations/v100/SettingsTable.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * UF Config Manager
+ *
+ * @link https://github.com/lcharette/UF_ConfigManager
+ * @copyright Copyright (c) 2016 Louis Charette
+ * @license https://github.com/lcharette/UF_ConfigManager/blob/master/LICENSE (MIT License)
+ */
+namespace UserFrosting\Sprinkle\ConfigManager\Database\Migrations\v100;
+
+use UserFrosting\System\Bakery\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Schema\Builder;
+
+/**
+ * Settings table migration
+ * @extends Migration
+ */
+class SettingsTable extends Migration
+{
+ /**
+ * {@inheritDoc}
+ */
+ public function up()
+ {
+ if (!$this->schema->hasTable('settings')) {
+ $this->schema->create('settings', function (Blueprint $table) {
+ $table->increments('id');
+ $table->string('key');
+ $table->string('value')->nullable();
+ $table->boolean('cached')->default(1);
+ $table->timestamps();
+
+ $table->engine = 'InnoDB';
+ $table->collation = 'utf8_unicode_ci';
+ $table->charset = 'utf8';
+ });
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function down()
+ {
+ $this->schema->drop('settings');
+ }
+} \ No newline at end of file
diff --git a/main/app/sprinkles/ConfigManager/src/Database/Migrations/v101/SettingsPermissions.php b/main/app/sprinkles/ConfigManager/src/Database/Migrations/v101/SettingsPermissions.php
new file mode 100755
index 0000000..c3928d9
--- /dev/null
+++ b/main/app/sprinkles/ConfigManager/src/Database/Migrations/v101/SettingsPermissions.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * UF Config Manager
+ *
+ * @link https://github.com/lcharette/UF_ConfigManager
+ * @copyright Copyright (c) 2016 Louis Charette
+ * @license https://github.com/lcharette/UF_ConfigManager/blob/master/LICENSE (MIT License)
+ */
+namespace UserFrosting\Sprinkle\ConfigManager\Database\Migrations\v101;
+
+use UserFrosting\System\Bakery\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Schema\Builder;
+use UserFrosting\Sprinkle\Account\Database\Models\Permission;
+use UserFrosting\Sprinkle\Account\Database\Models\Role;
+
+/**
+ * Settings permissions migration
+ * @extends Migration
+ */
+class SettingsPermissions extends Migration
+{
+ /**
+ * {@inheritDoc}
+ */
+ public $dependencies = [
+ '\UserFrosting\Sprinkle\Account\Database\Migrations\v400\PermissionsTable',
+ '\UserFrosting\Sprinkle\ConfigManager\Database\Migrations\v100\SettingsTable'
+ ];
+
+ /**
+ * {@inheritDoc}
+ */
+ public function up()
+ {
+ // Check if permission exist
+ $permissionExist = Permission::where('slug', 'update_site_config')->first();
+ if ($permissionExist) {
+ $this->io->warning("\nPermission slug `update_site_config` already exist. Skipping...");
+ return;
+ }
+
+ // Add default permissions
+ $permission = new Permission([
+ 'slug' => 'update_site_config',
+ 'name' => 'Update site configuration',
+ 'conditions' => 'always()',
+ 'description' => 'Edit site configuration from the UI'
+ ]);
+ $permission->save();
+
+ $roleSiteAdmin = Role::where('slug', 'site-admin')->first();
+ if ($roleSiteAdmin) {
+ $roleSiteAdmin->permissions()->attach([
+ $permission->id
+ ]);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function down()
+ {
+ $permissions = Permission::where('slug', 'update_site_config')->get();
+ foreach ($permissions as $permission) {
+ $permission->delete();
+ }
+ }
+} \ No newline at end of file