diff options
author | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
---|---|---|
committer | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
commit | cf14306c2b3f82a81f8d56669a71633b4d4b5fce (patch) | |
tree | 86700651aa180026e89a66064b0364b1e4346f3f /main/app/sprinkles/ConfigManager/src/Database | |
parent | 619b01b3615458c4ed78bfaeabb6b1a47cc8ad8b (diff) |
Main merge to user management system - files are now at /main/public/
Diffstat (limited to 'main/app/sprinkles/ConfigManager/src/Database')
3 files changed, 188 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 diff --git a/main/app/sprinkles/ConfigManager/src/Database/Models/Config.php b/main/app/sprinkles/ConfigManager/src/Database/Models/Config.php new file mode 100755 index 0000000..53a85ca --- /dev/null +++ b/main/app/sprinkles/ConfigManager/src/Database/Models/Config.php @@ -0,0 +1,70 @@ +<?php +/** + * UF Settings + * + * @link https://github.com/lcharette/UF_Settings + * @copyright Copyright (c) 2016 Louis Charette + * @license + */ +namespace UserFrosting\Sprinkle\ConfigManager\Database\Models; + +use \Illuminate\Database\Capsule\Manager as Capsule; +use UserFrosting\Sprinkle\Core\Database\Models\Model; + +/** + * Settings class. + * + * @extends Model + */ +class Config extends Model { + + /** + * @var string The name of the table for the current model. + */ + protected $table = "settings"; + + /** + * @var array The fields of the table for the current model. + */ + protected $fillable = [ + "key", + "value", + "cache" + ]; + + /** + * @var bool Enable timestamps for Users. + */ + public $timestamps = true; + + /** + * Create a new Project object. + * + */ + public function __construct($properties = []) + { + parent::__construct($properties); + } + + /** + * Model's relations + * Each of those should be in delete ! + * + */ + + /** + * Model's parent relation + * + */ + + /** + * Delete this group from the database, along with any linked user and authorization rules + * + */ + public function delete() + { + // Delete the main object + $result = parent::delete(); + return $result; + } +}
\ No newline at end of file |