diff --git a/Modules/Internal/Http/Controllers/Api/CorporateController.php b/Modules/Internal/Http/Controllers/Api/CorporateController.php
index d5f46f4e..b06476c9 100755
--- a/Modules/Internal/Http/Controllers/Api/CorporateController.php
+++ b/Modules/Internal/Http/Controllers/Api/CorporateController.php
@@ -80,7 +80,7 @@ class CorporateController extends Controller
{
$request->validate([
- 'code' => 'required|regex:/^[a-zA-Z0-9]+$/',
+ 'code' => 'required|regex:/^[a-zA-Z0-9_]+$/',
'name' => 'required',
'payor_id' => 'required',
// 'logo' => 'required',
@@ -303,7 +303,7 @@ class CorporateController extends Controller
public function update(Request $request, $id)
{
$request->validate([
- 'code' => 'required|regex:/^[a-zA-Z0-9]+$/',
+ 'code' => 'required|regex:/^[a-zA-Z0-9_]+$/',
'payor_id' => 'required',
'name' => 'required',
'policy_code' => 'required_with:policy_id',
@@ -673,6 +673,7 @@ class CorporateController extends Controller
$row['prorate_lookup'], // "Prorate Lookup",
$row['max_days_for_disability'], // "Max Days for Disability",
$row['max_period_for_disability'], // "Max Periode of Disability",
+ $row['limit_free_tc'], // "Currency",
$row['currency'], // "Currency",
$row['show_benefit_item'], // "Show Benefit Item",
$row['show_benefit_value'], // "Show Benefit Value",
diff --git a/app/Http/Controllers/Api/OLDLMS/MembershipController.php b/app/Http/Controllers/Api/OLDLMS/MembershipController.php
index 0b574f10..ab63e636 100755
--- a/app/Http/Controllers/Api/OLDLMS/MembershipController.php
+++ b/app/Http/Controllers/Api/OLDLMS/MembershipController.php
@@ -261,6 +261,27 @@ class MembershipController extends Controller
return Helper::responseJson(data: MemberResource::make($member));
}
+ public function automaticLinking(Request $request)
+ {
+ $member = Member::query()
+ ->when(in_array('email', $linkingRulesArr), function($q) use ($request) {
+ $q->where('email', $request->email);
+ })
+ ->with([
+ 'memberPlans' => function ($memberPlan) {
+ $memberPlan->latest();
+ },
+ ])
+
+ ->first();
+
+ if ($member) {
+ $message = $member->currentPolicy->corporate->welcome_message;
+ return Helper::responseJson(data: MemberResource::make($member), message: $message);
+ }
+
+ }
+
public function removeInsurance($email)
{
$user = User::where('sEmail', $email)->firstOrFail();
diff --git a/app/Models/Corporate.php b/app/Models/Corporate.php
index c53c7aed..acf73614 100755
--- a/app/Models/Corporate.php
+++ b/app/Models/Corporate.php
@@ -23,6 +23,7 @@ class Corporate extends Model
'help_text',
'active',
'linking_rules',
+ 'automatic_linking'
];
protected $casts = [
diff --git a/app/Models/CorporateBenefit.php b/app/Models/CorporateBenefit.php
index fadf3470..03b6e177 100755
--- a/app/Models/CorporateBenefit.php
+++ b/app/Models/CorporateBenefit.php
@@ -69,6 +69,7 @@ class CorporateBenefit extends Model
'show_benefit_item',
'show_benefit_value',
'active',
+ 'limit_free_tc',
'reason'
];
@@ -127,6 +128,7 @@ class CorporateBenefit extends Model
"Prorate Lookup" => 'prorate_lookup',
"Max Days for Disability" => 'max_days_for_disability',
"Max Periode of Disability" => 'max_period_for_disability',
+ "Limit Free TC" => 'limit_free_tc',
"Currency" => 'currency',
"Show Benefit Item" => 'show_benefit_item',
"Show Benefit Value" => 'show_benefit_value',
@@ -187,6 +189,7 @@ class CorporateBenefit extends Model
"Prorate Lookup",
"Max Days for Disability",
"Max Periode of Disability",
+ "Limit Free TC",
"Currency",
"Show Benefit Item",
"Show Benefit Value",
diff --git a/database/migrations/2023_06_14_093535_add_coloumn_automatic_linking_to_corporates.php b/database/migrations/2023_06_14_093535_add_coloumn_automatic_linking_to_corporates.php
new file mode 100644
index 00000000..fd07fedd
--- /dev/null
+++ b/database/migrations/2023_06_14_093535_add_coloumn_automatic_linking_to_corporates.php
@@ -0,0 +1,33 @@
+integer('automatic_linking')->after('active')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('corporates', function (Blueprint $table) {
+ $table->dropColumn('automatic_linking');
+ });
+ }
+};
diff --git a/database/migrations/2023_06_14_100127_add_coloumn_limit_free_tc_to_corporate_benefits.php b/database/migrations/2023_06_14_100127_add_coloumn_limit_free_tc_to_corporate_benefits.php
new file mode 100644
index 00000000..dd606dec
--- /dev/null
+++ b/database/migrations/2023_06_14_100127_add_coloumn_limit_free_tc_to_corporate_benefits.php
@@ -0,0 +1,33 @@
+integer('limit_free_tc')->after('active')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('corporate_benefits', function (Blueprint $table) {
+ $table->dropColumn('limit_free_tc');
+ });
+ }
+};
diff --git a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx
index 36629ed9..46f9c5be 100755
--- a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx
+++ b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx
@@ -710,6 +710,12 @@ export default function PlanList() {
: {row.max_period_for_disability ? row.max_period_for_disability : '-'}
+
+ Limit Free TC
+
+
+ : {row.limit_free_tc ? row.limit_free_tc : '-'}
+
Currency
diff --git a/frontend/dashboard/src/pages/Corporates/Form.tsx b/frontend/dashboard/src/pages/Corporates/Form.tsx
index 8ff872f7..33e2e0af 100755
--- a/frontend/dashboard/src/pages/Corporates/Form.tsx
+++ b/frontend/dashboard/src/pages/Corporates/Form.tsx
@@ -231,6 +231,7 @@ export default function CorporateForm({ isEdit, currentCorporate }: Props) {
welcome_message: currentCorporate?.welcome_message || '',
help_text: currentCorporate?.help_text || '',
active: currentCorporate?.id ? currentCorporate?.active === 1 : true,
+ automatic_linking: currentCorporate?.id ? currentCorporate?.automatic_linking === 1 : true,
policy_id: currentCorporate?.current_policy?.id || '',
policy_code: currentCorporate?.current_policy?.code || '',
policy_total_premi: currentCorporate?.current_policy?.total_premi || 0,
@@ -303,6 +304,7 @@ export default function CorporateForm({ isEdit, currentCorporate }: Props) {
formData.append('name', data.name);
formData.append('code', data.code);
formData.append('active', data.active ? '1' : '0');
+ formData.append('automatic_linking', data.automatic_linking ? 1 : 0);
formData.append('type', data.type);
formData.append('welcome_message', data.welcome_message);
formData.append('reason', data.reason);
@@ -430,6 +432,10 @@ export default function CorporateForm({ isEdit, currentCorporate }: Props) {
value: 'member_id',
label: 'Member ID',
},
+ {
+ value: 'policy_code',
+ label: 'Policy Number',
+ },
{
value: 'phone',
label: 'Nomor Telepon',
@@ -571,6 +577,8 @@ export default function CorporateForm({ isEdit, currentCorporate }: Props) {
{JSON.stringify(values.active)}
+ {JSON.stringify(values.automatic_linking)}
+
Company Logo
{/*