commit
9319031410
|
|
@ -692,6 +692,7 @@ class EventAttendeesController extends MyBaseController
|
|||
public function postCancelAttendee(Request $request, $event_id, $attendee_id)
|
||||
{
|
||||
$attendee = Attendee::scope()->findOrFail($attendee_id);
|
||||
$error_message = false; //Prevent "variable doesn't exist" error message
|
||||
|
||||
if ($attendee->is_cancelled) {
|
||||
return response()->json([
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Jobs\SendOrderTickets;
|
||||
use App\Models\Attendee;
|
||||
use App\Models\Event;
|
||||
use App\Models\EventStats;
|
||||
|
|
@ -84,6 +85,27 @@ class EventOrdersController extends MyBaseController
|
|||
return view('ManageEvent.Modals.ManageOrder', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows 'Edit Order' modal
|
||||
*
|
||||
* @param Request $request
|
||||
* @param $order_id
|
||||
* @return mixed
|
||||
*/
|
||||
public function showEditOrder(Request $request, $order_id)
|
||||
{
|
||||
$order = Order::scope()->find($order_id);
|
||||
|
||||
$data = [
|
||||
'order' => $order,
|
||||
'event' => $order->event(),
|
||||
'attendees' => $order->attendees()->withoutCancelled()->get(),
|
||||
'modal_id' => $request->get('modal_id'),
|
||||
];
|
||||
|
||||
return view('ManageEvent.Modals.EditOrder', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows 'Cancel Order' modal
|
||||
*
|
||||
|
|
@ -105,6 +127,67 @@ class EventOrdersController extends MyBaseController
|
|||
return view('ManageEvent.Modals.CancelOrder', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resend an entire order
|
||||
*
|
||||
* @param $order_id
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function resendOrder($order_id)
|
||||
{
|
||||
$order = Order::scope()->find($order_id);
|
||||
|
||||
$this->dispatch(new SendOrderTickets($order));
|
||||
|
||||
return response()->json([
|
||||
'status' => 'success',
|
||||
'redirectUrl' => '',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancels an order
|
||||
*
|
||||
* @param Request $request
|
||||
* @param $order_id
|
||||
* @return mixed
|
||||
*/
|
||||
public function postEditOrder(Request $request, $order_id)
|
||||
{
|
||||
$rules = [
|
||||
'first_name' => ['required'],
|
||||
'last_name' => ['required'],
|
||||
'email' => ['required', 'email'],
|
||||
];
|
||||
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return response()->json([
|
||||
'status' => 'error',
|
||||
'messages' => $validator->messages()->toArray(),
|
||||
]);
|
||||
}
|
||||
|
||||
$order = Order::scope()->findOrFail($order_id);
|
||||
|
||||
$order->first_name = $request->get('first_name');
|
||||
$order->last_name = $request->get('last_name');
|
||||
$order->email = $request->get('email');
|
||||
|
||||
$order->update();
|
||||
|
||||
|
||||
\Session::flash('message', 'The order has been updated');
|
||||
|
||||
return response()->json([
|
||||
'status' => 'success',
|
||||
'redirectUrl' => '',
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cancels an order
|
||||
*
|
||||
|
|
|
|||
|
|
@ -494,6 +494,21 @@ Route::group(['middleware' => ['auth', 'first.run']], function () {
|
|||
'uses' => 'EventOrdersController@manageOrder',
|
||||
]);
|
||||
|
||||
Route::post('order/{order_id}/resend', [
|
||||
'as' => 'resendOrder',
|
||||
'uses' => 'EventOrdersController@resendOrder',
|
||||
]);
|
||||
|
||||
Route::get('order/{order_id}/show/edit', [
|
||||
'as' => 'showEditOrder',
|
||||
'uses' => 'EventOrdersController@showEditOrder',
|
||||
]);
|
||||
|
||||
Route::post('order/{order_id}/edit', [
|
||||
'as' => 'postOrderEdit',
|
||||
'uses' => 'EventOrdersController@postEditOrder',
|
||||
]);
|
||||
|
||||
Route::get('order/{order_id}/cancel', [
|
||||
'as' => 'showCancelOrder',
|
||||
'uses' => 'EventOrdersController@showCancelOrder',
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@
|
|||
</td>
|
||||
<td>
|
||||
{{{$attendee->ticket->title}}}
|
||||
{{{$order->order_reference}}}-{{{$attendee->reference_index}}}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
|
|||
|
|
@ -0,0 +1,49 @@
|
|||
<div role="dialog" class="modal fade" style="display: none;">
|
||||
<style>
|
||||
.well.nopad {
|
||||
padding: 0px;
|
||||
}
|
||||
.modal-body .row{
|
||||
margin-top:2rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
{!! Form::open(array('url' => route('postOrderEdit', array('order_id' => $order->id)), 'class' => 'ajax reset closeModalAfter')) !!}
|
||||
<div class="modal-header text-center">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3 class="modal-title">
|
||||
<i class="ico-cart"></i>
|
||||
Order: <b>{{$order->order_reference}}</b></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h3>Order Details</h3>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<label for="first_name" class="form-control-label">First Name</label>
|
||||
<input type="text" name="first_name" class="form-control" value="{{ $order->first_name }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<label for="last_name" class="form-control-label">Last Name</label>
|
||||
<input type="text" name="last_name" class="form-control" value="{{ $order->last_name }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<label for="email" class="form-control-label">Email</label>
|
||||
<input type="text" name="email" class="form-control" value="{{ $order->email }}">
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- /end modal body-->
|
||||
|
||||
<div class="modal-footer">
|
||||
{!! Form::button('Close', ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
|
||||
{!! Form::submit('Update Order', ['class'=>"btn btn-success"]) !!}
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
</div><!-- /end modal content-->
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -177,6 +177,7 @@
|
|||
</td>
|
||||
<td>
|
||||
{{{$attendee->ticket->title}}}
|
||||
{{{$order->order_reference}}}-{{{$attendee->reference_index}}}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
@ -187,6 +188,11 @@
|
|||
</div> <!-- /end modal body-->
|
||||
|
||||
<div class="modal-footer">
|
||||
<a href="javascript:void(0);" data-modal-id="edit-order-{{ $order->id }}" data-href="{{route('showEditOrder', ['order_id'=>$order->id])}}" title="Edit Order" class="btn btn-info loadModal">
|
||||
Edit
|
||||
</a>
|
||||
<a class="btn btn-primary" target="_blank" href="{{route('showOrderTickets', ['order_reference' => $order->order_reference])}}?download=1">Print Tickets</a>
|
||||
<span class="pauseTicketSales btn btn-success" data-id="{{$order->id}}" data-route="{{route('resendOrder', ['order_id'=>$order->id])}}">Resend Tickets</span>
|
||||
{!! Form::button('Close', ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
|
||||
</div>
|
||||
</div><!-- /end modal content-->
|
||||
|
|
|
|||
Loading…
Reference in New Issue