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

10th June, 2019

parent b904e5ed
......@@ -45,36 +45,58 @@ class RolesAndPrivilegesController extends Controller
try{
DB::BeginTransaction();
$createPrivileges = substr($request->create, 0, -1);
$viewPrivileges = substr($request->view, 0, -1);
$editPrivileges = substr($request->edit, 0, -1);
$deletePrivileges = substr($request->delete, 0, -1);
# Module 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);
# 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_type = $request->roleType;
$role_description = $request->roleDescription;
$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);
$viewPrivileges = explode(',', $viewPrivileges);
$editPrivileges = explode(',', $editPrivileges);
$deletePrivileges = explode(',', $deletePrivileges);
# Save the role and retrieve the Role ID
$role_id = DB::table('roles')
->insertGetId([
# Save/Retrieve the role and return the Role ID
$role_id = DB::table('main_roles')
->where([
'role_name' => $role_name,
'role_type' => $role_type,
'role_description' => $role_description,
'user_group' => $group_id
]);
])
->first();
if (count($role_id) > 0){
$role_id = $role_id->id;
}else{
$role_id = DB::table('main_roles')
->insertGetId([
'role_name' => $role_name,
'role_type' => $role_type,
'role_description' => $role_description,
'user_group' => $group_id
]);
}
# Save the data
#####################################################################################
# All modules
# 1. Create privileges
......@@ -86,11 +108,12 @@ class RolesAndPrivilegesController extends Controller
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 0,
'create_permission' => $arr_[1]
'item_type' => 0
],
[
'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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 0,
'view_permission' => $arr_[1]
'item_type' => 0
],
[
'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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 0,
'edit_permission' => $arr_[1]
'item_type' => 0
],
[
'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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 0,
'delete_permission' => $arr_[1]
'item_type' => 0
],
[
'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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 1,
'create_permission' => $arr_[1]
'item_type' => 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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 1,
'view_permission' => $arr_[1]
'item_type' => 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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 1,
'edit_permission' => $arr_[1]
'item_type' => 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
'role' => $role_id,
'user_group' => $group_id,
'item' => $arr_[0],
'item_type' => 1,
'delete_permission' => $arr_[1]
'item_type' => 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
$table->string('role_name');
$table->string('role_type')->nullable();
$table->string('role_description')->nullable();
$table->unsignedInteger('group_id');
$table->unsignedInteger('user_group');
$table->unsignedInteger('level');
$table->unsignedInteger('created_by')->nullable();
$table->unsignedInteger('modified_by')->nullable();
......
......@@ -149,10 +149,10 @@
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 "<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-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-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-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-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 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 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 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>";
echo "</li>";
}
......@@ -298,7 +298,7 @@
_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({
type: 'POST',
......@@ -565,7 +565,7 @@
}
});
$(document).on('change', '.menu-chk', function(){
$(document).on('change', '.menu-chk', function(){
let moduleId = $(this).data('moduleId');
let menuId = $(this).data('menuId');
......@@ -615,16 +615,16 @@
$('.prl-menu-' + menuId).css({'display':'block'});
$('.prl-sub-' + subMenuId).css({'display':'block'});
}else{
$('.m-sc-' + moduleId).prop('checked', false);
$('.m-sv-' + moduleId).prop('checked', false);
$('.m-se-' + moduleId).prop('checked', false);
$('.m-sd-' + moduleId).prop('checked', false);
$('.sm-c-' + subMenuId).prop('checked', false);
$('.sm-v-' + subMenuId).prop('checked', false);
$('.sm-e-' + subMenuId).prop('checked', false);
$('.sm-d-' + subMenuId).prop('checked', false);
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'});
}else{
// Uncheck the parents as well
// Uncheck and hide the other privileges
$('.mod-' + moduleId).prop('checked', false);
$('.menu-' + menuId).prop('checked', false);
$('.prl-' + moduleId).css({'display':'none'});
......@@ -634,7 +634,7 @@
}
});
});
</script>
@endsection
\ No newline at end of file
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