diff --git a/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php b/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php
index e3ff0be7..7e3de299 100644
--- a/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php
+++ b/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php
@@ -78,6 +78,7 @@ class MemberController extends Controller
->leftJoin('plans', 'plans.id', '=', 'member_plans.plan_id')
->leftJoin('services', 'services.code', '=', 'plans.service_code')
->where('member_plans.member_id', $members->id)
+ ->whereNull('member_plans.deleted_at')
->select('plans.service_code', 'services.name')
->get();
$res_data['services'] = $services;
diff --git a/Modules/HospitalPortal/Http/Controllers/Api/NotificationController.php b/Modules/HospitalPortal/Http/Controllers/Api/NotificationController.php
index 7a5096d5..19bee063 100644
--- a/Modules/HospitalPortal/Http/Controllers/Api/NotificationController.php
+++ b/Modules/HospitalPortal/Http/Controllers/Api/NotificationController.php
@@ -13,12 +13,12 @@ use Illuminate\Support\Facades\DB;
class NotificationController extends Controller
{
- public function getNotifications(Request $request, $hospital_id)
+ public function getNotifications(Request $request, $user_id)
{
$data = [
- 'hospital_id' => $hospital_id,
+ 'user_id' => $user_id,
];
- if (!$hospital_id)
+ if (!$user_id)
{
return ApiResponse::apiResponse('Not Found', $data, trans('Message.not_found'), 404);
}
@@ -36,7 +36,8 @@ class NotificationController extends Controller
DB::raw('DATE_FORMAT(notifications.created_at, "%Y-%m-%dT%H:%i:%s.000+07:00") as createdAt'),
'notifications.isUnRead',
)
- ->where('hospital_id', '=', $hospital_id)
+ ->where('user_id', '=', $user_id)
+ ->orderBy('id', 'DESC')
->get();
$res_data['notifications'] = $notifications;
return ApiResponse::apiResponse("Success", $res_data, trans('Message.success'), 200);
@@ -50,15 +51,15 @@ class NotificationController extends Controller
public function setReadNotification(Request $request)
{
$data = [
- 'hospital_id' => $request->hospital_id,
+ 'user_id' => $request->user_id,
'id' => $request->id,
'isUnRead'=> 0,
];
$validator = Validator::make($request->all(), [
- 'hospital_id' => 'required',
+ 'user_id' => 'required',
'id' => 'required'
], [
- 'hospital_id.required' => trans('Validation.required',['attribute' => 'Hospital ID']),
+ 'user_id.required' => trans('Validation.required',['attribute' => 'Hospital ID']),
'id.required' => trans('Validation.required',['attribute' => 'ID']),
]);
if ($validator->fails())
diff --git a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php
index e4af1901..7d3bdb2f 100644
--- a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php
+++ b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php
@@ -12,6 +12,7 @@ use App\Helpers\Helper;
use App\Models\File;
use Dompdf\Dompdf;
use Dompdf\Options;
+use Illuminate\Support\Facades\View;
class RequestLogController extends Controller
{
@@ -107,6 +108,33 @@ class RequestLogController extends Controller
if($response->original['statusCode'] == 200)
{
+ //send email
+ // Insert data notifications
+ $emailTo = 'alarm.center@linksehat.com';
+ $dataNotif = [
+ 'email' => $emailTo,
+ 'title' => 'Request LOG',
+ 'description' => 'Request LOG from Hospital Portal',
+ 'type' => 1,
+ 'isUnRead' => true,
+ 'created_by' => auth()->user()->id,
+ 'created_at' => date('Y-m-d H:i:s'),
+ 'updated_at' => date('Y-m-d H:i:s'),
+ ];
+ $sendNotif = Helper::insertNotification($dataNotif);
+ // Send Email after insert notifications
+ if($sendNotif)
+ {
+ //send to alarm
+ $nameTo = 'Admin LinkSehat';
+ $dataEmail = [
+ 'email' => $emailTo,
+ 'name' => $nameTo,
+ 'subject' => 'Request LOG from Hospital Portal'. ' '.date('Y-m-d H:i:s'),
+ 'body' => View::make('email/notif_email', ['name' => $nameTo, 'link' => 'https://primecenter.linksehat.com/'])->render(),
+ ];
+ Helper::sendEmail($dataEmail);
+ }
return ApiResponse::apiResponse("Success", $data, trans('Message.success'), 200);
}
else
@@ -352,6 +380,33 @@ class RequestLogController extends Controller
}
}
DB::commit();
+ //send email
+ // Insert data notifications
+ $emailTo = 'alarm.center@linksehat.com';
+ $dataNotif = [
+ 'email' => $emailTo,
+ 'title' => 'Request Final LOG',
+ 'description' => 'Request Final LOG from Hospital Portal',
+ 'type' => 1,
+ 'isUnRead' => true,
+ 'created_by' => auth()->user()->id,
+ 'created_at' => date('Y-m-d H:i:s'),
+ 'updated_at' => date('Y-m-d H:i:s'),
+ ];
+ $sendNotif = Helper::insertNotification($dataNotif);
+ // Send Email after insert notifications
+ if($sendNotif)
+ {
+ //send to alarm
+ $nameTo = 'Admin LinkSehat';
+ $dataEmail = [
+ 'email' => $emailTo,
+ 'name' => $nameTo,
+ 'subject' => 'Request Final LOG from Hospital Portal'. ' '.date('Y-m-d H:i:s'),
+ 'body' => View::make('email/notif_email', ['name' => $nameTo, 'link' => 'https://primecenter.linksehat.com/'])->render(),
+ ];
+ Helper::sendEmail($dataEmail);
+ }
return ApiResponse::apiResponse('Success', $data, trans('Message.success'), 200);
}
catch (\Exception $e) {
@@ -370,6 +425,7 @@ class RequestLogController extends Controller
$dataMember = DB::table('members')
->where('members.id', '=', $dataRequestLog->member_id)
->select(
+ 'members.nric',
'members.id',
'members.principal_id',
'members.name',
@@ -517,6 +573,7 @@ class RequestLogController extends Controller
$dataMember = DB::table('members')
->where('members.id', '=', $dataRequestLog->member_id)
->select(
+ 'members.nric',
'members.id',
'members.principal_id',
'members.name',
diff --git a/Modules/HospitalPortal/Routes/api.php b/Modules/HospitalPortal/Routes/api.php
index 21d36781..17fdec66 100644
--- a/Modules/HospitalPortal/Routes/api.php
+++ b/Modules/HospitalPortal/Routes/api.php
@@ -60,7 +60,7 @@ Route::prefix('v1')->group(function() {
//Notification
Route::controller(NotificationController::class)->group(function() {
//get notifications
- Route::get('notifications/{hospital_id}', 'getNotifications');
+ Route::get('notifications/{user_id}', 'getNotifications');
//Set read notification
Route::post('set-read-notification', 'setReadNotification');
});
diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php
index 5b84078c..f120b1d4 100644
--- a/Modules/Internal/Http/Controllers/Api/ClaimController.php
+++ b/Modules/Internal/Http/Controllers/Api/ClaimController.php
@@ -977,8 +977,9 @@ class ClaimController extends Controller
public function sendNotif($description)
{
// Insert data notifications
+ $emailTo = 'hospitaladmin@linksehat.com';
$dataNotif = [
- 'hospital_id' => 1,
+ 'email' => $emailTo,
'title' => 'Request Document',
'description' => 'Please enter the document '.$description,
'type' => 1,
@@ -991,12 +992,12 @@ class ClaimController extends Controller
// Send Email after insert notifications
if($sendNotif)
{
- //Beluma ada Data Users
+ $nameTo = 'Hospital Admin';
$dataEmail = [
- 'email' => 'akun.kerja.ivan@gmail.com',
- 'name' => 'Ivan Julian',
+ 'email' => $emailTo,
+ 'name' => $nameTo,
'subject' => 'Enter Document '.$description,
- 'body' => View::make('email/notif_email', ['name' => 'Ivan Julian', 'link' => 'https://linkmedis.com/chat'])->render(),
+ 'body' => View::make('email/notif_email', ['name' => $nameTo, 'link' => 'https://hospitalportal.linksehat.com/dashboard'])->render(),
];
Helper::sendEmail($dataEmail);
}
diff --git a/database/migrations/2024_01_10_111612_rename_hospital_id_to_user_id_and_add_email_to_notifications_table.php b/database/migrations/2024_01_10_111612_rename_hospital_id_to_user_id_and_add_email_to_notifications_table.php
new file mode 100644
index 00000000..12ed6580
--- /dev/null
+++ b/database/migrations/2024_01_10_111612_rename_hospital_id_to_user_id_and_add_email_to_notifications_table.php
@@ -0,0 +1,40 @@
+renameColumn('hospital_id', 'user_id')->nullable();
+
+ // Tambahkan field email setelah user_id
+ $table->string('email')->after('hospital_id')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('notifications', function (Blueprint $table) {
+ // Rollback migrasi dengan mengembalikan nama field ke semula
+ $table->renameColumn('user_id', 'hospital_id');
+
+ // Hapus field email
+ $table->dropColumn('email');
+ });
+ }
+};
diff --git a/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx b/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx
index 853dcf2e..d92edc43 100644
--- a/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx
+++ b/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogConfirmation.tsx
@@ -86,7 +86,7 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo
const resetForm = () => {
setFormData({
status: approve,
- no_identitas: '',
+ no_identitas: requestLog?.no_identitas ?? '',
keterangan: '',
hak_kamar_pasien: '',
penempatan_kamar: '',
diff --git a/frontend/hospital-portal/public/lang/en-US.json b/frontend/hospital-portal/public/lang/en-US.json
index 7bb9238b..48afb22c 100644
--- a/frontend/hospital-portal/public/lang/en-US.json
+++ b/frontend/hospital-portal/public/lang/en-US.json
@@ -38,5 +38,7 @@
"txtAddNew" : "Add New",
"txtAddress" : "Address",
"txtProvider": "Provider",
- "txtAlertProvider" : "Please enter provider"
+ "txtAlertProvider" : "Please enter provider",
+ "txtHelp" : "Need help?",
+ "txtContactUs" : "Contact Us"
}
diff --git a/frontend/hospital-portal/public/lang/id-ID.json b/frontend/hospital-portal/public/lang/id-ID.json
index bb75e6d5..57bb37f9 100644
--- a/frontend/hospital-portal/public/lang/id-ID.json
+++ b/frontend/hospital-portal/public/lang/id-ID.json
@@ -30,13 +30,15 @@
"txtSubmissionDate" : "Tanggal Pengajuan",
"txtDataNotFound" : "Data Tidak Ditemukan",
"txtConditionDocument" : "Dokumen Kondisi",
- "txtDiagnosisDokument" : "Dokumen Diagnosa",
- "txtSupportingResultDocument" : "Dokumen Hasil Pendukung",
+ "txtDiagnosisDokument" : "Dokumen Diagnosis",
+ "txtSupportingResultDocument" : "Dokumen Pendukung",
"txtAddResult" : "Tambah Hasil",
"txtServiceType" : "Tipe Layanan",
"txtAdditionalDocuments" : "Dokumen Tambahan",
"txtAddNew" : "Tambah Baru",
"txtAddress" : "Alamat",
"txtProvider": "Provider",
- "txtAlertProvider" : "Mohon masukan provider"
+ "txtAlertProvider" : "Mohon masukan provider",
+ "txtHelp" : "Butuh Bantuan?",
+ "txtContactUs" : "Kontak Kami"
}
diff --git a/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx b/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx
index be068570..4771961c 100644
--- a/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx
+++ b/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx
@@ -167,7 +167,7 @@ function NotificationItem({ notification, getDataNotifications }: { notification
const {enqueueSnackbar} = useSnackbar();
const handleClick = () => {
const data = {
- 'hospital_id' : 1,
+ 'user_id' : 1,
'id' : notification.id,
};
if(notification.isUnRead)
diff --git a/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarDocs.tsx b/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarDocs.tsx
index c6b2804c..a37b8b3c 100644
--- a/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarDocs.tsx
+++ b/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarDocs.tsx
@@ -1,11 +1,16 @@
// @mui
-import { Stack, Button, Typography } from '@mui/material';
+import { Stack,Link, Button, Typography } from '@mui/material';
// assets
import { DocIllustration } from '@/assets';
+import { Link as RouterLink } from "react-router-dom";
+
+import { LanguageContext } from '@/contexts/LanguageContext';
+import { useContext, useEffect, useState } from 'react';
// ----------------------------------------------------------------------
export default function NavbarDocs() {
+ const { localeData }: any = useContext(LanguageContext);
const handleClick = () => {
window.location.href = 'https://wa.me/6285890008500';
};
@@ -15,7 +20,7 @@ export default function NavbarDocs() {
spacing={3}
sx={{ px: 5, pb: 5, mt: 10, width: 1, textAlign: 'center', display: 'block' }}
>
-