From edb71c3e299b14ef13973f1d1235b84ad7724746 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Thu, 4 Oct 2018 13:18:21 +1000 Subject: [PATCH] Fix error when editing tickets --- app/Http/Controllers/EventTicketsController.php | 8 +------- app/Models/MyBaseModel.php | 2 +- app/Models/Ticket.php | 4 ++-- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/EventTicketsController.php b/app/Http/Controllers/EventTicketsController.php index 00bbe2d7..a8964199 100644 --- a/app/Http/Controllers/EventTicketsController.php +++ b/app/Http/Controllers/EventTicketsController.php @@ -211,15 +211,9 @@ class EventTicketsController extends MyBaseController $ticket = Ticket::scope()->findOrFail($ticket_id); /* - * Override some validation rules + * Add validation message */ - $validation_rules['quantity_available'] = [ - 'integer', - 'min:' . ($ticket->quantity_sold + $ticket->quantity_reserved) - ]; $validation_messages['quantity_available.min'] = trans("Controllers.quantity_min_error"); - - $ticket->rules = $validation_rules + $ticket->rules; $ticket->messages = $validation_messages + $ticket->messages; if (!$ticket->validate($request->all())) { diff --git a/app/Models/MyBaseModel.php b/app/Models/MyBaseModel.php index b9d61292..3b8e2323 100644 --- a/app/Models/MyBaseModel.php +++ b/app/Models/MyBaseModel.php @@ -86,7 +86,7 @@ class MyBaseModel extends \Illuminate\Database\Eloquent\Model */ public function validate($data) { - $rules = $this->rules ? is_array($rules = $this->rules) : $rules = $this->rules(); + $rules = (method_exists($this, 'rules') ? $this->rules() : $this->rules); $v = Validator::make($data, $rules, $this->messages, $this->attributes); if ($v->fails()) { diff --git a/app/Models/Ticket.php b/app/Models/Ticket.php index 717fb226..5e4808fc 100644 --- a/app/Models/Ticket.php +++ b/app/Models/Ticket.php @@ -26,8 +26,8 @@ class Ticket extends MyBaseModel 'description' => '', 'start_sale_date' => 'date_format:"'.$format.'"', 'end_sale_date' => 'date_format:"'.$format.'"|after:start_sale_date', - 'quantity_available' => 'integer|min:0', - ]; + 'quantity_available' => 'integer|min:'.($this->quantity_sold + $this->quantity_reserved) + ]; } /**