diff --git a/app/Http/Controllers/.fuse_hidden00000c9a00000002 b/app/Http/Controllers/.fuse_hidden00000c9a00000002 new file mode 100644 index 0000000000000000000000000000000000000000..b734658a9be61223d06d25cf7cf02a4f25e20991 --- /dev/null +++ b/app/Http/Controllers/.fuse_hidden00000c9a00000002 @@ -0,0 +1,146 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use App\Http\Controllers\APIBaseController as APIBaseController; +use Illuminate\Support\Facades\Auth; +use App\User; +use App\Pegawai; +use App\PMO; +use App\Admin; +use App\Kinerja; +use App\UnitKerja; +use App\Posisi; +use App\KelompokKompetensi; +use App\RekomendasiPosisi; +use App\RekomendasiTraining; +use App\Training; + +class PagesController extends APIBaseController +{ + public function index() { + if(!$this->authenticate(6)){return redirect('/');} + return view('welcome'); + } + + public function landing() { + if(!$this->authenticate(6)){return redirect('/');} + if(!$this->authenticate(3) and !$this->authenticate(2) and $this->authenticate(1)){return redirect('/pages/profile');} + return view('pages'); + } + + public function pegawai(){ + if(!$this->authenticate(1)){return redirect('/');} + + $id = Auth::user()->id; + + $data_kinerja = Kinerja::where('id_pegawai', $id) + ->orderBy('tahun', 'ASC') + ->orderBy('semester', 'ASC') + ->get(); + $unit_kerja = UnitKerja::all(); + $posisi = Posisi::all(); + $kelompok_kompetensi = KelompokKompetensi::all(); + $rekomendasi_training = RekomendasiTraining::where('id_pegawai', $id)->get(); + $training_list = Training::all(); + $rekomendasi_posisi = RekomendasiPosisi::where('id_pegawai', $id)->get(); + $id_pengubah = Pegawai::where('id_user', $id)->first()->id_pengubah; + if ($id_pengubah === $id) { + $nama_pengubah = "Anda"; + } else { + $nama_pengubah = User::where('id', $id_pengubah)->first()->name; + } + $last_edited = Pegawai::where('id_user', $id)->first()->updated_at; + + return view("profile.index", compact('last_edited', 'nama_pengubah','data_kinerja', 'unit_kerja', 'posisi', 'kelompok_kompetensi', 'rekomendasi_training', 'training_list', 'rekomendasi_posisi')); + } + + public function pegawaiSpecific($id){ + if(!$this->authenticate(2)){return redirect('/');} + + $id_pmo = Auth::user()->id; + + $data_kinerja = Kinerja::where('id_pegawai', $id) + ->orderBy('tahun', 'ASC') + ->orderBy('semester', 'ASC') + ->get(); + $unit_kerja = UnitKerja::all(); + $posisi = Posisi::all(); + $kelompok_kompetensi = KelompokKompetensi::all(); + $rekomendasi_training = RekomendasiTraining::where('id_pegawai', $id)->get(); + $training_list = Training::all(); + $rekomendasi_posisi = RekomendasiPosisi::where('id_pegawai', $id)->get(); + $id_pengubah = Pegawai::where('id_user', $id)->first()->id_pengubah; + if ($id_pengubah === $id_pmo) { + $nama_pengubah = "Anda"; + } else { + $nama_pengubah = User::where('id', $id_pengubah)->first()->name; + } + $last_edited = Pegawai::where('id_user', $id)->first()->updated_at; + + return view("profile.pmo", compact('id', 'last_edited', 'nama_pengubah','data_kinerja', 'unit_kerja', 'posisi', 'kelompok_kompetensi', 'rekomendasi_training', 'training_list', 'rekomendasi_posisi')); + } + + public function pmo() { + if(!$this->authenticate(2)){return redirect('/');} + return view('pages.pmo')->with('page', 'pmo'); + } + + public function admin() { + if(!$this->authenticate(3)){return redirect('/');} + return view('pages.admin')->with('page', 'admin'); + } + + public function addUser() { + if(!$this->authenticate(3)){return redirect('/');} + return view('pages.admin.adduser')->with('page', 'addUser'); + } + + private function authenticate($role){ + if (Auth::check()) { + $session_id = Auth::user()->id; + }else{ + return false; + } + + $auth = NULL; + switch ($role) { + case 1: + $auth = Pegawai::find($session_id); + break; + + case 2: + $auth = PMO::find($session_id); + break; + + case 3: + $auth = Admin::find($session_id); + break; + + case 4: + $auth = PMO::find($session_id); + if (is_null($auth)) { + $auth = Pegawai::find($session_id); + } + break; + + case 5: + $auth = PMO::find($session_id); + if (is_null($auth)) { + $auth = Admin::find($session_id); + } + break; + + case 6: + $auth = User::find($session_id); + break; + } + + if (is_null($auth)) { + return false; + } + + return true; + } +} diff --git a/app/Http/Controllers/PagesController.php b/app/Http/Controllers/PagesController.php index b734658a9be61223d06d25cf7cf02a4f25e20991..80fe96e3963b5c75fcfedd9535fdfda133cd3718 100644 --- a/app/Http/Controllers/PagesController.php +++ b/app/Http/Controllers/PagesController.php @@ -79,7 +79,9 @@ class PagesController extends APIBaseController } $last_edited = Pegawai::where('id_user', $id)->first()->updated_at; - return view("profile.pmo", compact('id', 'last_edited', 'nama_pengubah','data_kinerja', 'unit_kerja', 'posisi', 'kelompok_kompetensi', 'rekomendasi_training', 'training_list', 'rekomendasi_posisi')); + + + return view("profile.pmo", compact('id_pmo','id', 'last_edited', 'nama_pengubah','data_kinerja', 'unit_kerja', 'posisi', 'kelompok_kompetensi', 'rekomendasi_training', 'training_list', 'rekomendasi_posisi')); } public function pmo() { diff --git a/resources/assets/js/components/PMOMainPage.vue b/resources/assets/js/components/PMOMainPage.vue index 0be152d139c30b71093e9e9f1470e9600644019b..275cf0a4df6afa38ea1d2a67c1bda43df70cf9be 100644 --- a/resources/assets/js/components/PMOMainPage.vue +++ b/resources/assets/js/components/PMOMainPage.vue @@ -380,6 +380,20 @@ this.getKompetensi(); this.getKinerja(); this.getTraining(); + }, + mounted: function () { + let url = new URL(window.location.href); + console.log(window.location.href); + let tabParam = url.searchParams.get("tab"); + let nipParam = url.searchParams.get("nip"); + console.log(tabParam); + console.log(nipParam); + if (nipParam != null && tabParam != null) { + let payload = {}; + payload.name = tabParam; + payload.label = "Data Kompetensi"; + this.changeTable(payload); + } } } </script> diff --git a/resources/assets/js/components/ProfilPegawai.vue b/resources/assets/js/components/ProfilPegawai.vue index c51388c1aa7275817ffee2ef579383ca141630cc..e2e8118ef53e0893c939e00240aa82ab7bf964c2 100644 --- a/resources/assets/js/components/ProfilPegawai.vue +++ b/resources/assets/js/components/ProfilPegawai.vue @@ -693,13 +693,15 @@ Hasil Kompetensi <!-- <button class="btn btn-primary float-sm-right" v-on:click="editDataKompetensi" v-bind:disabled="disableEdit"> Edit <i class="fas fa-edit"></i> - --> </button> + </button> --> </div> <div class="card-body"> <div class="container"> - Belum ditambahkan. + <button class="btn btn-primary float-sm-left" v-on:click="downloadKompetensi" v-bind:disabled="disableEdit"> + Download <i class="fas fa-download"></i> + </button> </div> </div> @@ -710,9 +712,9 @@ <div class="card" id="rekomendasi"> <div class="card-header"> Rekomendasi - <!-- <button class="btn btn-primary float-sm-right" v-on:click="editRekomendasi" v-bind:disabled="disableEdit"> + <!-- <button class="btn btn-primary float-sm-right" v-on:click="editRekomendasi" v-bind:disabled="disableEdit"> Edit <i class="fas fa-edit"></i> - --> </button> + </button> --> </div> <div class="card-body"> @@ -987,6 +989,10 @@ }, methods: { + downloadKompetensi() { + window.open('/api/kompetensi/report/' + this.id); + }, + showAllDataKinerja() { this.isShowAllDataKinerja = true; this.dataKinerjaShow = this.dataKinerja; diff --git a/resources/assets/js/components/ProfilPegawaiSpecific.vue b/resources/assets/js/components/ProfilPegawaiSpecific.vue index 688bfd7535f86df10290c2e70cff7ec4602512e7..191f24d860795652e1c94aab97239d345929d211 100644 --- a/resources/assets/js/components/ProfilPegawaiSpecific.vue +++ b/resources/assets/js/components/ProfilPegawaiSpecific.vue @@ -690,7 +690,7 @@ <div class="card" id="data-kompetensi"> <div class="card-header"> - Hasil Kompetensi<button class="btn btn-primary float-sm-right" v-on:click="editDataKompetensi" v-bind:disabled="disableEdit"> + Hasil Kompetensi<button class="btn btn-primary float-sm-right" v-on:click="editKommpetensi" v-bind:disabled="disableEdit"> Edit <i class="fas fa-edit"></i> </button> </div> @@ -698,7 +698,9 @@ <div class="card-body"> <div class="container"> - Belum ditambahkan. + <button class="btn btn-primary float-sm-left" v-on:click="downloadKompetensi" v-bind:disabled="disableEdit"> + Download <i class="fas fa-download"></i> + </button> </div> </div> @@ -847,7 +849,7 @@ <script> export default { - props: ['id', 'unit-kerja', 'posisi', 'kelompok-kompetensi', 'data-kinerja-temp', 'rekomendasi-training-temp', 'training-list', 'rekomendasi-posisi-temp'], + props: ['id-pmo','id', 'unit-kerja', 'posisi', 'kelompok-kompetensi', 'data-kinerja-temp', 'rekomendasi-training-temp', 'training-list', 'rekomendasi-posisi-temp'], data() { return { @@ -985,6 +987,14 @@ }, methods: { + downloadKompetensi() { + window.open('/api/kompetensi/report/' + this.id); + }, + + editKommpetensi() { + window.open('/pages/pmo?nip=' + this.pegawai.nopeg + '&tab=dataKompetensi'); + }, + showAllDataKinerja() { this.isShowAllDataKinerja = true; this.dataKinerjaShow = this.dataKinerja; @@ -1258,7 +1268,7 @@ }) .then(function (response) { console.log(response); - window.location.href = '/pages/profile'; + window.location.href = '/pages/profile/' + this.id; }) .catch(function (error) { console.log(error); @@ -1284,7 +1294,7 @@ }) .then(function (response) { console.log(response); - window.location.href = "/pages/profile"; + window.location.href = "/pages/profile/" + this.id; }) .catch(function (error) { console.log(error); @@ -1328,7 +1338,7 @@ }) .then(function (response) { console.log(response); - window.location.href = "/pages/profile"; + window.location.href = "/pages/profile/" + this.id; }) .catch(function (error) { console.log(error);