Fix error when editing tickets

This commit is contained in:
Sebastian Schmidt 2018-10-04 13:18:21 +10:00
parent cda77d562a
commit edb71c3e29
No known key found for this signature in database
GPG Key ID: 80B9687901B6587C
3 changed files with 4 additions and 10 deletions

View File

@ -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())) {

View File

@ -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()) {

View File

@ -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)
];
}
/**