Moved the duplicate checks (#568) to this PR as they are related
This commit is contained in:
parent
0cabc92200
commit
33d96905f6
|
|
@ -57,8 +57,20 @@ class EventAccessCodesController extends MyBaseController
|
|||
]);
|
||||
}
|
||||
|
||||
// Checks for no duplicates
|
||||
$newAccessCode = strtoupper(strip_tags($request->get('code')));
|
||||
if (EventAccessCodes::findFromCode($newAccessCode, $event_id)->count() > 0) {
|
||||
return response()->json([
|
||||
'status' => 'error',
|
||||
'messages' => [
|
||||
'code' => [ trans('AccessCodes.unique_error') ],
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
// Saves the new access code if validation and dupe check passed
|
||||
$eventAccessCode->event_id = $event_id;
|
||||
$eventAccessCode->code = strtoupper(strip_tags($request->get('code')));
|
||||
$eventAccessCode->code = $newAccessCode;
|
||||
$eventAccessCode->save();
|
||||
|
||||
session()->flash('message', trans('AccessCodes.success_message'));
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class EventAccessCodes extends MyBaseModel
|
||||
|
|
@ -20,6 +23,19 @@ class EventAccessCodes extends MyBaseModel
|
|||
->increment('usage_count');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $code
|
||||
* @param $event_id
|
||||
* @return Collection
|
||||
*/
|
||||
public static function findFromCode($code, $event_id)
|
||||
{
|
||||
return (new static())
|
||||
->where('code', $code)
|
||||
->where('event_id', $event_id)
|
||||
->get();
|
||||
}
|
||||
|
||||
/**
|
||||
* The validation rules.
|
||||
*
|
||||
|
|
@ -35,15 +51,15 @@ class EventAccessCodes extends MyBaseModel
|
|||
/**
|
||||
* The Event associated with the event access code.
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
* @return BelongsTo
|
||||
*/
|
||||
public function event()
|
||||
{
|
||||
return $this->belongsTo(\App\Models\Event::class, 'event_id', 'id');
|
||||
return $this->belongsTo(Event::class, 'event_id', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
|
||||
* @return BelongsToMany
|
||||
*/
|
||||
function tickets()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -15,4 +15,5 @@ return [
|
|||
'no_tickets_matched' => 'No Tickets matched to your access code',
|
||||
'select_access_code' => 'Select Access Codes',
|
||||
'access_codes_usage_count' => 'Usage Count',
|
||||
'unique_error' => 'Code already used for this event',
|
||||
];
|
||||
Loading…
Reference in New Issue