MIF_E31231594/resources/views/admin/organisasi.blade.php

240 lines
12 KiB
PHP

@extends('layouts.admin')
@section('title', 'Data Organisasi')
@section('content')
@if (session('success'))
<div class="alert alert-success">{{ session('success') }}</div>
@endif
@if ($errors->any())
<div class="alert alert-danger">{{ $errors->first() }}</div>
@endif
<div class="card shadow-sm">
<!-- HEADER -->
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="mb-0">Data Organisasi</h5>
<button class="btn btn-primary btn-sm" type="button" data-bs-toggle="modal"
data-bs-target="#modalTambahOrganisasi">
<i class="bi bi-plus"></i> Tambah Organisasi
</button>
</div>
<!-- BODY -->
<div class="card-body">
<table class="table table-bordered table-striped">
<thead class="table-light">
<tr>
<th class="text-nowrap">No</th>
<th class="text-nowrap">Nama Organisasi</th>
<th class="text-nowrap">Deskripsi</th>
<th class="text-nowrap">Pembina</th>
<th class="text-nowrap">Ketua</th>
<th class="text-nowrap">Aksi</th>
</tr>
</thead>
<tbody>
@forelse($organisasi as $item)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $item->nama_organisasi }}</td>
<td>{{ \Illuminate\Support\Str::limit($item->deskripsi ?? '-', 40) }}</td>
<td>
<div class="d-flex flex-column gap-2">
@forelse ($item->pembinaUsers as $pembina)
<x-user-avatar :user="$pembina" :size="34" />
@empty
<span class="text-muted">-</span>
@endforelse
</div>
</td>
<td>
<div class="d-flex flex-column gap-2">
@forelse ($item->ketuaUsers as $ketua)
<x-user-avatar :user="$ketua" :size="34" />
@empty
<span class="text-muted">-</span>
@endforelse
</div>
</td>
<td>
<button class="btn btn-warning btn-sm" type="button" data-bs-toggle="modal"
data-bs-target="#modalEditOrganisasi{{ $item->id }}">
<i class="bi bi-pencil"></i>
</button>
<button class="btn btn-danger btn-sm" type="button" data-bs-toggle="modal"
data-bs-target="#modalHapusOrganisasi{{ $item->id }}">
<i class="bi bi-trash"></i>
</button>
</td>
</tr>
@empty
<tr>
<td colspan="6" class="text-center text-muted">Belum ada data organisasi.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
@foreach ($organisasi as $item)
<div class="modal fade" id="modalEditOrganisasi{{ $item->id }}" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edit Organisasi</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form method="POST" action="{{ route('admin.organisasi.update', $item) }}">
@csrf
@method('PUT')
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Nama Organisasi</label>
<input type="text" name="nama_organisasi" class="form-control"
value="{{ $item->nama_organisasi }}" maxlength="100" required>
</div>
<div class="mb-3">
<label class="form-label">Deskripsi</label>
<textarea name="deskripsi" class="form-control" rows="3">{{ $item->deskripsi }}</textarea>
</div>
<div class="mb-3">
<label class="form-label">Pembina</label>
@php
$currentPembinaIds = $item->pembinaUsers->pluck('id')->toArray();
@endphp
<select name="pembina_ids[]" class="form-select" multiple>
@foreach ($pembinaUsers as $pembina)
<option value="{{ $pembina->id }}" @selected(in_array($pembina->id, $currentPembinaIds))>
{{ $pembina->name }}
</option>
@endforeach
</select>
<small class="text-muted">Tahan CTRL untuk memilih beberapa pembina.</small>
</div>
<div class="mb-1">
<label class="form-label">Ketua</label>
@php
$currentKetuaIds = $item->ketuaUsers->pluck('id')->toArray();
@endphp
<select name="ketua_ids[]" class="form-select" multiple>
@foreach ($ketuaUsers as $ketua)
<option value="{{ $ketua->id }}" @selected(in_array($ketua->id, $currentKetuaIds))>
{{ $ketua->name }}
</option>
@endforeach
</select>
<small class="text-muted">Tahan CTRL untuk memilih beberapa ketua.</small>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="modalHapusOrganisasi{{ $item->id }}" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Hapus Organisasi</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Yakin ingin menghapus organisasi <strong>{{ $item->nama_organisasi }}</strong>?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<form method="POST" action="{{ route('admin.organisasi.destroy', $item) }}">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Hapus</button>
</form>
</div>
</div>
</div>
</div>
@endforeach
<div class="modal fade" id="modalTambahOrganisasi" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Tambah Organisasi</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form method="POST" action="{{ route('admin.organisasi.store') }}">
@csrf
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Nama Organisasi</label>
<input type="text" name="nama_organisasi" class="form-control"
value="{{ old('nama_organisasi') }}" maxlength="100" required>
</div>
<div class="mb-3">
<label class="form-label">Deskripsi</label>
<textarea name="deskripsi" class="form-control" rows="3">{{ old('deskripsi') }}</textarea>
</div>
<div class="mb-3">
<label class="form-label">Pembina</label>
<select name="pembina_ids[]" class="form-select" multiple>
@foreach ($pembinaUsers as $pembina)
<option value="{{ $pembina->id }}" @selected(collect(old('pembina_ids', []))->contains($pembina->id))>
{{ $pembina->name }}
</option>
@endforeach
</select>
<small class="text-muted">Tahan CTRL untuk memilih beberapa pembina.</small>
</div>
<div class="mb-1">
<label class="form-label">Ketua</label>
<select name="ketua_ids[]" class="form-select" multiple>
@foreach ($ketuaUsers as $ketua)
<option value="{{ $ketua->id }}" @selected(collect(old('ketua_ids', []))->contains($ketua->id))>
{{ $ketua->name }}
</option>
@endforeach
</select>
<small class="text-muted">Tahan CTRL untuk memilih beberapa ketua.</small>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
@if ($errors->any())
<script>
document.addEventListener('DOMContentLoaded', function() {
var modalElement = document.getElementById('modalTambahOrganisasi');
if (modalElement) {
var modal = new bootstrap.Modal(modalElement);
modal.show();
}
});
</script>
@endif
@endsection