Renamed back to access codes since it explains it better

This commit is contained in:
Etienne Marais 2019-02-14 17:02:24 +02:00
parent 3b83e97827
commit 99de2c73ee
No known key found for this signature in database
GPG Key ID: 5CE3285D17AE9F29
11 changed files with 72 additions and 69 deletions

View File

@ -4,13 +4,16 @@ namespace App\Http\Controllers;
use App\Models\Event;
use App\Models\EventAccessCodes;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
/*
Attendize.com - Event Management & Ticketing
*/
class EventDiscountCodesController extends MyBaseController
class EventAccessCodesController extends MyBaseController
{
/**
@ -20,14 +23,14 @@ class EventDiscountCodesController extends MyBaseController
public function show($event_id)
{
$event = Event::scope()->findOrFail($event_id);
return view('ManageEvent.DiscountCodes', [
return view('ManageEvent.AccessCodes', [
'event' => $event,
]);
}
/**
* @param $event_id
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
* @return Factory|View
*/
public function showCreate($event_id)
{
@ -41,7 +44,7 @@ class EventDiscountCodesController extends MyBaseController
*
* @param Request $request
* @param $event_id
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
*/
public function postCreate(Request $request, $event_id)
{
@ -49,7 +52,7 @@ class EventDiscountCodesController extends MyBaseController
if (!$eventAccessCode->validate($request->all())) {
return response()->json([
'status' => 'error',
'status' => 'error',
'messages' => $eventAccessCode->errors(),
]);
}
@ -58,20 +61,20 @@ class EventDiscountCodesController extends MyBaseController
$eventAccessCode->code = strtoupper(strip_tags($request->get('code')));
$eventAccessCode->save();
session()->flash('message', trans('DiscountCodes.success_message'));
session()->flash('message', trans('AccessCodes.success_message'));
return response()->json([
'status' => 'success',
'id' => $eventAccessCode->id,
'message' => trans("Controllers.refreshing"),
'redirectUrl' => route('showEventDiscountCodes', [ 'event_id' => $event_id ]),
'redirectUrl' => route('showEventAccessCodes', [ 'event_id' => $event_id ]),
]);
}
/**
* @param integer $event_id
* @param integer $access_code_id
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
* @throws \Exception
*/
public function postDelete($event_id, $access_code_id)
@ -85,18 +88,18 @@ class EventDiscountCodesController extends MyBaseController
if ($accessCode->usage_count > 0) {
return response()->json([
'status' => 'error',
'message' => trans('DiscountCodes.cannot_delete_used_code'),
'message' => trans('AccessCodes.cannot_delete_used_code'),
]);
}
$accessCode->delete();
}
session()->flash('message', trans('DiscountCodes.delete_message'));
session()->flash('message', trans('AccessCodes.delete_message'));
return response()->json([
'status' => 'success',
'message' => trans("Controllers.refreshing"),
'redirectUrl' => route('showEventDiscountCodes', [ 'event_id' => $event_id ]),
'redirectUrl' => route('showEventAccessCodes', [ 'event_id' => $event_id ]),
]);
}
}

View File

@ -147,8 +147,8 @@ class EventViewController extends Controller
{
$event = Event::findOrFail($event_id);
$discountCode = strtoupper(strip_tags($request->get('access_code')));
if (!$discountCode) {
$accessCode = strtoupper(strip_tags($request->get('access_code')));
if (!$accessCode) {
return response()->json([
'status' => 'error',
'message' => trans('DiscountCodes.valid_code_required'),
@ -159,9 +159,9 @@ class EventViewController extends Controller
->where('is_hidden', true)
->orderBy('sort_order', 'asc')
->get()
->filter(function($ticket) use ($discountCode) {
->filter(function($ticket) use ($accessCode) {
// Only return the hidden tickets that match the access code
return ($ticket->event_access_codes()->where('code', $discountCode)->get()->count() > 0);
return ($ticket->event_access_codes()->where('code', $accessCode)->get()->count() > 0);
});
if ($unlockedHiddenTickets->count() === 0) {
@ -172,7 +172,7 @@ class EventViewController extends Controller
}
// Bump usage count
EventAccessCodes::logUsage($event_id, $discountCode);
EventAccessCodes::logUsage($event_id, $accessCode);
return view('Public.ViewEvent.Partials.EventHiddenTicketsSelection', [
'event' => $event,

View File

@ -601,27 +601,27 @@ Route::group(
/*
* -------
* Event Discount Codes page
* Event Access Codes page
* -------
*/
Route::get('{event_id}/discount_codes', [
'as' => 'showEventDiscountCodes',
'uses' => 'EventDiscountCodesController@show',
Route::get('{event_id}/access_codes', [
'as' => 'showEventAccessCodes',
'uses' => 'EventAccessCodesController@show',
]);
Route::get('{event_id}/access_codes/create', [
'as' => 'showCreateEventAccessCode',
'uses' => 'EventDiscountCodesController@showCreate',
'uses' => 'EventAccessCodesController@showCreate',
]);
Route::post('{event_id}/access_codes/create', [
'as' => 'postCreateEventAccessCode',
'uses' => 'EventDiscountCodesController@postCreate',
'uses' => 'EventAccessCodesController@postCreate',
]);
Route::post('{event_id}/access_codes/{access_code_id}/delete', [
'as' => 'postDeleteEventAccessCode',
'uses' => 'EventDiscountCodesController@postDelete',
'uses' => 'EventAccessCodesController@postDelete',
]);
/*

View File

@ -10,13 +10,13 @@ class EventAccessCodes extends MyBaseModel
/**
* @param integer $event_id
* @param string $discountCode
* @param string $accessCode
* @return void
*/
public static function logUsage($event_id, $discountCode)
public static function logUsage($event_id, $accessCode)
{
(new static)::where('event_id', $event_id)
->where('code', $discountCode)
->where('code', $accessCode)
->increment('usage_count');
}

View File

@ -0,0 +1,18 @@
<?php
return [
'title' => 'Access Codes',
'success_message' => 'Successfully Created Access Code',
'delete_message' => 'Successfully Removed Access Code',
'cannot_delete_used_code' => 'Cannot Delete a Used Code',
'access_codes_code' => 'Discount Code',
'access_codes_created_at' => 'Created At',
'no_access_codes_yet' => 'No Access Codes yet!',
'create_access_code' => 'Create Access Code',
'access_code_title' => 'Access Code',
'access_code_title_placeholder' => 'ex: CONFERENCE2019',
'valid_code_required' => 'A valid access code is required',
'no_tickets_matched' => 'No Tickets matched to your access code',
'select_access_code' => 'Select Access Codes',
'access_codes_usage_count' => 'Usage Count',
];

View File

@ -1,18 +0,0 @@
<?php
return [
'title' => 'Discount Codes',
'success_message' => 'Successfully Created Discount Code',
'delete_message' => 'Successfully Removed Discount Code',
'cannot_delete_used_code' => 'Cannot Delete a Used Code',
'discount_codes_code' => 'Discount Code',
'discount_codes_created_at' => 'Created At',
'no_discount_codes_yet' => 'No Discount Codes yet!',
'create_discount_code' => 'Create Discount Code',
'discount_code_title' => 'Discount Code',
'discount_code_title_placeholder' => 'ex: CONFERENCE2019',
'valid_code_required' => 'A valid discount code is required',
'no_tickets_matched' => 'No Tickets matched to your discount code',
'select_discount_code' => 'Select Discount Codes',
'discount_codes_usage_count' => 'Usage Count',
];

View File

@ -24,7 +24,6 @@ return array (
'create_attendees' => 'Create Attendees',
'create_ticket' => 'Create Ticket',
'download_pdf_ticket' => 'Download PDF Ticket',
'discount_codes' => 'Discount Codes',
'edit_attendee' => 'Edit Attendee',
'edit_attendee_title' => 'Edit :attendee',
'edit_order_title' => 'Order: :order_ref',

View File

@ -2,7 +2,7 @@
@section('title')
@parent
@lang('DiscountCodes.title')
@lang('AccessCodes.title')
@stop
@section('top_nav')
@ -15,7 +15,7 @@
@section('page_title')
<i class='ico-money mr5'></i>
@lang('DiscountCodes.title')
@lang('AccessCodes.title')
@stop
@section('content')
@ -29,7 +29,8 @@
<div class="btn-group btn-group-responsive">
<button data-modal-id='CreateAccessCode'
data-href="{{route('showCreateEventAccessCode', [ 'event_id' => $event->id ])}}"
class='loadModal btn btn-success' type="button"><i class="ico-ticket"></i> @lang("DiscountCodes.create_discount_code")
class='loadModal btn btn-success' type="button">
<i class="ico-ticket"></i> @lang("AccessCodes.create_access_code")
</button>
</div>
</div>
@ -40,29 +41,29 @@
<div class="col-md-12">
@if($event->access_codes->count())
<div class="table-responsive">
<table class="table" id="event_discount_codes">
<table class="table">
<thead>
<tr>
<th width="60%">@lang("DiscountCodes.discount_codes_code")</th>
<th width="10%" class="has-text-center">@lang("DiscountCodes.discount_codes_usage_count")</th>
<th width="20%" class="has-text-center">@lang("DiscountCodes.discount_codes_created_at")</th>
<th width="60%">@lang("AccessCodes.access_codes_code")</th>
<th width="10%" class="has-text-center">@lang("AccessCodes.access_codes_usage_count")</th>
<th width="20%" class="has-text-center">@lang("AccessCodes.access_codes_created_at")</th>
<th width="10%"></th>
</tr>
</thead>
<tbody>
@foreach($event->access_codes as $discountCode)
@foreach($event->access_codes as $accessCode)
<tr>
<td><strong>{{ $discountCode->code }}</strong></td>
<td class="has-text-center"><strong>{{ $discountCode->usage_count }}</strong></td>
<td class="has-text-center">{{ $discountCode->created_at }}</td>
<td><strong>{{ $accessCode->code }}</strong></td>
<td class="has-text-center"><strong>{{ $accessCode->usage_count }}</strong></td>
<td class="has-text-center">{{ $accessCode->created_at }}</td>
{{-- Can only remove if haven't been used before--}}
@if ($discountCode->usage_count === 0)
@if ($accessCode->usage_count === 0)
<td class="has-text-right">
<a class="deleteThis"
style="cursor:pointer"
data-route={{ route('postDeleteEventAccessCode', [
'event_id' => $discountCode->event_id,
'access_code_id' => $discountCode->id,
'event_id' => $accessCode->event_id,
'access_code_id' => $accessCode->id,
]) }}>
Remove
</a>
@ -75,7 +76,7 @@
</div>
@else
<div class="alert alert-info">
@lang("DiscountCodes.no_discount_codes_yet")
@lang("AccessCodes.no_access_codes_yet")
</div>
@endif
</div>

View File

@ -6,17 +6,17 @@
<button type="button" class="close" data-dismiss="modal">×</button>
<h3 class="modal-title">
<i class="ico-ticket"></i>
@lang("DiscountCodes.create_discount_code")</h3>
@lang("AccessCodes.create_access_code")</h3>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group">
{!! Form::label('code', trans("DiscountCodes.discount_code_title"), ['class'=>'control-label required']) !!}
{!! Form::label('code', trans("AccessCodes.access_code_title"), ['class'=>'control-label required']) !!}
{!! Form::text('code', Input::old('code'),
[
'class'=>'form-control',
'placeholder' => trans("DiscountCodes.discount_code_title_placeholder")
'placeholder' => trans("AccessCodes.access_code_title_placeholder")
]) !!}
</div>
</div>
@ -24,7 +24,7 @@
</div> <!-- /end modal body-->
<div class="modal-footer">
{!! Form::button(trans("basic.cancel"), ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
{!! Form::submit(trans("DiscountCodes.create_discount_code"), ['class'=>"btn btn-success"]) !!}
{!! Form::submit(trans("AccessCodes.create_access_code"), ['class'=>"btn btn-success"]) !!}
</div>
</div><!-- /end modal content-->
{!! Form::close() !!}

View File

@ -104,7 +104,7 @@
</div>
@if ($ticket->is_hidden)
<div class="col-md-12">
<h4>{{ __('DiscountCodes.select_discount_code') }}</h4>
<h4>{{ __('AccessCodes.select_access_code') }}</h4>
@if($ticket->event->access_codes->count())
<?php
$isSelected = false;
@ -124,7 +124,7 @@
@endforeach
@else
<div class="alert alert-info">
@lang("DiscountCodes.no_discount_codes_yet")
@lang("AccessCodes.no_access_codes_yet")
</div>
@endif
</div>

View File

@ -68,10 +68,10 @@
<span class="text">@lang("ManageEvent.widgets")</span>
</a>
</li>
<li class="{{ Request::is('*discount_codes*') ? 'active' : '' }}">
<a href="{{ route('showEventDiscountCodes', [ 'event_id' => $event->id ]) }}">
<li class="{{ Request::is('*access_codes*') ? 'active' : '' }}">
<a href="{{ route('showEventAccessCodes', [ 'event_id' => $event->id ]) }}">
<span class="figure"><i class="ico-money"></i></span>
<span class="text">@lang("ManageEvent.discount_codes")</span>
<span class="text">@lang("AccessCodes.title")</span>
</a>
</li>
</ul>