diff --git a/app/Http/Controllers/Imports/ImportPermitsReminderController.php b/app/Http/Controllers/Imports/ImportPermitsReminderController.php
index bceaad37..2f82b628 100644
--- a/app/Http/Controllers/Imports/ImportPermitsReminderController.php
+++ b/app/Http/Controllers/Imports/ImportPermitsReminderController.php
@@ -40,7 +40,7 @@ class ImportPermitsReminderController
$row['reminder_date'] = $this->changeExcelDate($row['reminder_date']);
$validator = Validator::make($row, [
- 'model' => 'required',
+ 'model' => 'required|unique:permits_reminders,model',
'expiry_date' => 'required|date|after_or_equal:today',
'reminder_date' => 'required|date|after_or_equal:today',
]);
diff --git a/app/Http/Controllers/PermitsReminder/CreatePermitsReminderController.php b/app/Http/Controllers/PermitsReminder/CreatePermitsReminderController.php
index 388f8007..0e093b04 100644
--- a/app/Http/Controllers/PermitsReminder/CreatePermitsReminderController.php
+++ b/app/Http/Controllers/PermitsReminder/CreatePermitsReminderController.php
@@ -19,7 +19,7 @@ class CreatePermitsReminderController
{
// Define validation rules
$rules = [
- 'model' => 'required',
+ 'model' => 'required|unique:permits_reminders,model',
'expiry_date' => 'required|date|after_or_equal:today',
'reminder_date' => 'required|date|after_or_equal:today',
];
diff --git a/app/Http/Controllers/PermitsReminder/UpdatePermitsReminderController.php b/app/Http/Controllers/PermitsReminder/UpdatePermitsReminderController.php
new file mode 100644
index 00000000..14bcec7b
--- /dev/null
+++ b/app/Http/Controllers/PermitsReminder/UpdatePermitsReminderController.php
@@ -0,0 +1,51 @@
+ 'required|unique:permits_reminders,model,' . $request->route('id'),
+ 'expiry_date' => 'required|date|after_or_equal:today',
+ 'reminder_date' => 'required|date|after_or_equal:today',
+ ];
+
+ $validator = Validator::make($request->all(), $rules);
+
+ if ($validator->fails()) {
+ $validationErrors = $validator->errors()->all();
+ $validationError = implode("
", $validationErrors);
+
+ return response()->json([
+ 'title' => 'Update Permits Reminder Failed',
+ 'message' => $validationError,
+ "payload" => []
+ ], 422);
+ }
+
+ $record = PermitsReminder::findOrFail($request->route('id'));
+
+ $record->model = $request->input('model');
+ $record->expiry_date = Carbon::parse($request->input('expiry_date'))->format('Y-m-d');
+ $record->reminder_date = Carbon::parse($request->input('reminder_date'))->format('Y-m-d');
+ $record->save();
+
+ return response()->json([
+ 'title' => 'Permits Reminder Updated',
+ 'message' => 'The permits reminder has been successfully updated.',
+ "payload" => $record
+ ]);
+ }
+}
diff --git a/app/Models/PermitsReminder.php b/app/Models/PermitsReminder.php
index be494559..1f9762a9 100644
--- a/app/Models/PermitsReminder.php
+++ b/app/Models/PermitsReminder.php
@@ -18,16 +18,16 @@ class PermitsReminder extends Model
public function getExpiryDateAttribute($value)
{
- return Carbon::parse($this->created_at)->format('d-m-Y');
+ return $this->attributes['expiry_date'] === null ? NULL : Carbon::parse($this->attributes['expiry_date'])->format('d-m-Y');
}
public function getReminderDateAttribute($value)
{
- return Carbon::parse($this->created_at)->format('d-m-Y');
+ return $this->attributes['reminder_date'] === null ? NULL : Carbon::parse($this->attributes['reminder_date'])->format('d-m-Y');
}
public function getCreatedAtAttribute($value)
{
- return Carbon::parse($value)->format('d-m-Y');
+ return $this->attributes['created_at'] === null ? NULL : Carbon::parse($this->attributes['created_at'])->format('d-m-Y');
}
}
diff --git a/resources/assets/vue/components/settings/elements/PermitsReminderComponent.vue b/resources/assets/vue/components/settings/elements/PermitsReminderComponent.vue
index b6846b55..c247096a 100644
--- a/resources/assets/vue/components/settings/elements/PermitsReminderComponent.vue
+++ b/resources/assets/vue/components/settings/elements/PermitsReminderComponent.vue
@@ -16,6 +16,7 @@