diff --git a/app/Exports/JenisPenilaianExport.php b/app/Exports/JenisPenilaianExport.php new file mode 100644 index 0000000..7d633eb --- /dev/null +++ b/app/Exports/JenisPenilaianExport.php @@ -0,0 +1,46 @@ +id, + $row->code, + $row->name, + $row->created_at + ]; + } + + public function headings(): array + { + return [ + 'ID', + 'Code', + 'Jenis Penilaian', + 'Created At' + ]; + } + + public function columnFormats(): array + { + return [ + 'A' => NumberFormat::FORMAT_NUMBER, + 'D' => NumberFormat::FORMAT_DATE_DATETIME + ]; + } +} diff --git a/app/Exports/TeamPenilaianExport.php b/app/Exports/TeamPenilaianExport.php new file mode 100644 index 0000000..3fdc1f7 --- /dev/null +++ b/app/Exports/TeamPenilaianExport.php @@ -0,0 +1,57 @@ +join('regions', 'teams.regions_id', '=', 'regions.id') + ->leftJoin('teams_users', 'teams.id', '=', 'teams_users.teams_id') + ->leftJoin('users', 'teams_users.user_id', '=', 'users.id') + ->groupBy('teams.id', 'teams.name', 'regions.name') + ->get(); + } + + public function map($row): array + { + return [ + $row->team_name, + $row->region_name, + $row->team_group, + ]; + } + + public function headings(): array + { + return [ + 'Name', + 'Region', + 'Anggota Team', + ]; + } + + public function columnFormats(): array + { + return [ + 'A' => NumberFormat::FORMAT_TEXT, + 'B' => NumberFormat::FORMAT_TEXT, + 'C' => NumberFormat::FORMAT_TEXT, + ]; + } +} diff --git a/app/Http/Controllers/JenisPenilaianController.php b/app/Http/Controllers/JenisPenilaianController.php index c38f673..3e16ce1 100644 --- a/app/Http/Controllers/JenisPenilaianController.php +++ b/app/Http/Controllers/JenisPenilaianController.php @@ -6,15 +6,12 @@ use Exception; use App\Http\Controllers\Controller; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; -use Illuminate\Http\Response; use Modules\Lpj\Models\JenisPenilaian; - use Modules\Lpj\Http\Requests\JenisPenilaianRequest; - - +use Modules\Lpj\Exports\JenisPenilaianExport; +use Maatwebsite\Excel\Facades\Excel; class JenisPenilaianController extends Controller { - public $user; /** * Display a listing of the resource. @@ -62,7 +59,6 @@ class JenisPenilaianController extends Controller public function update(JenisPenilaianRequest $request, $id) { - $validate = $request->validate(); // dump($validate); @@ -96,8 +92,6 @@ class JenisPenilaianController extends Controller public function dataForDatatables(Request $request) { - - if (is_null($this->user) || !$this->user->can('jenis_penilaian.view')) { //abort(403, 'Sorry! You are not allowed to view users.'); } @@ -112,7 +106,7 @@ class JenisPenilaianController extends Controller }); } - if($request->has('sortOrder') && !empty($request->get('sortOrder'))){ + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { $order = $request->get('sortOrder'); $column = $request->get('sortField'); $query->orderBy($column, $order); @@ -153,4 +147,10 @@ class JenisPenilaianController extends Controller 'data' => $data ]); } + + + public function export() + { + return Excel::download(new JenisPenilaianExport(), 'jenis-penilaian.xlsx'); + } } diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php new file mode 100644 index 0000000..831c163 --- /dev/null +++ b/app/Http/Controllers/PenilaianController.php @@ -0,0 +1,67 @@ +toArray(); + $region = Regions::whereNotIn('id', $regionTeam)->get(); + + // cek user apakah sudah ada di tabel teams_users + $userTeam = TeamsUsers::pluck('user_id')->toArray(); + $user = User::whereNotIn('id', $userTeam)->get(); return view('lpj::teams.form', compact('region', 'user')); } @@ -86,8 +93,13 @@ class TeamsController extends Controller public function edit($id) { $teams = Teams::find($id); + + $region = Regions::all(); - $user = User::all(); + $usedUsers = TeamsUsers::where('teams_id', '!=', $id)->pluck('user_id')->toArray(); + + $user = User::whereNotIn('id', $usedUsers)->get(); + // Ambil user yang sudah ada di tim ini $selectedUsers = $teams->teamsUsers->pluck('user_id')->toArray(); return view('lpj::teams.form', compact('teams', 'region', 'user', 'selectedUsers')); @@ -149,15 +161,11 @@ class TeamsController extends Controller DB::commit(); - return redirect() - ->route('basicdata.teams.index') - ->with('success', 'Team has been deleted successfully.'); + echo json_encode(['success' => true, 'message' => 'Team has been deleted successfully']); + } catch (Exception $e) { DB::rollBack(); - - return redirect() - ->route('basicdata.teams.index') - ->with('error', 'Failed to delete team. '); + echo json_encode(['success' => false, 'message' => 'Failed to delete Team']); } } @@ -236,6 +244,10 @@ class TeamsController extends Controller } + public function export() + { + return Excel::download(new TeamPenilaianExport, 'team-penilai.xlsx'); + } } diff --git a/app/Http/Requests/JenisPenilaianRequest.php b/app/Http/Requests/JenisPenilaianRequest.php index 58562ea..f8479f0 100644 --- a/app/Http/Requests/JenisPenilaianRequest.php +++ b/app/Http/Requests/JenisPenilaianRequest.php @@ -22,8 +22,7 @@ class JenisPenilaianRequest extends FormRequest if ($this->method() == 'PUT') { - $rules['code'] = 'required|string|max:3|unique:jenis_penilaian,code,' . $this->route('id'); - + $rules['code'] = 'required|string|max:3|unique:jenis_penilaian,code,' . $this->id; } else { $rules['code'] = 'required|string|max:3|unique:jenis_penilaian,code'; diff --git a/app/Http/Requests/PenilaianRequest.php b/app/Http/Requests/PenilaianRequest.php new file mode 100644 index 0000000..8b29d51 --- /dev/null +++ b/app/Http/Requests/PenilaianRequest.php @@ -0,0 +1,26 @@ +
@if (isset($jenisPenilaian->id)) @@ -23,7 +23,7 @@ {{ isset($jenisPenilaian->id) ? 'Edit' : 'Tambah' }} jenis penilaian
- Back
diff --git a/resources/views/jenis_penilaian/index.blade.php b/resources/views/jenis_penilaian/index.blade.php index 4d027a6..7e26e37 100644 --- a/resources/views/jenis_penilaian/index.blade.php +++ b/resources/views/jenis_penilaian/index.blade.php @@ -1,14 +1,14 @@ @extends('layouts.main') @section('breadcrumbs') - {{ Breadcrumbs::render('basicdata.jenispenilaian') }} + {{ Breadcrumbs::render('basicdata.jenis-penilaian') }} @endsection @section('content')
+ data-api-url="{{ route('basicdata.jenis-penilaian.datatables') }}">

Daftar Jenis penilaian @@ -16,14 +16,14 @@ @@ -91,7 +91,7 @@ } }); - $.ajax(`basic-data/jenispenilaian/${data}`, { + $.ajax(`basic-data/jenis-penilaian/${data}`, { type: 'DELETE' }).then((response) => { swal.fire('Deleted!', 'User has been deleted.', 'success').then(() => { @@ -135,7 +135,7 @@ title: 'Status', render: (item, data) => { return `
- + diff --git a/resources/views/penilaian/index.blade.php b/resources/views/penilaian/index.blade.php new file mode 100644 index 0000000..cfd8309 --- /dev/null +++ b/resources/views/penilaian/index.blade.php @@ -0,0 +1,128 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{-- {{ Breadcrumbs::render('penilaian') }} --}} +@endsection + +@section('content') +
+ +
+ +
+ + + {{-- @if (isset($debitur->id)) + @method('PUT') + @endif + @csrf --}} +
+ +
+ + +
+
+
+ +
+ + @error('cif') + {{ $message }} + @enderror +
+
+
+ +
+ + @enderror +
+
+
+ +
+ + @error('name') + + @enderror +
+
+
+ +
+ + @error('npwp') + + @enderror +
+
+
+ +
+ + @error('email') + + @enderror +
+
+
+ +
+ + @error('phone') + + @enderror +
+
+ +
+ +
+ +
+
+ +
+@endsection diff --git a/resources/views/teams/form.blade.php b/resources/views/teams/form.blade.php index 2070f8c..3f0ab33 100644 --- a/resources/views/teams/form.blade.php +++ b/resources/views/teams/form.blade.php @@ -78,7 +78,7 @@
- +