Skip to content

Commit c2a2812

Browse files
committed
Added User DEMO
1 parent d276b92 commit c2a2812

30 files changed

+75322
-39
lines changed

config/permission.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?php
22

33
return [
4-
'prefix' => 'admin',
5-
'namespace' => '\CodexShaper\Permission',
6-
'controller_namespace' => '\CodexShaper\Permission\Http\Controllers',
4+
'prefix' => 'admin',
5+
'namespace' => '\CodexShaper\Permission',
6+
'controller_namespace' => '\CodexShaper\Permission\Http\Controllers',
77
'models' => [
88
'permission' => CodexShaper\Permission\Models\Permission::class,
99
'role' => CodexShaper\Permission\Models\Role::class,
@@ -14,6 +14,6 @@
1414
'permissions' => 'permissions',
1515
'permission_role' => 'permission_role',
1616
],
17-
'resources_path' => 'vendor/codexshaper/laravel-permission/resources/assets/',
17+
'resources_path' => 'package/laravel-permission/resources/assets/',
1818

1919
];

mix-manifest.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"/resources/assets/dashboard/js/app.js": "/resources/assets/dashboard/js/app.js",
3+
"/resources/assets/dashboard/css/app.css": "/resources/assets/dashboard/css/app.css"
4+
}

package-lock.json

Lines changed: 9676 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"private": true,
3+
"scripts": {
4+
"dev": "npm run development",
5+
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
6+
"watch": "npm run development -- --watch",
7+
"watch-poll": "npm run watch -- --watch-poll",
8+
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
9+
"prod": "npm run production",
10+
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
11+
},
12+
"devDependencies": {
13+
"axios": "^0.19",
14+
"bootstrap": "^4.1.0",
15+
"cross-env": "^5.1",
16+
"jquery": "^3.2",
17+
"laravel-mix": "^4.0.7",
18+
"lodash": "^4.17.13",
19+
"popper.js": "^1.12",
20+
"resolve-url-loader": "^2.3.1",
21+
"sass": "^1.15.2",
22+
"sass-loader": "^7.1.0",
23+
"vue": "^2.5.17",
24+
"vue-template-compiler": "^2.6.10"
25+
},
26+
"dependencies": {
27+
"sweetalert2": "^8.16.3"
28+
}
29+
}

resources/assets/UserController.php

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<?php
2+
3+
namespace CodexShaper\Permission\Http\Controllers;
4+
5+
use CodexShaper\Permission\Http\Controllers\Controller;
6+
use CodexShaper\Permission\Models\Role;
7+
use CodexShaper\Permission\Models\User;
8+
use Illuminate\Http\Request;
9+
10+
class UserController extends Controller
11+
{
12+
public function index() {
13+
// dd( Role::where('slug', 'admin')->first()->permissions);
14+
$roles = Role::orderBy('updated_at', 'desc')->get();
15+
$users = User::orderBy('updated_at', 'desc')->get();
16+
return view('permission::users.index', compact('roles', 'users'));
17+
}
18+
19+
public function addRole(Request $request)
20+
{
21+
if( $request->ajax() ) {
22+
if( !Role::where('slug', slug($request->role_name))->exists() ){
23+
24+
$role = new Role;
25+
$role->name = $request->role_name;
26+
$role->slug = slug($request->role_name);
27+
if($role->save()){
28+
if( count( $request->permissions ) > 0 ) {
29+
$role->assignPermissions( $request->permissions );
30+
return response()->json([
31+
'success' => true,
32+
'role' => $role
33+
]);
34+
}
35+
}
36+
}else {
37+
return response()->json([
38+
'success' => false,
39+
'message' => 'Role Already Exists'
40+
]);
41+
}
42+
}
43+
44+
return response()->json(['success' => false]);
45+
}
46+
47+
public function getRole( Request $request )
48+
{
49+
if( $request->ajax() ) {
50+
if( $request->id ) {
51+
if( $role = Role::find( $request->id ) ){
52+
$permissions = $role->permissions;
53+
return response()->json([
54+
'success' => true,
55+
'role' => $role,
56+
'permissions' => $permissions
57+
]);
58+
}
59+
}
60+
}
61+
62+
return response()->json([
63+
'success' => false,
64+
'message' => 'There is no ajax request'
65+
]);
66+
}
67+
68+
public function updateRole( Request $request )
69+
{
70+
if($request->ajax()){
71+
if( isset( $request->role_id ) && $role = Role::find( $request->role_id ) ) {
72+
$role->name = $request->role_name;
73+
$role->slug = slug( $request->role_name );
74+
if( $role->update() ) {
75+
if( count( $request->permissions ) > 0 ) {
76+
$role->updatePermissions( $request->permissions );
77+
return response()->json([
78+
'success' => true,
79+
'role' => $role
80+
]);
81+
}
82+
}
83+
}
84+
}
85+
86+
return response()->json([
87+
'success' => false,
88+
'data' => $request->all()
89+
]);
90+
}
91+
92+
public function deleteRole( Request $request )
93+
{
94+
if($request->ajax()){
95+
if( isset( $request->role_id ) && $role = Role::find( $request->role_id ) ) {
96+
$role->revokePermissions();
97+
if( $role->delete() ) {
98+
return response()->json([
99+
'success' => true,
100+
'role' => $role
101+
]);
102+
}
103+
}
104+
}
105+
106+
return response()->json([
107+
'success' => false,
108+
'data' => $request->all()
109+
]);
110+
}
111+
}

0 commit comments

Comments
 (0)