Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/Http/Controllers/BackEnd/EventController.php
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public function datatables()
$data['preview_url'] = route('informasi.event.preview', $row->id);
}

return view('forms.aksi-grup', $data);
return view('forms.aksi', $data);
})
->rawColumns(['aksi'])
->make();
Expand Down
9 changes: 6 additions & 3 deletions app/Models/Event.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,13 @@ public function scopeSlug($query, $value)
return $query->where('slug', $value);
}

public function scopeOpen($query)
{
return $query->where('status', 'OPEN');
}

public static function getOpenEvents()
{
return self::orderBy('start', 'desc')->get()->groupBy(function ($item) {
return Carbon::parse($item->start)->format('d-M-y');
});
return self::open()->orderBy('start', 'desc')->get();
}
}
14 changes: 8 additions & 6 deletions catatan_rilis.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ Terimakasih [isi disini] yang telah berkontribusi langsung mengembangkan aplikas

#### BUG

1. [#1652](https://github.com/OpenSID/OpenDK/issues/1652) Perbaiki fungsi unduh prosedur.
2. [#1653](https://github.com/OpenSID/OpenDK/issues/1653) Perbaiki fungsi halaman public regulasi tidak ditampilkan dengan benar.
3. [#1654](https://github.com/OpenSID/OpenDK/issues/1654) Perbaiki fungsi dokumen saat ini tidak di tampilkan dengan benar.
6. [#1647](https://github.com/OpenSID/OpenDK/issues/1647) Perbaiki fungsi lihat penduduk details agar hanya menapilkan tanpa field.
7. [#1655](https://github.com/OpenSID/OpenDK/issues/1655) Perbaiki fungsi Faq yang tampil pada halaman publik.
8. [#1682](https://github.com/OpenSID/OpenDK/issues/1682) Perbaiki statistik penduduk di halaman public masih belum sesuai.
1. [#1652](https://github.com/OpenSID/OpenDK/issues/1652) Perbaikan fungsi unduh prosedur.
2. [#1653](https://github.com/OpenSID/OpenDK/issues/1653) Perbaikan fungsi halaman public regulasi tidak ditampilkan dengan benar.
3. [#1654](https://github.com/OpenSID/OpenDK/issues/1654) Perbaikan fungsi dokumen saat ini tidak di tampilkan dengan benar.
6. [#1647](https://github.com/OpenSID/OpenDK/issues/1647) Perbaikan fungsi lihat penduduk details agar hanya menapilkan tanpa field.
7. [#1655](https://github.com/OpenSID/OpenDK/issues/1655) Perbaikan fungsi Faq yang tampil pada halaman publik.
8. [#1682](https://github.com/OpenSID/OpenDK/issues/1682) Perbaikan statistik penduduk di halaman public masih belum sesuai.
9. [#1656](https://github.com/OpenSID/OpenDK/issues/1656) Perbaikan tampilan widget event, media terkait, serta layout detail event.


#### TEKNIS

Expand Down
1 change: 0 additions & 1 deletion resources/views/backend/event/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
<th>Tanggal Selesai</th>
<th>Dihadiri Oleh</th>
<th>Status</th>
<th class="text-center" style="max-width: 100px;">Aksi</th>
</tr>
</thead>
</table>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ function updateSlides(slides) {

let slidesHtml = '';
slides.forEach(slide => {
const imageSrc = slide.gambar && slide.gambar.startsWith('http') ? slide.gambar : (slide.gambar ? '{{ asset('') }}' + slide.gambar : '{{ asset('img/placeholder.jpg') }}');
const imageSrc = slide.gambar && slide.gambar.startsWith('http') ? slide.gambar : (slide.gambar ? '{{ asset("") }}' + slide.gambar : '{{ asset("img/placeholder.jpg") }}');
slidesHtml += '<div class="swiper-slide">' +
'<div class="slider-class">' +
'<div class="legend"></div>' +
Expand Down Expand Up @@ -140,9 +140,9 @@ function updateSocialMedia(medsos) {
let socialHtml = '';
medsos.forEach(sosmed => {
const iconClass = getSosmedIcon(sosmed.nama);
sosmed.logo = sosmed.logo.replace(/\/+img\//, 'img/');
sosmed.logo = sosmed.logo ? sosmed.logo.replace(/\/+img\//, 'img/') : '';

const logoPath = sosmed.logo ? (sosmed.logo.startsWith('http') ? sosmed.logo : '{{ asset('') }}' + sosmed.logo) : '';
const logoPath = sosmed.logo ? (sosmed.logo.startsWith('http') ? sosmed.logo : '{{ asset("") }}' + sosmed.logo) : '';
socialHtml += '<li style="margin: 4px">' +
'<a href="' + (sosmed.url || '#') + '" rel="noopener noreferrer" target="_blank">' +
'<img src="' + logoPath + '" class="logo-medsos" alt="Media Sosial Image">' +
Expand Down Expand Up @@ -194,35 +194,44 @@ function getSosmedIcon(name) {

// Function to update events widget
function updateEvents(events) {
if (!events) {
if (!events || (Array.isArray(events) && events.length === 0)) {
$('#events-widget ul').html('<li class="time-label"><span class="bg-gray">Event tidak tersedia.</span></li>');
return;
}

let eventsHtml = '';
Object.values(events).forEach(eventGroup => {
if (Array.isArray(eventGroup)) {
eventGroup.forEach(event => {
const statusClass = event.status === 'OPEN' ? 'bg-maroon' : 'bg-gray';
const eventDate = event.start ? new Date(event.start).toLocaleDateString('id-ID', {
day: 'numeric',
month: 'long',
year: 'numeric'
}) : '';

eventsHtml += '<li>' +
'<i class="fa fa-calendar ' + statusClass + '"></i>' +
'<div class="timeline-item">' +
'<h4 class="timeline-header">' +
'<a href="' + (event.slug ? '/event/' + event.slug : '#') + '">' + (event.slug || 'Event') + '</a>' +
'</h4>' +
'<small class="text-yellow"><i class="fa fa-clock-o"></i> ' + eventDate + '</small>' +
'</div>' +
'</li>' +
'<br />';
});
}
});

const processEvent = (event) => {
const statusClass = event.status === 'OPEN' ? 'bg-maroon' : 'bg-gray';
const eventDate = event.start ? new Date(event.start).toLocaleDateString('id-ID', {
day: 'numeric',
month: 'long',
year: 'numeric'
}) : '';

eventsHtml += '<li>' +
'<i class="fa fa-calendar ' + statusClass + '"></i>' +
'<div class="timeline-item">' +
'<h4 class="timeline-header">' +
'<a href="' + (event.slug ? '/event/' + event.slug : '#') + '">' + (event.event_name || 'Event') + '</a>' +
'</h4>' +
'<small class="text-yellow"><i class="fa fa-clock-o"></i> ' + eventDate + '</small>' +
'</div>' +
'</li>' +
'<br />';
};

if (Array.isArray(events)) {
events.forEach(processEvent);
} else {
Object.values(events).forEach(eventGroup => {
if (Array.isArray(eventGroup)) {
eventGroup.forEach(processEvent);
} else {
processEvent(eventGroup);
}
});
}

if (eventsHtml === '') {
eventsHtml = '<li class="time-label"><span class="bg-gray">Event tidak tersedia.</span></li>';
Expand All @@ -242,7 +251,7 @@ function updateMediaTerkait(mediaTerkait) {

// First set of items
mediaTerkait.forEach(data => {
const logoPath = data.logo ? (data.logo.startsWith('http') ? data.logo : '{{ asset('storage/media_terkait') }}/' + data.logo) : '';
const logoPath = data.logo ? (data.logo.startsWith('http') ? data.logo : '{{ asset("storage/media_terkait") }}/' + data.logo) : '';
mediaHtml += '<li>' +
'<a href="' + (data.url || '#') + '" rel="noopener noreferrer" target="_blank">' +
'<img src="' + logoPath + '" alt="Logo">' +
Expand All @@ -253,7 +262,7 @@ function updateMediaTerkait(mediaTerkait) {
// Duplicate for seamless loop if more than 1 item
if (jumlahItem > 1) {
mediaTerkait.forEach(data => {
const logoPath = data.logo ? (data.logo.startsWith('http') ? data.logo : '{{ asset('media_terkait/') }}' + data.logo) : '';
const logoPath = data.logo ? (data.logo.startsWith('http') ? data.logo : '{{ asset("storage/media_terkait") }}/' + data.logo) : '';
mediaHtml += '<li>' +
'<a href="' + (data.url || '#') + '" rel="noopener noreferrer" target="_blank">' +
'<img src="' + logoPath + '" alt="Logo">' +
Expand All @@ -273,7 +282,7 @@ function updateMediaSosial(medsos) {

let socialHtml = '<ul style="list-style-type: none; display:flex; padding: 0;">';
medsos.forEach(data => {
const logoPath = data.logo ? (data.logo.startsWith('http') ? data.logo : '{{ asset('') }}' + data.logo) : '';
const logoPath = data.logo ? (data.logo.startsWith('http') ? data.logo : '{{ asset("") }}' + data.logo) : '';
socialHtml += '<li style="margin: 4px">' +
'<a href="' + (data.url || '#') + '" rel="noopener noreferrer" target="_blank">' +
'<img src="' + logoPath + '" class="logo-medsos" alt="Media Sosial Image">' +
Expand All @@ -291,8 +300,8 @@ function updateSinergiProgram(sinergi) {

let sinergiHtml = '<div class="row" style="margin: 0">';
sinergi.forEach(data => {
data.gambar = data.gambar.replace(/\/+img\//, 'img/');
const gambarPath = data.gambar ? (data.gambar.startsWith('http') ? data.gambar : '{{ asset('') }}' + data.gambar) : '';
data.gambar = data.gambar ? data.gambar.replace(/\/+img\//, 'img/') : '';
const gambarPath = data.gambar ? (data.gambar.startsWith('http') ? data.gambar : '{{ asset("") }}' + data.gambar) : '';
sinergiHtml += '<div class="col-md-6" style="padding: 4px;">' +
'<a href="' + (data.url || '#') + '" rel="noopener noreferrer" target="_blank">' +
'<img src="' + gambarPath + '" class="logo-sinergi-program" alt="Sinergi Program Image">' +
Expand All @@ -307,19 +316,20 @@ function updateSinergiProgram(sinergi) {
function updateProfile(profile) {
if (!profile) return;
let profileHtml = `<h5 class="text-bold">Kantor {{ $sebutan_wilayah }} ${profile.nama_kecamatan}</h5>
<ul class="no-padding">
<li> <small style="text-indent: 0px; font-size:15px"><i class="fa fa-map-marker"></i>
${profile.alamat}</small></li>
<li><small style="text-indent: 0px ;font-size:15px"><i class="fa fa-fax"></i>
${profile.kode_pos}</small></li>
<li><small style="text-indent: 0px ;font-size:15px"><a href="mailto:${profile.email}"
target="_blank"><i class="fa fa-envelope"></i> ${profile.email}</a></small></li>
<li><small style="text-indent: 0px ;font-size:15px"><i class="fa fa-phone"></i>
${profile.telepon}</small></li>
</ul>`;
<ul class="no-padding">
<li> <small style="text-indent: 0px; font-size:15px"><i class="fa fa-map-marker"></i>
${profile.alamat}</small></li>
<li><small style="text-indent: 0px ;font-size:15px"><i class="fa fa-fax"></i>
${profile.kode_pos}</small></li>
<li><small style="text-indent: 0px ;font-size:15px"><a href="mailto:${profile.email}"
target="_blank"><i class="fa fa-envelope"></i> ${profile.email}</a></small></li>
<li><small style="text-indent: 0px ;font-size:15px"><i class="fa fa-phone"></i>
${profile.telepon}</small></li>
</ul>`;

$('#desa-profil-container').html(profileHtml)
}

// Function to update pengurus widget
function updatePengurus(pengurus) {
if (!pengurus || !Array.isArray(pengurus)) return;
Expand All @@ -328,7 +338,7 @@ function updatePengurus(pengurus) {
'<div class="swiper-wrapper">';

pengurus.forEach(item => {
const fotoPath = item.foto ? item.foto : '{{ asset('img/no-profile.png') }}';
const fotoPath = item.foto ? item.foto : '{{ asset("img/no-profile.png") }}';

const jabatanNama = item.jabatan && typeof item.jabatan === 'object' ? item.jabatan.nama : (item.jabatan_nama || '');

Expand Down Expand Up @@ -377,15 +387,15 @@ function updatePengurus(pengurus) {
function updateCounter(counter) {
if (!counter) return;
let counterHtml = `<ul class="nav">
<li>Hari Ini <span class="pull-right badge bg-red">${counter.today} Kunjungan</span> </li>
<li>Kemarin <span class="pull-right badge bg-purple">${counter.yesterday} Kunjungan</span> </li>
<li>Minggu Ini <span class="pull-right badge bg-green">${counter.week} Kunjungan</span> </li>
<li>Bulan Ini <span class="pull-right badge bg-yellow">${counter.month} Kunjungan</span> </li>
<li>Tahun Ini <span class="pull-right badge bg-gray">${counter.year} Kunjungan</span> </li>
<li>Total <span class="pull-right badge bg-blue">${counter.all} Kunjungan</span> </li>
</ul>`;
<li>Hari Ini <span class="pull-right badge bg-red">${counter.today} Kunjungan</span> </li>
<li>Kemarin <span class="pull-right badge bg-purple">${counter.yesterday} Kunjungan</span> </li>
<li>Minggu Ini <span class="pull-right badge bg-green">${counter.week} Kunjungan</span> </li>
<li>Bulan Ini <span class="pull-right badge bg-yellow">${counter.month} Kunjungan</span> </li>
<li>Tahun Ini <span class="pull-right badge bg-gray">${counter.year} Kunjungan</span> </li>
<li>Total <span class="pull-right badge bg-blue">${counter.all} Kunjungan</span> </li>
</ul>`;
$('#desa-visitor-container').html(counterHtml)
}
})
});
</script>
@endpush
Original file line number Diff line number Diff line change
@@ -1,12 +1,23 @@
@extends('layouts.app ')
@extends('layouts.app')

@section('content')
<div class="col-md-8">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title text-bold">{{ $event->event_name }}</h3>
</div>
<div class="box-body">
<h4> {{ $event->event_name }}</h4>
<p> <i class="fa fa-calendar" aria-hidden="true"></i> {{ date('d M Y H:i:s', strtotime($event->start)) }} - {{ date('d M Y H:i:s', strtotime($event->end)) }}</p>
<p>{!! $event->description !!}</p>
<p>Yang Akan Hadir : {{ $event->attendants }}</p>

<hr>
<div class="event-description">
{!! $event->description !!}
</div>

@if($event->attendants)
<hr>
<p><strong><i class="fa fa-users" aria-hidden="true"></i> Yang Akan Hadir:</strong> {{ $event->attendants }}</p>
@endif
</div>
</div>
</div>
Expand Down