Commit 02ae6e4a authored by Duncan Kishira's avatar Duncan Kishira

10th June, 2019

parent b904e5ed
...@@ -45,36 +45,58 @@ class RolesAndPrivilegesController extends Controller ...@@ -45,36 +45,58 @@ class RolesAndPrivilegesController extends Controller
try{ try{
DB::BeginTransaction(); DB::BeginTransaction();
$createPrivileges = substr($request->create, 0, -1); # Module privileges
$viewPrivileges = substr($request->view, 0, -1);
$editPrivileges = substr($request->edit, 0, -1);
$deletePrivileges = substr($request->delete, 0, -1);
$createPrivileges_ = substr($request->create_, 0, -1); $createPrivileges_ = substr($request->create_, 0, -1);
$viewPrivileges_ = substr($request->view_, 0, -1); $viewPrivileges_ = substr($request->view_, 0, -1);
$editPrivileges_ = substr($request->edit_, 0, -1); $editPrivileges_ = substr($request->edit_, 0, -1);
$deletePrivileges_ = substr($request->delete_, 0, -1); $deletePrivileges_ = substr($request->delete_, 0, -1);
# Menu/sub-menu privileges
$createPrivileges = substr($request->create, 0, -1);
$viewPrivileges = substr($request->view, 0, -1);
$editPrivileges = substr($request->edit, 0, -1);
$deletePrivileges = substr($request->delete, 0, -1);
# Roles details
$role_name = $request->roleName; $role_name = $request->roleName;
$role_type = $request->roleType; $role_type = $request->roleType;
$role_description = $request->roleDescription; $role_description = $request->roleDescription;
$group_id = $request->groupId; $group_id = $request->groupId;
# Explode module privileges
$createPrivileges_ = explode(',', $createPrivileges_);
$viewPrivileges_ = explode(',', $viewPrivileges_);
$editPrivileges_ = explode(',', $editPrivileges_);
$deletePrivileges_ = explode(',', $deletePrivileges_);
# Explode menu/sub-menu
$createPrivileges = explode(',', $createPrivileges); $createPrivileges = explode(',', $createPrivileges);
$viewPrivileges = explode(',', $viewPrivileges); $viewPrivileges = explode(',', $viewPrivileges);
$editPrivileges = explode(',', $editPrivileges); $editPrivileges = explode(',', $editPrivileges);
$deletePrivileges = explode(',', $deletePrivileges); $deletePrivileges = explode(',', $deletePrivileges);
# Save the role and retrieve the Role ID # Save/Retrieve the role and return the Role ID
$role_id = DB::table('roles') $role_id = DB::table('main_roles')
->where([
'role_name' => $role_name,
'user_group' => $group_id
])
->first();
if (count($role_id) > 0){
$role_id = $role_id->id;
}else{
$role_id = DB::table('main_roles')
->insertGetId([ ->insertGetId([
'role_name' => $role_name, 'role_name' => $role_name,
'role_type' => $role_type, 'role_type' => $role_type,
'role_description' => $role_description, 'role_description' => $role_description,
'user_group' => $group_id 'user_group' => $group_id
]); ]);
}
# Save the data # Save the data
#####################################################################################
# All modules # All modules
# 1. Create privileges # 1. Create privileges
...@@ -86,11 +108,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -86,11 +108,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 0, 'item_type' => 0
'create_permission' => $arr_[1]
], ],
[ [
'create_permission' => $arr_[1] 'create_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -104,11 +127,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -104,11 +127,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 0, 'item_type' => 0
'view_permission' => $arr_[1]
], ],
[ [
'view_permission' => $arr_[1] 'view_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -122,11 +146,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -122,11 +146,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 0, 'item_type' => 0
'edit_permission' => $arr_[1]
], ],
[ [
'edit_permission' => $arr_[1] 'edit_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -140,11 +165,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -140,11 +165,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 0, 'item_type' => 0
'delete_permission' => $arr_[1]
], ],
[ [
'delete_permission' => $arr_[1] 'delete_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -160,11 +186,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -160,11 +186,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 1, 'item_type' => 1
'create_permission' => $arr_[1]
], ],
[ [
'create_permission' => $arr_[1] 'create_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -178,11 +205,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -178,11 +205,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 1, 'item_type' => 1
'view_permission' => $arr_[1]
], ],
[ [
'view_permission' => $arr_[1] 'view_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -196,11 +224,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -196,11 +224,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 1, 'item_type' => 1
'edit_permission' => $arr_[1]
], ],
[ [
'edit_permission' => $arr_[1] 'edit_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
...@@ -214,11 +243,12 @@ class RolesAndPrivilegesController extends Controller ...@@ -214,11 +243,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id, 'role' => $role_id,
'user_group' => $group_id, 'user_group' => $group_id,
'item' => $arr_[0], 'item' => $arr_[0],
'item_type' => 1, 'item_type' => 1
'delete_permission' => $arr_[1]
], ],
[ [
'delete_permission' => $arr_[1] 'delete_privilege' => $arr_[1],
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()')
] ]
); );
} }
......
...@@ -18,7 +18,7 @@ class CreateMainRolesTable extends Migration ...@@ -18,7 +18,7 @@ class CreateMainRolesTable extends Migration
$table->string('role_name'); $table->string('role_name');
$table->string('role_type')->nullable(); $table->string('role_type')->nullable();
$table->string('role_description')->nullable(); $table->string('role_description')->nullable();
$table->unsignedInteger('group_id'); $table->unsignedInteger('user_group');
$table->unsignedInteger('level'); $table->unsignedInteger('level');
$table->unsignedInteger('created_by')->nullable(); $table->unsignedInteger('created_by')->nullable();
$table->unsignedInteger('modified_by')->nullable(); $table->unsignedInteger('modified_by')->nullable();
......
...@@ -149,10 +149,10 @@ ...@@ -149,10 +149,10 @@
if ($sub_menu_item->parent == $main_menu_item->id){ if ($sub_menu_item->parent == $main_menu_item->id){
echo "<li class='rp-ssml'><input class='sub-menu-chk sub-menu-$sub_menu_item->id parent-menu-$main_menu_item->id' data-module-id='$module->id' data-menu-id='$main_menu_item->id' data-sub-menu-id='$sub_menu_item->id' type='checkbox'>$sub_menu_item->menu_name"; echo "<li class='rp-ssml'><input class='sub-menu-chk sub-menu-$sub_menu_item->id parent-menu-$main_menu_item->id' data-module-id='$module->id' data-menu-id='$main_menu_item->id' data-sub-menu-id='$sub_menu_item->id' type='checkbox'>$sub_menu_item->menu_name";
echo "<div class='atl-prl prl-sub-$sub_menu_item->id prl-parent-menu-$main_menu_item->id'> echo "<div class='atl-prl prl-sub-$sub_menu_item->id prl-parent-menu-$main_menu_item->id'>
<span><input type='checkbox' class='sub-create m-sc-$module->id me-sc-$main_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>Create</span> <span><input type='checkbox' class='sub-create m-sc-$module->id me-sc-$main_menu_item->id sm-c-$sub_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>Create</span>
<span><input type='checkbox' class='sub-view m-sv-$module->id me-sv-$main_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>View</span> <span><input type='checkbox' class='sub-view m-sv-$module->id me-sv-$main_menu_item->id sm-v-$sub_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>View</span>
<span><input type='checkbox' class='sub-edit m-se-$module->id me-se-$main_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>Edit</span> <span><input type='checkbox' class='sub-edit m-se-$module->id me-se-$main_menu_item->id sm-e-$sub_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>Edit</span>
<span><input type='checkbox' class='sub-delete m-sd-$module->id me-sd-$main_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>Delete</span> <span><input type='checkbox' class='sub-delete m-sd-$module->id me-sd-$main_menu_item->id sm-d-$sub_menu_item->id' data-main-menu-id='$main_menu_item->id' data-module-id='$module->id' data-sub-menu-id='$sub_menu_item->id'>Delete</span>
</div>"; </div>";
echo "</li>"; echo "</li>";
} }
...@@ -298,7 +298,7 @@ ...@@ -298,7 +298,7 @@
_seg____ += deletePrivileges_[i] + ","; _seg____ += deletePrivileges_[i] + ",";
} }
let dataString = "create=" + seg_ + "&view=" + seg__ + "&edit=" + _seg___ + "&delete=" + seg____ + "&roleName=" + roleName + "&roleType=" + roleType + "&roleDescription=" + roleDescription + "&groupId=" + groupId + "&create_=" + _seg_ + "&view_=" + _seg__ + "&edit_=" + _seg___ + "&delete_=" + _seg____; let dataString = "create=" + seg_ + "&view=" + seg__ + "&edit=" + seg___ + "&delete=" + seg____ + "&roleName=" + roleName + "&roleType=" + roleType + "&roleDescription=" + roleDescription + "&groupId=" + groupId + "&create_=" + _seg_ + "&view_=" + _seg__ + "&edit_=" + _seg___ + "&delete_=" + _seg____;
let request = $.ajax({ let request = $.ajax({
type: 'POST', type: 'POST',
...@@ -615,16 +615,16 @@ ...@@ -615,16 +615,16 @@
$('.prl-menu-' + menuId).css({'display':'block'}); $('.prl-menu-' + menuId).css({'display':'block'});
$('.prl-sub-' + subMenuId).css({'display':'block'}); $('.prl-sub-' + subMenuId).css({'display':'block'});
}else{ }else{
$('.m-sc-' + moduleId).prop('checked', false); $('.sm-c-' + subMenuId).prop('checked', false);
$('.m-sv-' + moduleId).prop('checked', false); $('.sm-v-' + subMenuId).prop('checked', false);
$('.m-se-' + moduleId).prop('checked', false); $('.sm-e-' + subMenuId).prop('checked', false);
$('.m-sd-' + moduleId).prop('checked', false); $('.sm-d-' + subMenuId).prop('checked', false);
if ($('.parent-menu-' + menuId).filter(':checked').length > 0){ if ($('.parent-menu-' + menuId).filter(':checked').length > 0){
// Uncheck only this box, ignore the parents // Hide the privileges box for this sub-menu
$('.prl-sub-' + subMenuId).css({'display':'none'}); $('.prl-sub-' + subMenuId).css({'display':'none'});
}else{ }else{
// Uncheck the parents as well // Uncheck and hide the other privileges
$('.mod-' + moduleId).prop('checked', false); $('.mod-' + moduleId).prop('checked', false);
$('.menu-' + menuId).prop('checked', false); $('.menu-' + menuId).prop('checked', false);
$('.prl-' + moduleId).css({'display':'none'}); $('.prl-' + moduleId).css({'display':'none'});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment