diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php
index cdaaa1a..6271d81 100644
--- a/app/Http/Controllers/Dashboard/DatatableController.php
+++ b/app/Http/Controllers/Dashboard/DatatableController.php
@@ -1891,7 +1891,7 @@ public function user(Request $request){
}
})
->addColumn('action', function ($data) {
- $showUrl = route('dashboard.users.show', ['id' => encrypt_id($data->id)]);
+ $showUrl = route('dashboard.users.show', ['id' => encrypt_id($data->id), 'type' => 'account']);
$acceptUrl = route('dashboard.users.status.action', ['id' => encrypt_id($data->id), 'action' => 'accept']);
diff --git a/app/Http/Controllers/Dashboard/UserController.php b/app/Http/Controllers/Dashboard/UserController.php
index 895b24b..9e28aab 100644
--- a/app/Http/Controllers/Dashboard/UserController.php
+++ b/app/Http/Controllers/Dashboard/UserController.php
@@ -70,23 +70,29 @@ public function update(UserRequest $request, $id){
}
}
- public function show($id){
+ public function show($id, $type){
$user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id));
- $viewData = [
- 'title' => 'Detail Pengguna',
+ $data = [
+ 'title' => 'Profile Pengguna',
'user' => $user,
- 'roles' => Role::all()
+ 'roles' => Role::all(),
+ 'page' => 'show-user',
+ 'type' => $type
];
- if($user->role_id === '3'){
- $viewData['company'] = $user->company;
- $viewData['media'] = $user->company->media;
- $viewData['journalists'] = $user->company->media->journalists;
+ if($type === 'account'){
+ return view('dashboard.users.profiles.account', $data);
+ }elseif($type === 'login-activities'){
+ $data['loginActivities'] = LoginHistory::where('user_id', $user->id)->orderByDesc('id')->simplePaginate(20);
+ return view('dashboard.users.profiles.login-activity', $data);
+ }elseif($type === 'company'){
+ return view('dashboard.users.profiles.company', $data);
+ }elseif($type === 'media'){
+ return view('dashboard.users.profiles.media', $data);
+ }elseif($type === 'journalists'){
+ return view('dashboard.users.profiles.journalists', $data);
}
-
-
- return view('dashboard.users.show', $viewData);
}
public function resetPassword($id){
@@ -165,6 +171,7 @@ public function profile($type){
'title' => 'Detail Akun',
'user' => Auth::user(),
'roles' => Role::all(),
+ 'page' => 'profile',
'type' => $type
];
diff --git a/app/Models/Company.php b/app/Models/Company.php
index 1e8eb42..2ef453b 100644
--- a/app/Models/Company.php
+++ b/app/Models/Company.php
@@ -41,10 +41,10 @@ class Company extends Model
];
public function user(){
- return $this->belongsTo(User::class, 'user_id', 'id');
+ return $this->belongsTo(User::class, 'user_id', 'id')->withTrashed();
}
public function media(){
- return $this->hasOne(Media::class, 'company_id', 'id');
+ return $this->hasOne(Media::class, 'company_id', 'id')->withTrashed();
}
}
diff --git a/app/Models/Journalist.php b/app/Models/Journalist.php
index 664292a..c9de028 100644
--- a/app/Models/Journalist.php
+++ b/app/Models/Journalist.php
@@ -25,7 +25,7 @@ class Journalist extends Model
];
public function media(){
- return $this->belongsTo(Media::class, 'media_id', 'id');
+ return $this->belongsTo(Media::class, 'media_id', 'id')->withTrashed();
}
public function cooperationProposals()
diff --git a/app/Models/Media.php b/app/Models/Media.php
index 97f50cc..7dac51f 100644
--- a/app/Models/Media.php
+++ b/app/Models/Media.php
@@ -27,11 +27,11 @@ class Media extends Model
];
public function company(){
- return $this->belongsTo(Company::class, 'company_id', 'id');
+ return $this->belongsTo(Company::class, 'company_id', 'id')->withTrashed();
}
public function journalists(){
- return $this->hasMany(Journalist::class, 'media_id', 'id');
+ return $this->hasMany(Journalist::class, 'media_id', 'id')->withTrashed();
}
public function cooperations()
diff --git a/app/Models/User.php b/app/Models/User.php
index 19cd0de..2130918 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -64,6 +64,10 @@ public function role(){
}
public function company(){
- return $this->hasOne(Company::class, 'user_id', 'id');
+ return $this->hasOne(Company::class, 'user_id', 'id')->withTrashed();
+ }
+
+ public function loginHistories(){
+ return $this->hasMany(LoginHistory::class, 'user_id', 'id');
}
}
diff --git a/resources/views/dashboard/users/profiles/account.blade.php b/resources/views/dashboard/users/profiles/account.blade.php
index fa5cd11..796d5a2 100644
--- a/resources/views/dashboard/users/profiles/account.blade.php
+++ b/resources/views/dashboard/users/profiles/account.blade.php
@@ -1,5 +1,5 @@
@include('partials.dashboard.head')
-@include('partials.dashboard.sidebar', ['page' => 'profile'])
+@include('partials.dashboard.sidebar', ['page' => ($page === 'profile' ? 'profile' : 'users')])
@include('partials.dashboard.header')
@@ -8,18 +8,7 @@
-
-
Profile
-
-
- - Lihat informasi pribadi Anda di sini.
-
-
-
-
+ @include('dashboard.users.profiles.heading')
diff --git a/resources/views/dashboard/users/profiles/company.blade.php b/resources/views/dashboard/users/profiles/company.blade.php
index b1d0c03..b580529 100644
--- a/resources/views/dashboard/users/profiles/company.blade.php
+++ b/resources/views/dashboard/users/profiles/company.blade.php
@@ -1,5 +1,5 @@
@include('partials.dashboard.head')
-@include('partials.dashboard.sidebar', ['page' => 'profile'])
+@include('partials.dashboard.sidebar', ['page' => ($page === 'profile' ? 'profile' : 'users')])
@include('partials.dashboard.header')
@@ -8,18 +8,7 @@
-
-
Profile
-
-
- - Lihat informasi pribadi Anda di sini.
-
-
-
-
+ @include('dashboard.users.profiles.heading')
diff --git a/resources/views/dashboard/users/profiles/heading.blade.php b/resources/views/dashboard/users/profiles/heading.blade.php
new file mode 100644
index 0000000..d01b87a
--- /dev/null
+++ b/resources/views/dashboard/users/profiles/heading.blade.php
@@ -0,0 +1,27 @@
+@if ($page === 'profile')
+
+
Profile
+
+
+ - Lihat informasi pribadi Anda di sini.
+
+
+
+
+@elseif ($page === 'show-user')
+
+
Profile Pengguna
+
+
+ - Lihat detail informasi pengguna di sini.
+
+
+
+
+@endif
diff --git a/resources/views/dashboard/users/profiles/journalists.blade.php b/resources/views/dashboard/users/profiles/journalists.blade.php
index 18da5fa..364061f 100644
--- a/resources/views/dashboard/users/profiles/journalists.blade.php
+++ b/resources/views/dashboard/users/profiles/journalists.blade.php
@@ -1,5 +1,5 @@
@include('partials.dashboard.head')
-@include('partials.dashboard.sidebar', ['page' => 'profile'])
+@include('partials.dashboard.sidebar', ['page' => ($page === 'profile' ? 'profile' : 'users')])
@include('partials.dashboard.header')
@@ -8,18 +8,7 @@
-
-
Profile
-
-
- - Lihat informasi pribadi Anda di sini.
-
-
-
-
+ @include('dashboard.users.profiles.heading')
diff --git a/resources/views/dashboard/users/profiles/login-activity.blade.php b/resources/views/dashboard/users/profiles/login-activity.blade.php
index bdf82df..e18dec1 100644
--- a/resources/views/dashboard/users/profiles/login-activity.blade.php
+++ b/resources/views/dashboard/users/profiles/login-activity.blade.php
@@ -1,5 +1,5 @@
@include('partials.dashboard.head')
-@include('partials.dashboard.sidebar', ['page' => 'profile'])
+@include('partials.dashboard.sidebar', ['page' => ($page === 'profile' ? 'profile' : 'users')])
@include('partials.dashboard.header')
@@ -8,18 +8,7 @@
-
-
Profile
-
-
- - Lihat informasi pribadi Anda di sini.
-
-
-
-
+ @include('dashboard.users.profiles.heading')
diff --git a/resources/views/dashboard/users/profiles/media.blade.php b/resources/views/dashboard/users/profiles/media.blade.php
index 5d1c877..e3781d2 100644
--- a/resources/views/dashboard/users/profiles/media.blade.php
+++ b/resources/views/dashboard/users/profiles/media.blade.php
@@ -1,5 +1,5 @@
@include('partials.dashboard.head')
-@include('partials.dashboard.sidebar', ['page' => 'profile'])
+@include('partials.dashboard.sidebar', ['page' => ($page === 'profile' ? 'profile' : 'users')])
@include('partials.dashboard.header')
@@ -8,18 +8,7 @@
-
-
Profile
-
-
- - Lihat informasi pribadi Anda di sini.
-
-
-
-
+ @include('dashboard.users.profiles.heading')
diff --git a/resources/views/dashboard/users/profiles/tabs.blade.php b/resources/views/dashboard/users/profiles/tabs.blade.php
index 6ddb1f0..a90345c 100644
--- a/resources/views/dashboard/users/profiles/tabs.blade.php
+++ b/resources/views/dashboard/users/profiles/tabs.blade.php
@@ -1,8 +1,9 @@
+@if ($page === 'profile')
+@elseif ($page === 'show-user')
+
+@endif
diff --git a/routes/web.php b/routes/web.php
index ba0b672..e9a099f 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -466,7 +466,7 @@
Route::get('/', 'index')->name('index');
Route::get('/create', 'create')->name('create');
Route::post('/', 'store')->name('store');
- Route::get('/{id}/show', 'show')->name('show');
+ Route::get('/{id}/{type}/show', 'show')->name('show');
Route::get('/{id}/edit', 'edit')->name('edit');
Route::put('/{id}', 'update')->name('update');
Route::get('/{id}/reset', 'resetPassword')->name('reset.password');