Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
K
Kinetic_2.0
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
David Mburu
Kinetic_2.0
Commits
02ae6e4a
Commit
02ae6e4a
authored
Jun 10, 2019
by
Duncan Kishira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
10th June, 2019
parent
b904e5ed
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
79 additions
and
49 deletions
+79
-49
RolesAndPrivilegesController.php
app/Http/Controllers/RolesAndPrivilegesController.php
+65
-35
2019_06_07_055324_create_main_roles_table.php
.../migrations/2019_06_07_055324_create_main_roles_table.php
+1
-1
create.blade.php
resources/views/RolesAndPrivileges/create.blade.php
+13
-13
No files found.
app/Http/Controllers/RolesAndPrivilegesController.php
View file @
02ae6e4a
...
...
@@ -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'
)
# Save/Retrieve the role and return the Role ID
$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
([
'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()'
)
]
);
}
...
...
database/migrations/2019_06_07_055324_create_main_roles_table.php
View file @
02ae6e4a
...
...
@@ -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
();
...
...
resources/views/RolesAndPrivileges/create.blade.php
View file @
02ae6e4a
...
...
@@ -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'
,
...
...
@@ -615,16 +615,16 @@
$
(
'.prl-menu-'
+
menuId
).
css
({
'display'
:
'block'
});
$
(
'.prl-sub-'
+
subMenuId
).
css
({
'display'
:
'block'
});
}
else
{
$
(
'.
m-sc-'
+
module
Id
).
prop
(
'checked'
,
false
);
$
(
'.
m-sv-'
+
module
Id
).
prop
(
'checked'
,
false
);
$
(
'.
m-se-'
+
module
Id
).
prop
(
'checked'
,
false
);
$
(
'.
m-sd-'
+
module
Id
).
prop
(
'checked'
,
false
);
$
(
'.
sm-c-'
+
subMenu
Id
).
prop
(
'checked'
,
false
);
$
(
'.
sm-v-'
+
subMenu
Id
).
prop
(
'checked'
,
false
);
$
(
'.
sm-e-'
+
subMenu
Id
).
prop
(
'checked'
,
false
);
$
(
'.
sm-d-'
+
subMenu
Id
).
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'
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment