diff --git a/Modules/Internal/Http/Controllers/Api/CorporateController.php b/Modules/Internal/Http/Controllers/Api/CorporateController.php index 2a83db60..11212cd8 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateController.php @@ -30,12 +30,11 @@ class CorporateController extends Controller return $query->where('name', 'LIKE', '%'.$search.'%') ->orWhere('code', 'LIKE', '%'.$search.'%'); }) - ->with('currentPolicy') + ->with('currentPolicy', 'subCorporates') ->withCount([ 'employees', 'corporatePlans', 'corporateBenefits', - 'subCorporates' ]) ->where('type', 'corporate') ->paginate(10); @@ -52,7 +51,7 @@ class CorporateController extends Controller $corporateGroups = Corporate::whereNull('parent_id')->get()->map(function($corporate) { return [ 'value' => $corporate->id, - 'label' => $corporate->name, + 'label' => $corporate->name.' ('.$corporate->code.')', ]; }); diff --git a/Modules/Internal/Http/Controllers/Api/MemberController.php b/Modules/Internal/Http/Controllers/Api/MemberController.php index bd912037..fe178a21 100644 --- a/Modules/Internal/Http/Controllers/Api/MemberController.php +++ b/Modules/Internal/Http/Controllers/Api/MemberController.php @@ -159,7 +159,7 @@ class MemberController extends Controller $rowResponse = $this->memberEnrollmentService->handleImportRow($corporate, $new_member_data); // Write Success Result to File - $singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRowWithResultFormat($new_member_data)); + $singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRowWithResultFormat($rowResponse)); $writer->addRow($singleRow); $imported_member_data++; } catch (ImportRowException $e) { diff --git a/Modules/Internal/Http/Controllers/Api/PlanController.php b/Modules/Internal/Http/Controllers/Api/PlanController.php index 1244ca55..4e667c45 100644 --- a/Modules/Internal/Http/Controllers/Api/PlanController.php +++ b/Modules/Internal/Http/Controllers/Api/PlanController.php @@ -34,6 +34,7 @@ class PlanController extends Controller // $corporatePlan->where('corporate_id', $corporate_id); // }) // ->with('corporatePlan') + ->orderBy('corporate_plan_id', 'ASC') ->paginate() ->appends($request->all()); diff --git a/Modules/Internal/Services/MemberEnrollmentService.php b/Modules/Internal/Services/MemberEnrollmentService.php index e178ef39..011ea50f 100644 --- a/Modules/Internal/Services/MemberEnrollmentService.php +++ b/Modules/Internal/Services/MemberEnrollmentService.php @@ -5,6 +5,7 @@ namespace Modules\Internal\Services; use App\Exceptions\ImportRowException; use App\Helpers\Helper; use App\Models\Corporate; +use App\Models\CorporateEmployee; use App\Models\CorporateDivision; use App\Models\CorporatePlan; use App\Models\Member; @@ -89,7 +90,7 @@ class MemberEnrollmentService "StartNoClaim" => "start_no_claim", "EndNoClaim" => "end_no_claim", "Option Mode" => "option_mode", - "Policy Inforce" => "policy_inforce", + "Policy Inforce" => "policy_in_force", "Renewal activation date" => "renewal_activation_date", "Renewal Activation Date" => "renewal_activation_date", "Ingestion Code" => "ingestion_code", // TODO I think this should not be here because if user uploading result then ingestion code and status will be filled @@ -156,6 +157,7 @@ class MemberEnrollmentService "internal_use_4" => "Internal Use", "member_since" => "Member Since", "internal_use_5" => "Internal Use", + "policy_inforce" => "Policy Inforce", "policy_in_force" => "Policy In Force", "member_suspended" => "Member Suspended", "activation_date" => "Activation Date", @@ -163,7 +165,6 @@ class MemberEnrollmentService "start_no_claim" => "StartNoClaim", "end_no_claim" => "EndNoClaim", "option_mode" => "Option Mode", - "policy_inforce" => "Policy Inforce", "renewal_activation_date" => "Renewal Activation Date", "ingestion_code" => "Ingestion Code", "ingestion_status" => "Ingestion Status", @@ -228,14 +229,13 @@ class MemberEnrollmentService "Internal Use", "Member Since", "Internal Use", - "Policy In Force", + "Policy Inforce", "Member Suspended", "Activation Date", "Internal Use", "StartNoClaim", "EndNoClaim", "Option Mode", - "Policy Inforce", "Renewal Activation Date", "Ingestion Code", "Ingestion Status", @@ -276,7 +276,7 @@ class MemberEnrollmentService } } - // TOOD RECORD BCA ONLY + // TODO RECORD BCA ONLY if ($row['record_type'] == 'D' && !empty($row['branch_code'])) { throw new ImportRowException(__('enrollment.BRANCH_CODE_NOT_REQUIRED'), 0, null, $row); } @@ -402,6 +402,7 @@ class MemberEnrollmentService // }) ->first(); + // Validate If Exist Member if ($member) { throw new ImportRowException(__('enrollment.MEMBER_UNIQUE', [ 'member_id' => $row['member_id'], @@ -530,12 +531,14 @@ class MemberEnrollmentService ]), 0, null, $row); } + if (Carbon::parse(strtotime($row['member_effective_date'])) > Carbon::parse(strtotime($row['member_expiry_date']))) { throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row); } - if (Carbon::parse($memberPolicy->end) > Carbon::parse(strtotime($row['member_expiry_date']) - || $memberPolicy->end > Carbon::parse(strtotime($row['member_expiry_date'])))) { + if (Carbon::parse($memberPolicy->end) > Carbon::parse(strtotime($row['member_expiry_date'])) + || $memberPolicy->end > Carbon::parse(strtotime($row['member_expiry_date'])) + ) { throw new ImportRowException(__('enrollment.MEMBER_RENEWAL_STILL_ACTIVE'), 0, null, $row); } @@ -575,8 +578,9 @@ class MemberEnrollmentService throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row); } - if (Carbon::parse($memberPolicy->end) > Carbon::parse(strtotime($row['member_expiry_date']) - || $memberPolicy->end > Carbon::parse(strtotime($row['member_expiry_date'])))) { + if (Carbon::parse($memberPolicy->end) > Carbon::parse(strtotime($row['member_expiry_date'])) + || $memberPolicy->end > Carbon::parse(strtotime($row['member_expiry_date'])) + ) { throw new ImportRowException(__('enrollment.MEMBER_RENEWAL_STILL_ACTIVE'), 0, null, $row); } @@ -593,61 +597,153 @@ class MemberEnrollmentService break; case "7": // Requesting to Change the Unique Data of the Member + + // if (empty($row["option_mode"])) { + // throw new ImportRowException(__('enrollment.OPTION_MODE_INVALID_FORMAT', [ + // 'member_id' => $row['member_id'], + // 'policy_id' => $row['policy_number'] + // ]), 0, null, $row); + // } + + // // Read Option Mode + // $option_mode = explode('!', $row['option_mode']); + // $corp_code = $option_mode[1] ?? null; + // $policy_number = $option_mode[2] ?? null; + // $member_id = $option_mode[3] ?? null; + // // Validate + // if ( !in_array($option_mode[0], ['P', 'D']) || empty($corp_code) || empty($policy_number) || empty($member_id) ) { + // throw new ImportRowException(__('enrollment.OPTION_MODE_INVALID_FORMAT', [ + // 'member_id' => $row['member_id'], + // 'policy_id' => $row['policy_number'] + // ]), 0, null, $row); + // } + $record_type = explode('>', $row['record_type']); + $record_type_old = $record_type[0] ?? null; + $record_type_new = $record_type[1] ?? null; + $corp_code = explode('>', $row['corporate_id']); + $corp_code_old = $corp_code[0] ?? null; + $corp_code_new = $corp_code[1] ?? null; + $policy_number = explode('>', $row['policy_number']); + $policy_number_old = $policy_number[0] ?? null; + $policy_number_new = $policy_number[1] ?? null; + $member_id = explode('>', $row['member_id']); + $member_id_old = $member_id[0] ?? null; + $member_id_new = $member_id[1] ?? null; + + $memberPolicy = MemberPolicy::query() - ->where('policy_id', $row['policy_number']) - ->where('member_id', $row['member_id']) + ->where('policy_id', $policy_number_old) + ->where('member_id', $member_id_old) ->with('member') ->first(); if (!$memberPolicy) { throw new ImportRowException(__('enrollment.MEMBER_NOT_EXISTS', [ - 'member_id' => $row['member_id'], - 'policy_id' => $row['policy_number'] + 'member_id' => $member_id_old, + 'policy_id' => $policy_number_old ]), 0, null, $row); } if ($memberPolicy->status != 'active') { throw new ImportRowException(__('enrollment.MEMBER_INACTIVE', [ - 'member_id' => $row['member_id'], - 'policy_id' => $row['policy_number'] + 'member_id' => $member_id_old, + 'policy_id' => $policy_number_old ]), 0, null, $row); } - // TODO OPTION MODE FORMAT VALIDATION - if (empty($row["option_mode"])) { - throw new ImportRowException(__('enrollment.OPTION_MODE_INVALID_FORMAT', [ - 'member_id' => $row['member_id'], - 'policy_id' => $row['policy_number'] - ]), 0, null, $row); + if ($record_type_new == 'P') { + if (!empty($row['principal_id'])) { + throw new ImportRowException(__('enrollment.PRINCIPAL_ID_NOT_REQUIRED'), 0, null, $row); + } + + if (empty($row['corporate_id'])) { + throw new ImportRowException(__('enrollment.CORPORATE_ID_REQUIRED'), 0, null, $row); + } + } + + if ($record_type_new == 'D') { + if (empty($row['principal_id'])) { + throw new ImportRowException(__('enrollment.PRINCIPAL_ID_REQUIRED'), 0, null, $row); + } } - if ( - $row['record_type'] == 'P' && - $memberPolicy->member->corporate->code == $row["corporate_id"] && - $memberPolicy->policy_id == $row['policy_number'] && - $memberPolicy->member_id == $row['member_id'] && - $memberPolicy->member->record_type == $row['record_type'] - ) { - throw new ImportRowException(__('enrollment.UNIQUE_CHANGE_PRINCIPAL_INVALID', [ - 'member_id' => $row['member_id'], - 'policy_id' => $row['policy_number'] - ]), 0, null, $row); + // if ( + // $record_type_new == 'P' && + // $memberPolicy->member->corporate->code == $row["corporate_id"] && + // $memberPolicy->policy_id == $row['policy_number'] && + // $memberPolicy->member_id == $row['member_id'] && + // $memberPolicy->member->record_type == $row['record_type'] + // ) { + // throw new ImportRowException(__('enrollment.UNIQUE_CHANGE_PRINCIPAL_INVALID', [ + // 'member_id' => $row['member_id'], + // 'policy_id' => $row['policy_number'] + // ]), 0, null, $row); + // } + + // if ( + // $record_type_new == 'D' && + // $memberPolicy->member->corporate->code == $row["corporate_id"] && + // $memberPolicy->policy_id == $row['policy_number'] && + // $memberPolicy->member->record_type == $row['record_type'] && + // $memberPolicy->member->payor_id == $row['payor_id'] + // ) { + // throw new ImportRowException(__('enrollment.UNIQUE_CHANGE_DEPENDANT_INVALID', [ + // 'member_id' => $row['member_id'], + // 'policy_id' => $row['policy_number'] + // ]), 0, null, $row); + // } + + try { + DB::beginTransaction(); + + if ( !empty($record_type_new) ) { + $member = $memberPolicy->member; + $member->record_type = $record_type_new; + $member->principal_id = $row['principal_id']; + + $member->save(); + } + + if ( !empty($corp_code_new) ) { + $oldCorporate = Corporate::where('code', $corp_code_old)->first(); + $newCorporate = Corporate::where('code', $corp_code_new)->first(); + + if (!$newCorporate) { + throw new ImportRowException(__('enrollment.CORPORATE_NOT_FOUND'), 0, null, $row); + } + $corporateEmployee = CorporateEmployee::where('corporate_id', $oldCorporate->id) + ->where('member_id', $memberPolicy->member->id) + ->first(); + $newCorporateEmployee = CorporateEmployee::updateOrCreate([ + 'corporate_id' => $oldCorporate->id, + 'member_id' => $memberPolicy->member->id + ], + [ + 'corporate_id' => $newCorporate->id, + 'member_id' => $memberPolicy->member->id + ]); + } + + if ( !empty($policy_number_new) ) { + $memberPolicy->policy_id = $policy_number_new; + $memberPolicy->save(); + } + + if ( !empty($member_id_new) ) { + $memberPolicy->member_id = $member_id_new; + $memberPolicy->save(); + + $member = $memberPolicy->member; + $member->member_id = $member_id_new; + $member->save(); + } + + DB::commit(); + } catch (\Exception $e) { + DB::rollback(); + throw new ImportRowException($e->getMessage(), $e->getCode(), $e, $row); } - if ( - $row['record_type'] == 'D' && - $memberPolicy->member->corporate->code == $row["corporate_id"] && - $memberPolicy->policy_id == $row['policy_number'] && - $memberPolicy->member->record_type == $row['record_type'] && - $memberPolicy->member->payor_id == $row['payor_id'] - ) { - throw new ImportRowException(__('enrollment.UNIQUE_CHANGE_DEPENDANT_INVALID', [ - 'member_id' => $row['member_id'], - 'policy_id' => $row['policy_number'] - ]), 0, null, $row); - } - - throw new ImportRowException(__('MODE 7 NOT HANDLED PROPERLY'), 0, null, $row); break; case "9": // Member Reactivation and Personal information update (Without replacement Card) $memberPolicy = MemberPolicy::query() @@ -678,12 +774,38 @@ class MemberEnrollmentService $memberPolicy->save(); break; case "13": // Advance Renewal with OLD Card No. (NO PRINT) - // ASDASDASD - throw new ImportRowException(__('MODE 13 NOT HANDLED PROPERLY'), 0, null, $row); + $memberPolicy = MemberPolicy::query() + ->where('policy_id', $row['policy_number']) + ->where('member_id', $row['member_id']) + ->first(); + + if (!$memberPolicy) { + throw new ImportRowException(__('enrollment.MEMBER_NOT_EXISTS', [ + 'member_id' => $row['member_id'], + 'policy_id' => $row['policy_number'] + ]), 0, null, $row); + } + + if ($memberPolicy->status != 'active') { + throw new ImportRowException(__('enrollment.MEMBER_INACTIVE', [ + 'member_id' => $row['member_id'], + 'policy_id' => $row['policy_number'] + ]), 0, null, $row); + } + + $newMemberPolicy = new MemberPolicy(); + $newMemberPolicy->fill([ + 'member_id' => $row['member_id'], + 'policy_id' => $row['policy_number'], + 'start' => Carbon::parse(strtotime($row['member_effective_date'])), + 'end' => Carbon::parse(strtotime($row['member_expiry_date'])), + 'status' => 'active' + ]); + $newMemberPolicy->save(); break; - - + + // THESE MODES BELOW ARE DISABLED case "4": // Member Update Start and End Date @@ -789,10 +911,10 @@ class MemberEnrollmentService } // Should be success then returning new member data with extra ingestion code & status - $member_data['ingestion_code'] = "200"; - $member_data['ingestion_status'] = "SUCCESS"; + $row['ingestion_code'] = "200"; + $row['ingestion_status'] = "SUCCESS"; - return $member_data; + return $row; } diff --git a/app/Models/Member.php b/app/Models/Member.php index f938c85a..ea1657d7 100644 --- a/app/Models/Member.php +++ b/app/Models/Member.php @@ -61,6 +61,16 @@ class Member extends Model return $this->hasMany(CorporateEmployee::class, 'member_id'); } + public function memberPlans() + { + return $this->hasMany(MemberPlan::class, 'member_id'); + } + + public function plans() + { + return $this->hasManyThrough(MemberPlan::class, Plan::class, 'member_id', 'plan_id', 'id', 'plan_id'); + } + public function policies() { return $this->hasMany(MemberPolicy::class, 'member_id', 'member_id'); diff --git a/artisan b/artisan old mode 100755 new mode 100644 diff --git a/frontend/client-portal/.env.development b/frontend/client-portal/.env.development old mode 100755 new mode 100644 diff --git a/frontend/client-portal/public/fonts/CircularStd-Bold.otf b/frontend/client-portal/public/fonts/CircularStd-Bold.otf old mode 100755 new mode 100644 diff --git a/frontend/client-portal/public/fonts/CircularStd-Book.otf b/frontend/client-portal/public/fonts/CircularStd-Book.otf old mode 100755 new mode 100644 diff --git a/frontend/client-portal/public/fonts/CircularStd-Medium.otf b/frontend/client-portal/public/fonts/CircularStd-Medium.otf old mode 100755 new mode 100644 diff --git a/frontend/dashboard/.env.development b/frontend/dashboard/.env.development old mode 100755 new mode 100644 diff --git a/frontend/dashboard/public/fonts/CircularStd-Bold.otf b/frontend/dashboard/public/fonts/CircularStd-Bold.otf old mode 100755 new mode 100644 diff --git a/frontend/dashboard/public/fonts/CircularStd-Book.otf b/frontend/dashboard/public/fonts/CircularStd-Book.otf old mode 100755 new mode 100644 diff --git a/frontend/dashboard/public/fonts/CircularStd-Medium.otf b/frontend/dashboard/public/fonts/CircularStd-Medium.otf old mode 100755 new mode 100644 diff --git a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx index 210fa202..52fe8050 100644 --- a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx @@ -13,6 +13,7 @@ import { useParams, useSearchParams } from 'react-router-dom'; import axios from '../../../utils/axios'; import { LaravelPaginatedData } from '../../../@types/paginated-data'; import BasePagination from '../../../components/BasePagination'; +import { enqueueSnackbar } from 'notistack'; export default function PlanList() { const { themeStretch } = useSettings(); @@ -97,10 +98,10 @@ export default function PlanList() { // alert('Succesfully read '+ response.data.total_successed_row + ' with ' + response.data.total_failed_row + ' failed rows'); }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx index cf9755d6..051d01ad 100644 --- a/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/DiagnosisExclusion/List.tsx @@ -14,6 +14,7 @@ import axios from '../../../utils/axios'; import { LaravelPaginatedData } from '../../../@types/paginated-data'; import { Icd } from '../../../@types/diagnosis'; import BasePagination from '../../../components/BasePagination'; +import { enqueueSnackbar } from 'notistack'; export default function List() { const { themeStretch } = useSettings(); @@ -97,10 +98,10 @@ export default function List() { // alert('Succesfully read '+ response.data.total_successed_row + ' with ' + response.data.total_failed_row + ' failed rows'); }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/pages/Corporates/Form.tsx b/frontend/dashboard/src/pages/Corporates/Form.tsx index 6942d5fd..22fcb97b 100644 --- a/frontend/dashboard/src/pages/Corporates/Form.tsx +++ b/frontend/dashboard/src/pages/Corporates/Form.tsx @@ -133,7 +133,7 @@ export default function CorporateForm({ isEdit, currentCorporate }: Props) { setCorporateGroups(res.data.corporate_groups) }) .catch((err) => { - enqueueSnackbar("Opps, failed to get Corporate Group List", "error") + enqueueSnackbar("Opps, failed to get Corporate Group List", { variant: 'error' }) }) // eslint-disable-next-line react-hooks/exhaustive-deps @@ -282,7 +282,9 @@ export default function CorporateForm({ isEdit, currentCorporate }: Props) { {/* // TODO Use Autocomplete */} {( values.type == 'subcorporate' && diff --git a/frontend/dashboard/src/pages/Corporates/Index.tsx b/frontend/dashboard/src/pages/Corporates/Index.tsx index 4f13c419..3dcdb66e 100644 --- a/frontend/dashboard/src/pages/Corporates/Index.tsx +++ b/frontend/dashboard/src/pages/Corporates/Index.tsx @@ -365,6 +365,22 @@ export default function Corporates() { + + + Sub Corporate + + + + + Sub Corporates ({row.sub_corporates.length}) + + + : {row.sub_corporates?.map((corp) => corp.name).join(', ')} + + + + + diff --git a/frontend/dashboard/src/pages/Corporates/Member/List.tsx b/frontend/dashboard/src/pages/Corporates/Member/List.tsx index ba1ad6d8..371349fa 100644 --- a/frontend/dashboard/src/pages/Corporates/Member/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Member/List.tsx @@ -15,6 +15,7 @@ import { Plan } from '../../../@types/corporates'; import { LaravelPaginatedData } from '../../../@types/paginated-data'; import { Member } from '../../../@types/member'; import BasePagination from '../../../components/BasePagination'; +import { enqueueSnackbar } from 'notistack'; export default function CorporatePlanList() { const { themeStretch } = useSettings(); @@ -140,10 +141,10 @@ export default function CorporatePlanList() { setImportResult(response.data) }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/pages/Corporates/Plan/List.tsx b/frontend/dashboard/src/pages/Corporates/Plan/List.tsx index 59fb200f..81783e6a 100644 --- a/frontend/dashboard/src/pages/Corporates/Plan/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Plan/List.tsx @@ -14,6 +14,7 @@ import axios from '../../../utils/axios'; import { Plan } from '../../../@types/corporates'; import { LaravelPaginatedData } from '../../../@types/paginated-data'; import BasePagination from '../../../components/BasePagination'; +import { enqueueSnackbar } from 'notistack'; export default function CorporatePlanList() { const { themeStretch } = useSettings(); @@ -98,10 +99,10 @@ export default function CorporatePlanList() { // alert('Succesfully read '+ response.data.total_successed_row + ' with ' + response.data.total_failed_row + ' failed rows'); }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/pages/Master/Diagnosis/List.tsx b/frontend/dashboard/src/pages/Master/Diagnosis/List.tsx index 2c29bdb1..ef1aad24 100644 --- a/frontend/dashboard/src/pages/Master/Diagnosis/List.tsx +++ b/frontend/dashboard/src/pages/Master/Diagnosis/List.tsx @@ -14,6 +14,7 @@ import axios from '../../../utils/axios'; import { LaravelPaginatedData } from '../../../@types/paginated-data'; import { Icd } from '../../../@types/diagnosis'; import BasePagination from '../../../components/BasePagination'; +import { enqueueSnackbar } from 'notistack'; export default function List() { const { themeStretch } = useSettings(); @@ -97,10 +98,10 @@ export default function List() { // alert('Succesfully read '+ response.data.total_successed_row + ' with ' + response.data.total_failed_row + ' failed rows'); }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/pages/Master/Drug/List.tsx b/frontend/dashboard/src/pages/Master/Drug/List.tsx index 195ad6a2..ae0a4abd 100644 --- a/frontend/dashboard/src/pages/Master/Drug/List.tsx +++ b/frontend/dashboard/src/pages/Master/Drug/List.tsx @@ -97,10 +97,10 @@ export default function List() { // alert('Succesfully read '+ response.data.total_successed_row + ' with ' + response.data.total_failed_row + ' failed rows'); }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/pages/Master/Formularium/List.tsx b/frontend/dashboard/src/pages/Master/Formularium/List.tsx index a8c235d9..fc93a3e0 100644 --- a/frontend/dashboard/src/pages/Master/Formularium/List.tsx +++ b/frontend/dashboard/src/pages/Master/Formularium/List.tsx @@ -98,10 +98,10 @@ export default function List() { // alert('Succesfully read '+ response.data.total_successed_row + ' with ' + response.data.total_failed_row + ' failed rows'); }) .catch(response => { - alert('Looks like something went wrong. Please check your data and try again. ' + response.message) + enqueueSnackbar('Looks like something went wrong. Please check your data and try again. ' + response.message, { variant: 'error' }) }) } else { - alert('No File Selected') + enqueueSnackbar('No File Selected', { variant: 'warning' }) } } diff --git a/frontend/dashboard/src/sections/auth/verify-code/VerifyCodeForm.tsx b/frontend/dashboard/src/sections/auth/verify-code/VerifyCodeForm.tsx index cfe2ec6a..7f0492e2 100644 --- a/frontend/dashboard/src/sections/auth/verify-code/VerifyCodeForm.tsx +++ b/frontend/dashboard/src/sections/auth/verify-code/VerifyCodeForm.tsx @@ -71,7 +71,7 @@ export default function VerifyCodeForm() { await new Promise((resolve) => setTimeout(resolve, 500)); console.log('code:', Object.values(data).join('')); - enqueueSnackbar('Verify success!'); + enqueueSnackbar('Verify success!', { variant: 'success' }); navigate('/dashboard', { replace: true }); } catch (error) { diff --git a/public/client-portal/fonts/CircularStd-Bold.otf b/public/client-portal/fonts/CircularStd-Bold.otf old mode 100755 new mode 100644 diff --git a/public/client-portal/fonts/CircularStd-Book.otf b/public/client-portal/fonts/CircularStd-Book.otf old mode 100755 new mode 100644 diff --git a/public/client-portal/fonts/CircularStd-Medium.otf b/public/client-portal/fonts/CircularStd-Medium.otf old mode 100755 new mode 100644 diff --git a/public/dashboard/fonts/CircularStd-Bold.otf b/public/dashboard/fonts/CircularStd-Bold.otf old mode 100755 new mode 100644 diff --git a/public/dashboard/fonts/CircularStd-Book.otf b/public/dashboard/fonts/CircularStd-Book.otf old mode 100755 new mode 100644 diff --git a/public/dashboard/fonts/CircularStd-Medium.otf b/public/dashboard/fonts/CircularStd-Medium.otf old mode 100755 new mode 100644