Normalized attendees reference in attendees table (closes #106)

This commit is contained in:
Dave Earley 2016-05-26 01:40:49 +01:00
parent 6e3ad53f93
commit d45d0a39e5
11 changed files with 88 additions and 21 deletions

View File

@ -65,7 +65,7 @@ class SendAttendeeTicketCommand extends Command implements ShouldQueue, SelfHand
'image' => base64_encode(file_get_contents(public_path($this->attendee->event->organiser->full_logo_path))),
];
$pdf_file_name = $this->ticketOrder->order_reference.'-'.$this->attendee->id;
$pdf_file_name = $this->ticketOrder->order_reference.'-1';
$pdf_file_path = public_path(config('attendize.event_pdf_tickets_path')).'/'.$pdf_file_name;
$pdf_file = $pdf_file_path.'.pdf';

View File

@ -47,7 +47,6 @@ class EventAttendeesController extends MyBaseController
$query->where('orders.order_reference', 'like', $searchQuery . '%')
->orWhere('attendees.first_name', 'like', $searchQuery . '%')
->orWhere('attendees.email', 'like', $searchQuery . '%')
->orWhere('attendees.reference', 'like', $searchQuery . '%')
->orWhere('attendees.last_name', 'like', $searchQuery . '%');
})
->orderBy(($sort_by == 'order_reference' ? 'orders.' : 'attendees.') . $sort_by, $sort_order)
@ -188,7 +187,7 @@ class EventAttendeesController extends MyBaseController
$attendee->order_id = $order->id;
$attendee->ticket_id = $ticket_id;
$attendee->account_id = Auth::user()->account_id;
$attendee->reference = $order->order_reference . '-1';
$attendee->reference_index = 1;
$attendee->save();
if ($email_attendee == '1') {
@ -344,7 +343,7 @@ class EventAttendeesController extends MyBaseController
$attendee->order_id = $order->id;
$attendee->ticket_id = $ticket_id;
$attendee->account_id = Auth::user()->account_id;
$attendee->reference = $order->order_reference . '-1';
$attendee->reference_index = 1;
$attendee->save();
if ($email_attendee == '1') {
@ -542,7 +541,6 @@ class EventAttendeesController extends MyBaseController
'attendees.first_name',
'attendees.last_name',
'attendees.email',
'attendees.reference',
'orders.order_reference',
'tickets.title',
'orders.created_at',
@ -555,7 +553,6 @@ class EventAttendeesController extends MyBaseController
'First Name',
'Last Name',
'Email',
'Ticket Reference',
'Order Reference',
'Ticket Type',
'Purchase Date',

View File

@ -54,13 +54,14 @@ class EventCheckInController extends MyBaseController
$attendees = Attendee::scope()->withoutCancelled()
->join('tickets', 'tickets.id', '=', 'attendees.ticket_id')
->join('orders', 'orders.id', '=', 'attendees.order_id')
->where(function ($query) use ($event_id) {
$query->where('attendees.event_id', '=', $event_id);
})->where(function ($query) use ($searchQuery) {
$query->orWhere('attendees.first_name', 'like', $searchQuery . '%')
->orWhere(DB::raw("CONCAT_WS(' ', first_name, last_name)"), 'like', $searchQuery . '%')
->orWhere(DB::raw("CONCAT_WS(' ', attendees.first_name, attendees.last_name)"), 'like', $searchQuery . '%')
//->orWhere('attendees.email', 'like', $searchQuery . '%')
->orWhere('attendees.reference', 'like', $searchQuery . '%')
->orWhere('orders.order_reference', 'like', $searchQuery . '%')
->orWhere('attendees.last_name', 'like', $searchQuery . '%');
})
->select([
@ -68,10 +69,11 @@ class EventCheckInController extends MyBaseController
'attendees.first_name',
'attendees.last_name',
'attendees.email',
'attendees.reference',
'attendees.arrival_time',
'attendees.reference_index',
'attendees.has_arrived',
'tickets.title as ticket',
'orders.order_reference'
])
->orderBy('attendees.first_name', 'ASC')
->get();

View File

@ -551,7 +551,7 @@ class EventCheckoutController extends Controller
$attendee->order_id = $order->id;
$attendee->ticket_id = $attendee_details['ticket']['id'];
$attendee->account_id = $event->account->id;
$attendee->reference = $order->order_reference . '-' . ($attendee_increment);
$attendee->reference = $attendee_increment;
$attendee->save();

View File

@ -99,10 +99,15 @@ class Attendee extends MyBaseModel
return $query->where('attendees.is_cancelled', '=', 0);
}
//
// public function getReferenceAttribute() {
// return $this->order->order_reference
// }
/**
* Get the attendee reference
*
* @return string
*/
public function getReferenceAttribute() {
return $this->order->order_reference . '-' . $this->reference_index;
}
/**
* Get the full name of the attendee.
@ -114,6 +119,8 @@ class Attendee extends MyBaseModel
return $this->first_name.' '.$this->last_name;
}
/**
* The attributes that should be mutated to dates.
*

View File

@ -0,0 +1,61 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use App\Models\Attendee;
use App\Models\Order;
class AttendeeRefFix extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('attendees', function (Blueprint $table) {
$table->integer('reference_index');
});
$attendees = Attendee::all();
foreach($attendees as $attendee) {
$attendee->reference_index = explode('-', $attendee->reference)[1];
$attendee->save();
}
Schema::table('attendees', function (Blueprint $table) {
$table->dropColumn('reference');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('attendees', function (Blueprint $table) {
$table->string('reference');
$table->dropColumn('reference_index');
});
$orders = Order::all();
foreach ($orders as $order) {
$attendee_count = 0;
foreach($order->attendees as $attendee) {
$attendee->reference = $order->order_reference. '-' . ++$attendee_count;
$attendee->save();
}
}
}
}

View File

@ -108,7 +108,7 @@ Attendees
</td>
<td>
<a href="javascript:void(0);" data-modal-id="view-order-{{ $attendee->order->id }}" data-href="{{route('showManageOrder', ['order_id'=>$attendee->order->id])}}" title="View Order #{{$attendee->order->order_reference}}" class="loadModal">
#{{$attendee->order->order_reference}}
{{$attendee->order->order_reference}}
</a>
</td>
<td class="text-center">

View File

@ -92,7 +92,7 @@
>
Name: <b>@{{ attendee.first_name }} @{{ attendee.last_name }} </b>
<br>
Reference: <b>@{{ attendee.reference }}</b>
Reference: <b>@{{ attendee.order_reference + '-' + attendee.reference_index }}</b>
<br>
Ticket: <b>@{{ attendee.ticket }}</b>
<a href="" class="ci btn btn-successfulQrRead">

View File

@ -98,7 +98,7 @@ Event Orders
<tr>
<td>
<a href='javascript:void(0);' data-modal-id='view-order-{{ $order->id }}' data-href="{{route('showManageOrder', ['order_id'=>$order->id])}}" title="View Order #{{$order->order_reference}}" class="loadModal">
#{{$order->order_reference}}
{{$order->order_reference}}
</a>
</td>
<td>

View File

@ -81,9 +81,9 @@
<h4>Ticket Type</h4>
{{$attendee->ticket->title}}
<h4>Order Ref.</h4>
#{{$order->order_reference}}
{{$order->order_reference}}
<h4>Attendee Ref.</h4>
#{{$attendee->reference}}
{{$attendee->reference}}
<h4>Price</h4>
{{money($attendee->ticket->total_price, $order->event->currency->code)}} (inc. {{money($attendee->ticket->total_booking_fee, $order->event->currency->code)}} Fees)
</div>

View File

@ -1,3 +1,3 @@
{{--Attendize is provided free of charge on the condition the below hyperlink is left in place.--}}
{{--See https://github.com/Attendize/Attendize/blob/master/LICENSE for more information.--}}
Powered By <a style="color: #FFF;" title="Attendize - Ticket Selling &amp; Event Management" href="http://www.attendize.com/?powered_by">Attendize</a>
{{--See https://www.attendize.com/licence.php for more information.--}}
Powered By <a style="color: #FFF;" title="Attendize - Sell Tickets Online" href="http://www.attendize.com/?powered_by">Attendize</a>