Skip to content

Commit

Permalink
Merged all
Browse files Browse the repository at this point in the history
  • Loading branch information
firemankurt committed Aug 2, 2017
1 parent 205d319 commit 12381a1
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 147 deletions.
19 changes: 14 additions & 5 deletions Plugin.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<?php namespace KurtJensen\Passage;

use App;
use Auth;
use Backend;
use BackendAuth;
use Event;
use Illuminate\Foundation\AliasLoader;
use KurtJensen\Passage\Models\Key;
use RainLab\User\Models\UserGroup;
use System\Classes\PluginBase;
Expand All @@ -12,7 +14,7 @@
* passage Plugin Information File
*/
class Plugin extends PluginBase {
public static $keys = [];
public static $keys = null;
public static $groups = null;

public $require = ['RainLab.User'];
Expand Down Expand Up @@ -44,7 +46,7 @@ public function boot() {

Event::listen('backend.menu.extendItems', function ($manager) {
$manager->addSideMenuItems('RainLab.User', 'user', [
'u_groups' => [
'usergroups' => [
'label' => 'rainlab.user::lang.groups.all_groups',
'icon' => 'icon-group',
'code' => 'u_groups',
Expand Down Expand Up @@ -86,6 +88,14 @@ public function boot() {
],
], 'primary');
});

App::register('\KurtJensen\Passage\Services\PassageServiceProvider'); // Register aliases
$alias = AliasLoader::getInstance();
$alias->alias('Passage', '\KurtJensen\Passage\Services\PassageServiceProvider');

// App::register('\KurtJensen\Passage\Classes\Keys'); // Register aliases
// $alias = AliasLoader::getInstance();
// $alias->alias('Passage', '\KurtJensen\Passage\Classes\Keys');
}

/**
Expand Down Expand Up @@ -180,11 +190,10 @@ public static function passage_groups() {
}

public static function passage_keys() {
if (!count(self::$keys)) {
if (self::$keys === null) {
if (!self::getUser()) {
return [];
}

self::$keys = Key::whereHas('groups.users', function ($q) {
$q->where('user_id', self::getUser()->id);
})
Expand Down Expand Up @@ -225,4 +234,4 @@ public static function hasGroup($group_code) {
$groups = \System\Classes\PluginManager::instance()->findByNamespace(__CLASS__)->passage_groups();
return array_key_exists($group_code, $groups);
}
}
}
41 changes: 0 additions & 41 deletions classes/keys.php

This file was deleted.

148 changes: 71 additions & 77 deletions controllers/Keys.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,28 @@
/**
* Keys Back-end Controller
*/
class Keys extends Controller
{
public $addBtns = '';
public $requiredPermissions = ['kurtjensen.passage.keys'];
public $implement = [
'Backend.Behaviors.FormController',
'Backend.Behaviors.ListController',
];

public $formConfig = 'config_form.yaml';
public $listConfig = 'config_list.yaml';

public function __construct()
{
parent::__construct();

BackendMenu::setContext('RainLab.User', 'user', 'keys');
}

public function index()
{
parent::index();
$manager = PluginManager::instance();
$this->addBtns = ($manager->exists('shahiemseymor.roles')) ?
'
class Keys extends Controller {
public $addBtns = '';
public $requiredPermissions = ['kurtjensen.passage.keys'];
public $implement = [
'Backend.Behaviors.FormController',
'Backend.Behaviors.ListController',
];

public $formConfig = 'config_form.yaml';
public $listConfig = 'config_list.yaml';

public function __construct() {
parent::__construct();

BackendMenu::setContext('RainLab.User', 'user', 'passage_keys');
}

public function index() {
parent::index();
$manager = PluginManager::instance();
$this->addBtns = ($manager->exists('shahiemseymor.roles')) ?
'
<div class="layout-row">
<div class="padded-container">
<div class="callout callout-info">
Expand Down Expand Up @@ -72,56 +69,53 @@ class="btn btn-danger oc-icon-exchange ">
</div>
</div>' : '';

}

public function onConvertFromPerms()
{
$manager = PluginManager::instance();
if ($manager->exists('shahiemseymor.roles')) {

$perms = DB::table('shahiemseymor_permissions')->get();
foreach ($perms as $perm) {

$newRows[] = [
'id' => $perm->id,
'name' => $perm->name,
'description' => $perm->display_name];
}
Key::insert($newRows);
}
}

public function onConvertFromRoles()
{
$manager = PluginManager::instance();
if ($manager->exists('shahiemseymor.roles')) {
$roles = DB::table('shahiemseymor_roles')->get();
foreach ($roles as $role) {

$newRows[] = [
'id' => $role->id,
'name' => $role->name,
'code' => str_replace(' ', '_', strtolower($role->name)),
'description' => $role->name];
}

\RainLab\User\Models\UserGroup::insert($newRows);
}
}

public function onConvertFromRolesPerms()
{
$manager = PluginManager::instance();
if ($manager->exists('shahiemseymor.roles')) {
$permRoles = DB::table('shahiemseymor_permission_role')->get();
foreach ($permRoles as $pr) {

$newRows[] = [
'key_id' => $pr->permission_id,
'user_group_id' => $pr->role_id];
}

UserGroupsKeys::insert($newRows);
}
}
}

public function onConvertFromPerms() {
$manager = PluginManager::instance();
if ($manager->exists('shahiemseymor.roles')) {

$perms = DB::table('shahiemseymor_permissions')->get();
foreach ($perms as $perm) {

$newRows[] = [
'id' => $perm->id,
'name' => $perm->name,
'description' => $perm->display_name];
}
Key::insert($newRows);
}
}

public function onConvertFromRoles() {
$manager = PluginManager::instance();
if ($manager->exists('shahiemseymor.roles')) {
$roles = DB::table('shahiemseymor_roles')->get();
foreach ($roles as $role) {

$newRows[] = [
'id' => $role->id,
'name' => $role->name,
'code' => str_replace(' ', '_', strtolower($role->name)),
'description' => $role->name];
}

\RainLab\User\Models\UserGroup::insert($newRows);
}
}

public function onConvertFromRolesPerms() {
$manager = PluginManager::instance();
if ($manager->exists('shahiemseymor.roles')) {
$permRoles = DB::table('shahiemseymor_permission_role')->get();
foreach ($permRoles as $pr) {

$newRows[] = [
'key_id' => $pr->permission_id,
'user_group_id' => $pr->role_id];
}

UserGroupsKeys::insert($newRows);
}
}
}
45 changes: 21 additions & 24 deletions updates/create_tables.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,29 @@
use October\Rain\Database\Updates\Migration;
use Schema;

class CreateTables extends Migration
{
class CreateTables extends Migration {

public function up()
{
Schema::create('kurtjensen_passage_keys', function ($table) {
$table->engine = 'InnoDB';
$table->increments('id')->unsigned();
$table->string('name');
$table->string('description')->nullable();
$table->timestamps();
});
public function up() {
Schema::create('kurtjensen_passage_keys', function ($table) {
$table->engine = 'InnoDB';
$table->increments('id')->unsigned();
$table->string('name');
$table->string('description')->nullable();
$table->timestamps();
});

Schema::create('kurtjensen_passage_groups_keys', function ($table) {
$table->engine = 'InnoDB';
$table->integer('user_group_id')->unsigned();
$table->integer('key_id')->unsigned();
$table->timestamps();
$table->primary(['user_group_id', 'key_id'], 'user_group_id');
});
}
Schema::create('kurtjensen_passage_groups_keys', function ($table) {
$table->engine = 'InnoDB';
$table->integer('user_group_id')->unsigned();
$table->integer('key_id')->unsigned();
$table->timestamps();
$table->primary(['user_group_id', 'key_id'], 'user_group_id');
});
}

public function down()
{
Schema::dropIfExists('kurtjensen_passage_keys');
Schema::dropIfExists('kurtjensen_passage_groups_keys');
}
public function down() {
Schema::dropIfExists('kurtjensen_passage_keys');
Schema::dropIfExists('kurtjensen_passage_groups_keys');
}

}

0 comments on commit 12381a1

Please sign in to comment.