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->event_id = $event_id;
|
||||||
$eventAccessCode->code = strtoupper(strip_tags($request->get('code')));
|
$eventAccessCode->code = $newAccessCode;
|
||||||
$eventAccessCode->save();
|
$eventAccessCode->save();
|
||||||
|
|
||||||
session()->flash('message', trans('AccessCodes.success_message'));
|
session()->flash('message', trans('AccessCodes.success_message'));
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
namespace App\Models;
|
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;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
class EventAccessCodes extends MyBaseModel
|
class EventAccessCodes extends MyBaseModel
|
||||||
|
|
@ -20,6 +23,19 @@ class EventAccessCodes extends MyBaseModel
|
||||||
->increment('usage_count');
|
->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.
|
* The validation rules.
|
||||||
*
|
*
|
||||||
|
|
@ -35,15 +51,15 @@ class EventAccessCodes extends MyBaseModel
|
||||||
/**
|
/**
|
||||||
* The Event associated with the event access code.
|
* The Event associated with the event access code.
|
||||||
*
|
*
|
||||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
* @return BelongsTo
|
||||||
*/
|
*/
|
||||||
public function event()
|
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()
|
function tickets()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,5 @@ return [
|
||||||
'no_tickets_matched' => 'No Tickets matched to your access code',
|
'no_tickets_matched' => 'No Tickets matched to your access code',
|
||||||
'select_access_code' => 'Select Access Codes',
|
'select_access_code' => 'Select Access Codes',
|
||||||
'access_codes_usage_count' => 'Usage Count',
|
'access_codes_usage_count' => 'Usage Count',
|
||||||
|
'unique_error' => 'Code already used for this event',
|
||||||
];
|
];
|
||||||
Loading…
Reference in New Issue