Skip to content

Commit 66cfc58

Browse files
committed
fixing
1 parent 552327d commit 66cfc58

File tree

79 files changed

+39681
-248
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+39681
-248
lines changed

composer.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
"minimum-stability": "dev",
1111
"prefer-stable": true,
1212
"require": {
13+
"php": ">=7.0.0",
1314
"dandisy/adminlte-templates": "^1.0.0",
1415
"dandisy/filemanager": "^1.0.0",
1516
"dandisy/laravel-generator": "^1.0.0",
1617
"dandisy/swagger-generator": "^1.0.0",
1718
"doctrine/dbal": "~2.3",
19+
"itsgoingd/clockwork": "^3.1",
1820
"jlapp/swaggervel": "dev-master",
1921
"laravelcollective/html": "^5.5.0",
2022
"league/glide-laravel": "^1.0",
@@ -23,9 +25,6 @@
2325
"yajra/laravel-datatables-buttons": "3.0",
2426
"yajra/laravel-datatables-oracle": "~8.0"
2527
},
26-
"require-dev": {
27-
"barryvdh/laravel-debugbar": "^3.1"
28-
},
2928
"autoload": {
3029
"psr-4": {
3130
"Webcore\\Base\\": "src/"

src/app/DataTables/ProfileDataTable.php

+7-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ public function dataTable($query)
1818
{
1919
$dataTable = new EloquentDataTable($query);
2020

21-
return $dataTable->addColumn('action', 'profiles.datatables_actions');
21+
return $dataTable
22+
->editColumn('image', '<img width="100" src="{{$image}}">')
23+
->editColumn('user_id', '{{ $user["email"] }}')
24+
->addColumn('action', 'profiles.datatables_actions')
25+
->rawColumns(['image', 'action']);
2226
}
2327

2428
/**
@@ -29,7 +33,7 @@ public function dataTable($query)
2933
*/
3034
public function query(Profile $model)
3135
{
32-
return $model->newQuery();
36+
return $model->with('user');
3337
}
3438

3539
/**
@@ -65,6 +69,7 @@ protected function getColumns()
6569
{
6670
return [
6771
'image',
72+
'user_id',
6873
'biography'
6974
];
7075
}

src/app/Http/Controllers/AppBaseController.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ public function sendResponse($result, $message)
2323
return Response::json(ResponseUtil::makeResponse($message, $result));
2424
}
2525

26-
public function sendError($error, $code = 404)
26+
public function sendError($error, $message, $code = 404)
2727
{
28-
return Response::json(ResponseUtil::makeError($error), $code);
28+
return Response::json(ResponseUtil::makeError($message, $error), $code);
2929
}
3030
}

src/app/Http/Controllers/ProfileController.php

+58-14
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
use Flash;
1111
use App\Http\Controllers\AppBaseController;
1212
use Response;
13-
use Illuminate\Support\Facades\Auth; // add by dandisy
14-
use Illuminate\Support\Facades\Storage; // add by dandisy
13+
use Illuminate\Support\Facades\Auth; // added by dandisy
14+
use Illuminate\Support\Facades\Storage; // added by dandisy
15+
use Illuminate\Http\Request;
16+
use App\User;
1517

1618
class ProfileController extends AppBaseController
1719
{
@@ -42,11 +44,13 @@ public function index(ProfileDataTable $profileDataTable)
4244
*/
4345
public function create()
4446
{
45-
// add by dandisy
46-
47+
if(Auth::user()->hasRole(['superadministrator'])) {
48+
$user = User::all();
49+
50+
return view('profiles.create')
51+
->with('user', $user);
52+
}
4753

48-
// edit by dandisy
49-
//return view('profiles.create');
5054
return view('profiles.create');
5155
}
5256

@@ -61,12 +65,22 @@ public function store(CreateProfileRequest $request)
6165
{
6266
$input = $request->all();
6367

68+
// handling edit profile non superadmin
69+
if(Auth::user()->hasRole(['administrator','user'])) {
70+
$input['user_id'] = Auth::user()->id;
71+
}
72+
6473
$input['created_by'] = Auth::user()->id;
6574

6675
$profile = $this->profileRepository->create($input);
6776

6877
Flash::success('Profile saved successfully.');
6978

79+
// handling edit profile non superadmin
80+
if(Auth::user()->hasRole(['administrator','user'])) {
81+
return redirect(url('dashboard'));
82+
}
83+
7084
return redirect(route('profiles.index'));
7185
}
7286

@@ -99,19 +113,33 @@ public function show($id)
99113
*/
100114
public function edit($id)
101115
{
102-
// add by dandisy
103-
104-
105-
$profile = $this->profileRepository->findWithoutFail($id);
116+
$profile = NULL;
117+
if(Auth::user()->hasRole(['administrator','user'])) {
118+
$profile = $this->profileRepository->findWhere(['user_id' => Auth::user()->id])->first();
119+
}
120+
if(Auth::user()->hasRole(['superadministrator'])) {
121+
$profile = $this->profileRepository->findWithoutFail($id);
122+
}
106123

107124
if (empty($profile)) {
125+
// handling edit profile non superadmin
126+
if (Auth::user()->hasRole(['superadministrator','administrator','user'])) {
127+
return redirect(url('profiles/create'));
128+
}
129+
108130
Flash::error('Profile not found');
109131

110132
return redirect(route('profiles.index'));
111133
}
134+
135+
if(Auth::user()->hasRole(['superadministrator'])) {
136+
$user = User::all();
112137

113-
// edit by dandisy
114-
//return view('profiles.edit')->with('profile', $profile);
138+
return view('profiles.edit')
139+
->with('user', $user)
140+
->with('profile', $profile);
141+
}
142+
115143
return view('profiles.edit')
116144
->with('profile', $profile);
117145
}
@@ -130,18 +158,34 @@ public function update($id, UpdateProfileRequest $request)
130158

131159
$input['updated_by'] = Auth::user()->id;
132160

133-
$profile = $this->profileRepository->findWithoutFail($id);
161+
$profile = NULL;
162+
if(Auth::user()->hasRole(['administrator','user'])) {
163+
$profile = $this->profileRepository->findWhere(['user_id' => Auth::user()->id])->first();
164+
}
165+
if(Auth::user()->hasRole(['superadministrator'])) {
166+
$profile = $this->profileRepository->findWithoutFail($id);
167+
}
134168

135169
if (empty($profile)) {
136170
Flash::error('Profile not found');
171+
172+
// handling edit profile non superadmin
173+
if(Auth::user()->hasRole(['administrator','user'])) {
174+
return redirect(url('dashboard'));
175+
}
137176

138177
return redirect(route('profiles.index'));
139178
}
140179

141-
$profile = $this->profileRepository->update($input, $id);
180+
$profile = $this->profileRepository->update($input, $profile->id);
142181

143182
Flash::success('Profile updated successfully.');
144183

184+
// handling edit profile non superadmin
185+
if(Auth::user()->hasRole(['administrator','user'])) {
186+
return redirect(url('dashboard'));
187+
}
188+
145189
return redirect(route('profiles.index'));
146190
}
147191

src/app/Http/Controllers/UserController.php

+43-7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Flash;
1414
use App\Http\Controllers\AppBaseController;
1515
use Response;
16+
use Illuminate\Support\Facades\Auth; // added by dandisy
1617

1718
class UserController extends Controller
1819
{
@@ -104,10 +105,15 @@ public function show($id)
104105
*/
105106
public function edit($id)
106107
{
108+
// handling edit profile non superadmin
109+
if(Auth::user()->hasRole(['administrator','user']) && Auth::user()->id != $id) {
110+
return abort(404);
111+
}
112+
107113
$user = $this->userRepository->findWithoutFail($id);
108114
$role = $this->roleRepository->all();
109115

110-
$user['role'] = @$user->roles()->first()->id;
116+
$user['role'] = isset($user->roles()->first()->id) ? $user->roles()->first()->id : NULL;
111117

112118
if (empty($user)) {
113119
Flash::error('User not found');
@@ -128,27 +134,57 @@ public function edit($id)
128134
*/
129135
public function update($id, UpdateUserRequest $request)
130136
{
137+
// handling edit profile non superadmin
138+
if(Auth::user()->hasRole(['administrator','user']) && Auth::user()->id != $id) {
139+
return abort(404);
140+
}
141+
131142
$user = $this->userRepository->findWithoutFail($id);
143+
// dd($user->roles()->sync([$user->with('role')->find($id)->role->role_id]));
144+
// dd($user->with('role')->find($id)->role->role_id);
132145

133146
if (empty($user)) {
134147
Flash::error('User not found');
148+
149+
// handling edit profile non superadmin
150+
if(Auth::user()->hasRole(['administrator','user'])) {
151+
return redirect(url('dashboard'));
152+
}
135153

136154
return redirect(route('users.index'));
137155
}
138156

139-
$user->roles()->sync([$request->role]);
157+
if($request->role) {
158+
$user->roles()->sync([$request->role]);
159+
}
140160

141-
$data = $request->all();
142-
if($request->password === $request->confirm_password) {
143-
$data = $user->toArray();
161+
$input = $request->all();
162+
if($request->password) {
163+
if($request->password === $request->confirm_password) {
164+
$input['password'] = bcrypt($request->password);
165+
} else {
166+
Flash::success('Password not match.');
144167

145-
$data['password'] = bcrypt($request->password);
168+
// handling edit profile non superadmin
169+
if(Auth::user()->hasRole(['administrator','user'])) {
170+
return redirect(url('dashboard'));
171+
}
172+
173+
return redirect(route('users.index'));
174+
}
175+
} else {
176+
$input['password'] = $user->password;
146177
}
147178

148-
$user = $this->userRepository->update($data, $id);
179+
$user = $this->userRepository->update($input, $id);
149180

150181
Flash::success('User updated successfully.');
151182

183+
// handling edit profile non superadmin
184+
if(Auth::user()->hasRole(['administrator','user'])) {
185+
return redirect(url('dashboard'));
186+
}
187+
152188
return redirect(route('users.index'));
153189
}
154190

src/app/Models/Profile.php

+4
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,9 @@ class Profile extends Model
8181

8282
];
8383

84+
public function user() {
85+
return $this->belongsTo(\App\User::class, 'user_id', 'id');
86+
}
87+
8488

8589
}

src/app/Models/Setting.php

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ class Setting extends Model
2323
public $fillable = [
2424
'key',
2525
'value',
26-
'description'
26+
'description',
27+
'type'
2728
];
2829

2930
/**
@@ -34,7 +35,8 @@ class Setting extends Model
3435
protected $casts = [
3536
'key' => 'string',
3637
'value' => 'string',
37-
'description' => 'string'
38+
'description' => 'string',
39+
'type' => 'string'
3840
];
3941

4042
/**

src/app/Permission.php

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace App;
4+
5+
use Laratrust\LaratrustPermission;
6+
7+
class Permission extends LaratrustPermission
8+
{
9+
//
10+
}

src/app/Repositories/SettingRepository.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ class SettingRepository extends BaseRepository
1313
protected $fieldSearchable = [
1414
'key',
1515
'value',
16-
'description'
16+
'description',
17+
'type'
1718
];
1819

1920
/**

src/app/Role.php

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace App;
4+
5+
use Laratrust\LaratrustRole;
6+
7+
class Role extends LaratrustRole
8+
{
9+
//
10+
}

src/app/RoleUser.php

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace App;
4+
5+
use Laratrust\LaratrustRole;
6+
7+
class RoleUser extends LaratrustRole
8+
{
9+
public $table = 'role_user';
10+
11+
public $fillable = [
12+
'user_id',
13+
'role_id'
14+
];
15+
16+
/**
17+
* Validation rules
18+
*
19+
* @var array
20+
*/
21+
public static $rules = [
22+
'user_id' => 'required',
23+
'role_id' => 'required'
24+
];
25+
}

0 commit comments

Comments
 (0)