diff --git a/Modules/Internal/Services/MemberEnrollmentService.php b/Modules/Internal/Services/MemberEnrollmentService.php
index e2964008..0189e865 100644
--- a/Modules/Internal/Services/MemberEnrollmentService.php
+++ b/Modules/Internal/Services/MemberEnrollmentService.php
@@ -276,16 +276,19 @@ class MemberEnrollmentService
'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);
}
+
+ $member = $memberPolicy->member;
+ $member->active = false;
- return $memberPolicy->delete();
+ return $member->save();
break;
case "4": // Member Update Start and End Date
$memberPolicy = MemberPolicy::query()
diff --git a/app/Models/Benefit.php b/app/Models/Benefit.php
index fbb08e82..5919975e 100644
--- a/app/Models/Benefit.php
+++ b/app/Models/Benefit.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class Benefit extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'corporate_id',
diff --git a/app/Models/CorporateBenefit.php b/app/Models/CorporateBenefit.php
index c96d38c5..64a66c38 100644
--- a/app/Models/CorporateBenefit.php
+++ b/app/Models/CorporateBenefit.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class CorporateBenefit extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'corporate_id',
diff --git a/app/Models/CorporateDivision.php b/app/Models/CorporateDivision.php
index 01ee64fd..2d2231d0 100644
--- a/app/Models/CorporateDivision.php
+++ b/app/Models/CorporateDivision.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class CorporateDivision extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'corporate_id',
diff --git a/app/Models/CorporateEmployee.php b/app/Models/CorporateEmployee.php
index 925b6a12..6263d027 100644
--- a/app/Models/CorporateEmployee.php
+++ b/app/Models/CorporateEmployee.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class CorporateEmployee extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'corporate_id',
diff --git a/app/Models/CorporatePlan.php b/app/Models/CorporatePlan.php
index 8295a8d7..aa5ae22e 100644
--- a/app/Models/CorporatePlan.php
+++ b/app/Models/CorporatePlan.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class CorporatePlan extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'corporate_id',
diff --git a/app/Models/CorporatePolicy.php b/app/Models/CorporatePolicy.php
index c459b0ef..1e8d99d5 100644
--- a/app/Models/CorporatePolicy.php
+++ b/app/Models/CorporatePolicy.php
@@ -2,14 +2,16 @@
namespace App\Models;
+use App\Traits\Blameable;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Str;
class CorporatePolicy extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
'corporate_id',
diff --git a/app/Models/Member.php b/app/Models/Member.php
index 789d0b1f..e42390a2 100644
--- a/app/Models/Member.php
+++ b/app/Models/Member.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class Member extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
"id",
diff --git a/app/Models/MemberPlan.php b/app/Models/MemberPlan.php
new file mode 100644
index 00000000..558b9555
--- /dev/null
+++ b/app/Models/MemberPlan.php
@@ -0,0 +1,34 @@
+belongsTo(Member::class, 'member_id', 'member_id');
+ }
+
+ public function corporatePlan()
+ {
+ return $this->belongsTo(CorporatePlan::class, 'plan_id', 'code');
+ }
+}
diff --git a/app/Models/MemberPolicy.php b/app/Models/MemberPolicy.php
index 42b87eae..62a94362 100644
--- a/app/Models/MemberPolicy.php
+++ b/app/Models/MemberPolicy.php
@@ -16,7 +16,10 @@ class MemberPolicy extends Model
'member_id',
'status',
'start',
- 'end'
+ 'end',
+ 'created_by',
+ 'updated_by',
+ 'deleted_by',
];
public function corporatePolicy()
diff --git a/app/Models/Plan.php b/app/Models/Plan.php
index c5674013..8bf8308b 100644
--- a/app/Models/Plan.php
+++ b/app/Models/Plan.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use App\Traits\Blameable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
class Plan extends Model
{
- use HasFactory;
+ use HasFactory, SoftDeletes, Blameable;
protected $fillable = [
"service_code",
diff --git a/database/migrations/2022_07_25_050001_create_member_plans_table.php b/database/migrations/2022_07_25_050001_create_member_plans_table.php
new file mode 100644
index 00000000..677183b7
--- /dev/null
+++ b/database/migrations/2022_07_25_050001_create_member_plans_table.php
@@ -0,0 +1,44 @@
+id();
+ $table->string('member_id');
+ $table->string('plan_id');
+ $table->string('status')->default('active');
+ $table->dateTime('start')->nullable();
+ $table->dateTime('end')->nullalbe();
+
+ $table->timestamps();
+ $table->softDeletes();
+
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+
+ $table->index(['policy_id', 'member_id']);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('member_plans');
+ }
+};
diff --git a/frontend/dashboard/src/pages/Corporates/CorporatePlan/List.tsx b/frontend/dashboard/src/pages/Corporates/CorporatePlan/List.tsx
index b29cf51d..ca992895 100644
--- a/frontend/dashboard/src/pages/Corporates/CorporatePlan/List.tsx
+++ b/frontend/dashboard/src/pages/Corporates/CorporatePlan/List.tsx
@@ -76,7 +76,9 @@ export default function PlanList() {
{row.code}
{row.name}
{ makeExcerpt(row.description) }
-
+ {( row.active ? ()
+ : ()
+ )}
{/* COLLAPSIBLE ROW */}
diff --git a/frontend/dashboard/src/pages/Corporates/Member/List.tsx b/frontend/dashboard/src/pages/Corporates/Member/List.tsx
index d01e4fa0..b4603fd0 100644
--- a/frontend/dashboard/src/pages/Corporates/Member/List.tsx
+++ b/frontend/dashboard/src/pages/Corporates/Member/List.tsx
@@ -263,7 +263,9 @@ export default function CorporatePlanList() {
{row.plan_id}
{row.current_policy.start}
{row.current_policy.end}
-
+ {( row.active ? ()
+ : ()
+ )}
{/* */}
{/* COLLAPSIBLE ROW */}