Cleaned up controllers

Removed unused methods
Added comments to several methods
This commit is contained in:
Dave 2016-04-09 16:50:50 +01:00 committed by Dave Earley
parent 380a48114b
commit 34d5f7e983
17 changed files with 332 additions and 218 deletions

View File

@ -4,12 +4,16 @@ namespace App\Http\Controllers;
class EventPromoteController extends MyBaseController
{
/**
* @param $event_id
* @return mixed
*/
public function showPromote($event_id)
{
$data = [
'event' => Event::scope()->find($event_id),
];
return View::make('ManageEvent.Promote', $data);
return view('ManageEvent.Promote', $data);
}
}

View File

@ -1,43 +0,0 @@
<?php
namespace App\Http\Controllers;
class EventTicketQuestionsController extends MyBaseController
{
public function showQuestions($event_id)
{
$data = [
'event' => Event::scope()->findOrFail($event_id),
'modal_id' => Input::get('modal_id'),
'question_types' => QuestionType::all(),
];
return View::make('ManageEvent.Modals.ViewQuestions', $data);
}
public function postCreateQuestion($event_id)
{
$event = Event::findOrFail($event_id);
$question = Question::createNew(false, false, true);
$question->title = Input::get('title');
$question->instructions = Input::get('instructions');
$question->options = Input::get('options');
$question->is_required = Input::get('title');
$question->question_type_id = Input::get('question_type_id');
$question->save();
$ticket_ids = Input::get('tickets');
foreach ($ticket_ids as $ticket_id) {
Ticket::scope()->find($ticket_id)->questions()->attach($question->id);
}
$event->questions()->attach($question->id);
return Response::json([
'status' => 'success',
'message' => 'Successfully Created Question',
]);
}
}

View File

@ -6,10 +6,7 @@ use App\Models\Event;
use App\Models\Ticket;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Input;
use Log;
use Response;
use View;
/*
Attendize.com - Event Management & Ticketing
@ -17,6 +14,11 @@ use View;
class EventTicketsController extends MyBaseController
{
/**
* @param Request $request
* @param $event_id
* @return mixed
*/
public function showTickets(Request $request, $event_id)
{
$allowed_sorts = [
@ -46,6 +48,13 @@ class EventTicketsController extends MyBaseController
return view('ManageEvent.Tickets', compact('event', 'tickets', 'sort_by', 'q', 'allowed_sorts'));
}
/**
* Show the edit ticket modal
*
* @param $event_id
* @param $ticket_id
* @return mixed
*/
public function showEditTicket($event_id, $ticket_id)
{
$data = [
@ -56,38 +65,50 @@ class EventTicketsController extends MyBaseController
return view('ManageEvent.Modals.EditTicket', $data);
}
/**
* Show the create ticket modal
*
* @param $event_id
* @return \Illuminate\Contracts\View\View
*/
public function showCreateTicket($event_id)
{
return View::make('ManageEvent.Modals.CreateTicket', [
'event' => Event::find($event_id),
return view('ManageEvent.Modals.CreateTicket', [
'event' => Event::scope()->find($event_id),
]);
}
public function postCreateTicket($event_id)
/**
* Creates a ticket
*
* @param $event_id
* @return \Illuminate\Http\JsonResponse
*/
public function postCreateTicket(Request $request, $event_id)
{
$ticket = Ticket::createNew();
if (!$ticket->validate(Input::all())) {
return Response::json([
if (!$ticket->validate($request->all())) {
return response()->json([
'status' => 'error',
'messages' => $ticket->errors(),
]);
}
$ticket->event_id = $event_id;
$ticket->title = Input::get('title');
$ticket->quantity_available = !Input::get('quantity_available') ? null : Input::get('quantity_available');
$ticket->start_sale_date = Input::get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_sale_date')) : null;
$ticket->end_sale_date = Input::get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_sale_date')) : null;
$ticket->price = Input::get('price');
$ticket->min_per_person = Input::get('min_per_person');
$ticket->max_per_person = Input::get('max_per_person');
$ticket->description = Input::get('description');
$ticket->title = $request->get('title');
$ticket->quantity_available = !$request->get('quantity_available') ? null : $request->get('quantity_available');
$ticket->start_sale_date = $request->get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', $request->get('start_sale_date')) : null;
$ticket->end_sale_date = $request->get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', $request->get('end_sale_date')) : null;
$ticket->price = $request->get('price');
$ticket->min_per_person = $request->get('min_per_person');
$ticket->max_per_person = $request->get('max_per_person');
$ticket->description = $request->get('description');
$ticket->save();
\Session::flash('message', 'Successfully Created Ticket');
session()->flash('message', 'Successfully Created Ticket');
return Response::json([
return response()->json([
'status' => 'success',
'id' => $ticket->id,
'message' => 'Refreshing...',
@ -97,16 +118,22 @@ class EventTicketsController extends MyBaseController
]);
}
public function postPauseTicket()
/**
* Pause ticket / take it off sale
*
* @param Request $request
* @return mixed
*/
public function postPauseTicket(Request $request)
{
$ticket_id = Input::get('ticket_id');
$ticket_id = $request->get('ticket_id');
$ticket = Ticket::scope()->find($ticket_id);
$ticket->is_paused = ($ticket->is_paused == 1) ? 0 : 1;
if ($ticket->save()) {
return Response::json([
return response()->json([
'status' => 'success',
'message' => 'Ticket Successfully Updated',
'id' => $ticket->id,
@ -117,21 +144,30 @@ class EventTicketsController extends MyBaseController
'ticket' => $ticket,
]);
return Response::json([
return response()->json([
'status' => 'error',
'id' => $ticket->id,
'message' => 'Whoops!, looks like something went wrong. Please try again.',
]);
}
public function postDeleteTicket()
/**
* Deleted a ticket
*
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function postDeleteTicket(Request $request)
{
$ticket_id = Input::get('ticket_id');
$ticket_id = $request->get('ticket_id');
$ticket = Ticket::scope()->find($ticket_id);
/*
* Don't allow deletion of tickets which have been sold already.
*/
if ($ticket->quantity_sold > 0) {
return Response::json([
return response()->json([
'status' => 'error',
'message' => 'Sorry, you can\'t delete this ticket as some have already been sold',
'id' => $ticket->id,
@ -139,7 +175,7 @@ class EventTicketsController extends MyBaseController
}
if ($ticket->delete()) {
return Response::json([
return response()->json([
'status' => 'success',
'message' => 'Ticket Successfully Deleted',
'id' => $ticket->id,
@ -150,19 +186,27 @@ class EventTicketsController extends MyBaseController
'ticket' => $ticket,
]);
return Response::json([
return response()->json([
'status' => 'error',
'id' => $ticket->id,
'message' => 'Whoops!, looks like something went wrong. Please try again.',
]);
}
public function postEditTicket($event_id, $ticket_id)
/**
* Edit a ticket
*
* @param Request $request
* @param $event_id
* @param $ticket_id
* @return \Illuminate\Http\JsonResponse
*/
public function postEditTicket(Request $request, $event_id, $ticket_id)
{
$ticket = Ticket::findOrFail($ticket_id);
$ticket = Ticket::scope()->findOrFail($ticket_id);
/*
* Override some vaidation rules
* Override some validation rules
*/
$validation_rules['quantity_available'] = ['integer', 'min:'.($ticket->quantity_sold + $ticket->quantity_reserved)];
$validation_messages['quantity_available.min'] = 'Quantity available can\'t be less the amount sold or reserved.';
@ -170,25 +214,25 @@ class EventTicketsController extends MyBaseController
$ticket->rules = $validation_rules + $ticket->rules;
$ticket->messages = $validation_messages + $ticket->messages;
if (!$ticket->validate(Input::all())) {
return Response::json([
if (!$ticket->validate($request->all())) {
return response()->json([
'status' => 'error',
'messages' => $ticket->errors(),
]);
}
$ticket->title = Input::get('title');
$ticket->quantity_available = !Input::get('quantity_available') ? null : Input::get('quantity_available');
$ticket->price = Input::get('price');
$ticket->start_sale_date = Input::get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_sale_date')) : null;
$ticket->end_sale_date = Input::get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_sale_date')) : null;
$ticket->description = Input::get('description');
$ticket->min_per_person = Input::get('min_per_person');
$ticket->max_per_person = Input::get('max_per_person');
$ticket->title = $request->get('title');
$ticket->quantity_available = !$request->get('quantity_available') ? null : $request->get('quantity_available');
$ticket->price = $request->get('price');
$ticket->start_sale_date = $request->get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', $request->get('start_sale_date')) : null;
$ticket->end_sale_date = $request->get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', $request->get('end_sale_date')) : null;
$ticket->description = $request->get('description');
$ticket->min_per_person = $request->get('min_per_person');
$ticket->max_per_person = $request->get('max_per_person');
$ticket->save();
return Response::json([
return response()->json([
'status' => 'success',
'id' => $ticket->id,
'message' => 'Refreshing...',

View File

@ -7,20 +7,28 @@ use App\Models\Event;
use App\Models\EventStats;
use Auth;
use Cookie;
use Input;
use Illuminate\Http\Request;
use Mail;
use Response;
use Validator;
use View;
class EventViewController extends Controller
{
public function showEventHome($event_id, $slug = '', $preview = false)
/**
* Show the homepage for an event
*
* @param Request $request
* @param $event_id
* @param string $slug
* @param bool $preview
* @return mixed
*/
public function showEventHome(Request $request, $event_id, $slug = '', $preview = false)
{
$event = Event::findOrFail($event_id);
if (!Auth::check() && !$event->is_live) {
return View::make('Public.ViewEvent.EventNotLivePage');
return view('Public.ViewEvent.EventNotLivePage');
}
$data = [
@ -31,7 +39,7 @@ class EventViewController extends Controller
/*
* Don't record stats if we're previewing the event page from the backend or if we own the event.
*/
if (!$preview || !Auth::check()) {
if (!$preview && !Auth::check()) {
$event_stats = new EventStats();
$event_stats->updateViewCount($event_id);
}
@ -39,12 +47,12 @@ class EventViewController extends Controller
/*
* See if there is an affiliate referral in the URL
*/
if ($affiliate_ref = \Input::get('ref')) {
if ($affiliate_ref = $request->get('ref')) {
$affiliate_ref = preg_replace("/\W|_/", '', $affiliate_ref);
if ($affiliate_ref) {
$affiliate = Affiliate::firstOrNew([
'name' => Input::get('ref'),
'name' => $request->get('ref'),
'event_id' => $event_id,
'account_id' => $event->account_id,
]);
@ -57,15 +65,28 @@ class EventViewController extends Controller
}
}
return View::make('Public.ViewEvent.EventPage', $data);
return view('Public.ViewEvent.EventPage', $data);
}
/**
* Show preview of event homepage / used for backend previewing
*
* @param $event_id
* @return mixed
*/
public function showEventHomePreview($event_id)
{
return showEventHome($event_id, true);
}
public function postContactOrganiser($event_id)
/**
* Sends a message to the organiser
*
* @param Request $request
* @param $event_id
* @return mixed
*/
public function postContactOrganiser(Request $request, $event_id)
{
$rules = [
'name' => 'required',
@ -73,10 +94,10 @@ class EventViewController extends Controller
'message' => ['required'],
];
$validator = Validator::make(Input::all(), $rules);
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return Response::json([
return response()->json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
@ -85,9 +106,9 @@ class EventViewController extends Controller
$event = Event::findOrFail($event_id);
$data = [
'sender_name' => Input::get('name'),
'sender_email' => Input::get('email'),
'message_content' => strip_tags(Input::get('message')),
'sender_name' => $request->get('name'),
'sender_email' => $request->get('email'),
'message_content' => strip_tags($request->get('message')),
'event' => $event,
];
@ -98,7 +119,7 @@ class EventViewController extends Controller
->subject('Message Regarding: '.$event->title);
});
return Response::json([
return response()->json([
'status' => 'success',
'message' => 'Message Successfully Sent',
]);

View File

@ -3,10 +3,16 @@
namespace App\Http\Controllers;
use App\Models\Event;
use View;
class EventViewEmbeddedController extends Controller
{
/**
* Show an embedded version of the event page
*
* @param $event_id
* @return mixed
*/
public function showEmbeddedEvent($event_id)
{
$event = Event::findOrFail($event_id);
@ -17,6 +23,6 @@ class EventViewEmbeddedController extends Controller
'is_embedded' => '1',
];
return View::make('Public.ViewEvent.Embedded.EventPage', $data);
return view('Public.ViewEvent.Embedded.EventPage', $data);
}
}

View File

@ -15,7 +15,13 @@ use Illuminate\Http\Request;
class EventWidgetsController extends MyBaseController
{
/**
* Show the event widgets page
*
* @param Request $request
* @param $event_id
* @return mixed
*/
public function showEventWidgets(Request $request, $event_id)
{
$event = Event::scope()->findOrFail($event_id);

View File

@ -4,6 +4,15 @@ namespace App\Http\Controllers;
class ImageController extends Controller
{
/**
* Generate a thumbnail for a given image
*
* @param $image_src
* @param bool $width
* @param bool $height
* @param int $quality
*/
public function generateThumbnail($image_src, $width = false, $height = false, $quality = 90)
{
$img = Image::make('public/foo.jpg');

View File

@ -6,6 +6,7 @@ use App\Models\Timezone;
use Artisan;
use Config;
use DB;
use Illuminate\Http\Request;
use Input;
use Redirect;
use Response;
@ -13,15 +14,31 @@ use View;
class InstallerController extends Controller
{
/**
* InstallerController constructor.
*/
public function __construct()
{
/**
* If we're already installed kill the request
* @todo Check if DB is installed etc.
*/
if (file_exists(base_path('installed'))) {
abort(403, 'Unauthorized action.');
}
}
/**
* Show the application installer
*
* @return mixed
*/
public function showInstaller()
{
/*
* Path we need to make sure are writable
*/
$data['paths'] = [
storage_path('app'),
storage_path('framework'),
@ -31,6 +48,10 @@ class InstallerController extends Controller
public_path(config('attendize.event_pdf_tickets_path')),
base_path('.env'),
];
/*
* Required PHP extensions
*/
$data['requirements'] = [
'openssl',
'pdo',
@ -40,44 +61,50 @@ class InstallerController extends Controller
'gd',
];
return View::make('Installer.Installer', $data);
return view('Installer.Installer', $data);
}
public function postInstaller()
/**
* Attempts to install the system
*
* @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function postInstaller(Request $request)
{
set_time_limit(300);
$database['type'] = 'mysql';
$database['host'] = Input::get('database_host');
$database['name'] = Input::get('database_name');
$database['username'] = Input::get('database_username');
$database['password'] = Input::get('database_password');
$database['host'] = $request->get('database_host');
$database['name'] = $request->get('database_name');
$database['username'] = $request->get('database_username');
$database['password'] = $request->get('database_password');
$mail['driver'] = Input::get('mail_driver');
$mail['port'] = Input::get('mail_port');
$mail['username'] = Input::get('mail_username');
$mail['password'] = Input::get('mail_password');
$mail['encryption'] = Input::get('mail_encryption');
$mail['from_address'] = Input::get('mail_from_address');
$mail['from_name'] = Input::get('mail_from_name');
$mail['host'] = Input::get('mail_host');
$mail['driver'] = $request->get('mail_driver');
$mail['port'] = $request->get('mail_port');
$mail['username'] = $request->get('mail_username');
$mail['password'] = $request->get('mail_password');
$mail['encryption'] = $request->get('mail_encryption');
$mail['from_address'] = $request->get('mail_from_address');
$mail['from_name'] = $request->get('mail_from_name');
$mail['host'] = $request->get('mail_host');
$app_url = Input::get('app_url');
$app_url = $request->get('app_url');
$app_key = str_random(16);
$version = file_get_contents(base_path('VERSION'));
if (Input::get('test') === 'db') {
if ($request->get('test') === 'db') {
$is_db_valid = self::testDatabase($database);
if ($is_db_valid === 'yes') {
return Response::json([
return reponse()->json([
'status' => 'success',
'message' => 'Success, Your connection works!',
'test' => 1,
]);
}
return Response::json([
return response()->json([
'status' => 'error',
'message' => 'Unable to connect! Please check your settings',
'test' => 1,
@ -124,7 +151,7 @@ class InstallerController extends Controller
fwrite($fp, $version);
fclose($fp);
return Redirect::route('showSignup', ['first_run' => 'yup']);
return redirect()->route('showSignup', ['first_run' => 'yup']);
}
private function testDatabase($database)

View File

@ -13,10 +13,18 @@ use HttpClient;
use Illuminate\Http\Request;
use Input;
use Response;
use Validator;
use Hash;
use View;
class ManageAccountController extends MyBaseController
{
/**
* Show the account modal
*
* @param Request $request
* @return mixed
*/
public function showEditAccount(Request $request)
{
$data = [
@ -30,6 +38,7 @@ class ManageAccountController extends MyBaseController
return view('ManageAccount.Modals.EditAccount', $data);
}
public function showStripeReturn()
{
$error_message = 'There was an error connecting your Stripe account. Please try again.';
@ -44,7 +53,7 @@ class ManageAccountController extends MyBaseController
'url' => 'https://connect.stripe.com/oauth/token',
'params' => [
'client_secret' => STRIPE_SECRET_KEY, //sk_test_iXk2Ky0DlhIcTcKMvsDa8iKI',
'client_secret' => STRIPE_SECRET_KEY,
'code' => Input::get('code'),
'grant_type' => 'authorization_code',
],
@ -72,6 +81,12 @@ class ManageAccountController extends MyBaseController
return redirect()->route('showEventsDashboard');
}
/**
* Edit an account
*
* @return \Illuminate\Http\JsonResponse
*/
public function postEditAccount()
{
$account = Account::find(Auth::user()->account_id);
@ -140,6 +155,11 @@ class ManageAccountController extends MyBaseController
]);
}
/**
* Invite a user to the application
*
* @return \Illuminate\Http\JsonResponse
*/
public function postInviteUser()
{
$rules = [
@ -152,10 +172,10 @@ class ManageAccountController extends MyBaseController
'email.unique' => 'E-mail already in use for this account.',
];
$validation = \Validator::make(Input::all(), $rules, $messages);
$validation = Validator::make(Input::all(), $rules, $messages);
if ($validation->fails()) {
return \Response::json([
return Response::json([
'status' => 'error',
'messages' => $validation->messages()->toArray(),
]);
@ -165,7 +185,7 @@ class ManageAccountController extends MyBaseController
$user = new User();
$user->email = Input::get('email');
$user->password = \Hash::make($temp_password);
$user->password = Hash::make($temp_password);
$user->account_id = Auth::user()->account_id;
$user->save();
@ -175,7 +195,7 @@ class ManageAccountController extends MyBaseController
'inviter' => Auth::user(),
];
\Mail::send('Emails.inviteUser', $data, function ($message) use ($data) {
Mail::send('Emails.inviteUser', $data, function ($message) use ($data) {
$message->to($data['user']->email)
->subject($data['inviter']->first_name . ' ' . $data['inviter']->last_name . ' added you to an Attendize Ticketing account.');
});

View File

@ -9,8 +9,12 @@ use View;
class MyBaseController extends Controller
{
public function __construct()
{
/*
* Share the organizers across all views
*/
View::share('organisers', Organiser::scope()->get());
}

View File

@ -2,94 +2,68 @@
namespace App\Http\Controllers;
use App\Models\Event;
use App\Models\Organiser;
use Illuminate\Http\Request;
use Image;
use Input;
use Response;
use View;
class OrganiserController extends MyBaseController
{
/**
* Show the select organiser page
*
* @return \Illuminate\Contracts\View\View
*/
public function showSelectOragniser()
{
return View::make('ManageOrganiser.SelectOrganiser');
return view('ManageOrganiser.SelectOrganiser');
}
public function showOrganiserDashboard($organiser_id = false)
{
$allowed_sorts = ['created_at', 'start_date', 'end_date', 'title'];
$searchQuery = Input::get('q');
//$sort_order = Input::get('sort_order') == 'asc' ? 'asc' : 'desc';
$sort_by = (in_array(Input::get('sort_by'), $allowed_sorts) ? Input::get('sort_by') : 'start_date');
$events = $searchQuery
? Event::scope()->where('title', 'like', '%'.$searchQuery.'%')->orderBy($sort_by, 'desc')->where('organiser_id', '=', $organiser_id)->paginate(12)
: Event::scope()->where('organiser_id', '=', $organiser_id)->orderBy($sort_by, 'desc')->paginate(12);
$data = [
'events' => $events,
'organisers' => Organiser::scope()->orderBy('name')->get(),
'current_organiser' => Organiser::scope()->find($organiser_id),
'q' => $searchQuery ? $searchQuery : '', //Redundant
'search' => [
'q' => $searchQuery ? $searchQuery : '',
'sort_by' => $sort_by,
'showPast' => Input::get('past'),
],
];
return View::make('ManageEvents.OrganiserDashboard', $data);
}
public function showEditOrganiser($organiser_id)
{
$organiser = Organiser::scope()->findOrfail($organiser_id);
return View::make('ManageEvents.Modals.EditOrganiser', [
'modal_id' => Input::get('modal_id'),
'organiser' => $organiser,
]);
}
/**
* Show the create organiser page
*
* @return \Illuminate\Contracts\View\View
*/
public function showCreateOrganiser()
{
return View::make('ManageOrganiser.CreateOrganiser');
return View::make('ManageEvents.Modals.CreateOrganiser');
return view('ManageOrganiser.CreateOrganiser');
}
public function postCreateOrganiser()
/**
* Create the organiser
*
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function postCreateOrganiser(Request $request)
{
$organiser = Organiser::createNew(false, false, true);
if (!$organiser->validate(Input::all())) {
return Response::json([
if (!$organiser->validate($request->all())) {
return response()->json([
'status' => 'error',
'messages' => $organiser->errors(),
]);
}
$organiser->name = Input::get('name');
$organiser->about = Input::get('about');
$organiser->email = Input::get('email');
$organiser->facebook = Input::get('facebook');
$organiser->twitter = Input::get('twitter');
$organiser->name = $request->get('name');
$organiser->about = $request->get('about');
$organiser->email = $request->get('email');
$organiser->facebook = $request->get('facebook');
$organiser->twitter = $request->get('twitter');
$organiser->confirmation_key = md5(time().rand(0, 999999));
if (Input::hasFile('organiser_logo')) {
if ($request->hasFile('organiser_logo')) {
$path = public_path().'/'.config('attendize.organiser_images_path');
$filename = 'organiser_logo-'.$organiser->id.'.'.strtolower(Input::file('organiser_logo')->getClientOriginalExtension());
$filename = 'organiser_logo-'.$organiser->id.'.'.strtolower($request->file('organiser_logo')->getClientOriginalExtension());
$file_full_path = $path.'/'.$filename;
Input::file('organiser_logo')->move($path, $filename);
$request->file('organiser_logo')->move($path, $filename);
$img = Image::make($file_full_path);
$img->resize(250, 250, function ($constraint) {
//$constraint->aspectRatio();
$constraint->upsize();
});
@ -101,9 +75,9 @@ class OrganiserController extends MyBaseController
}
$organiser->save();
\Session::flash('message', 'Successfully Created Organiser');
session()->flash('message', 'Successfully Created Organiser');
return Response::json([
return response()->json([
'status' => 'success',
'message' => 'Refreshing..',
'redirectUrl' => route('showOrganiserDashboard', [

View File

@ -4,10 +4,15 @@ namespace App\Http\Controllers;
use App\Models\Organiser;
use Carbon\Carbon;
use View;
class OrganiserDashboardController extends MyBaseController
{
/**
* Show the organiser dashboard
*
* @param $organiser_id
* @return mixed
*/
public function showDashboard($organiser_id)
{
$organiser = Organiser::scope()->findOrFail($organiser_id);
@ -16,13 +21,8 @@ class OrganiserDashboardController extends MyBaseController
$data = [
'organiser' => $organiser,
'upcoming_events' => $upcoming_events,
'search' => [
'sort_by' => 's',
'q' => '',
],
'q' => 'dd',
];
return View::make('ManageOrganiser.Dashboard', $data);
return view('ManageOrganiser.Dashboard', $data);
}
}

View File

@ -4,19 +4,26 @@ namespace App\Http\Controllers;
use App\Models\Event;
use App\Models\Organiser;
use Input;
use View;
use Illuminate\Http\Request;
class OrganiserEventsController extends MyBaseController
{
public function showEvents($organiser_id)
/**
* Show the organiser events page
*
* @param Request $request
* @param $organiser_id
* @return mixed
*/
public function showEvents(Request $request, $organiser_id)
{
$organiser = Organiser::scope()->findOrfail($organiser_id);
$allowed_sorts = ['created_at', 'start_date', 'end_date', 'title'];
$searchQuery = Input::get('q');
$sort_by = (in_array(Input::get('sort_by'), $allowed_sorts) ? Input::get('sort_by') : 'start_date');
$searchQuery = $request->get('q');
$sort_by = (in_array($request->get('sort_by'), $allowed_sorts) ? $request->get('sort_by') : 'start_date');
$events = $searchQuery
? Event::scope()->where('title', 'like', '%'.$searchQuery.'%')->orderBy($sort_by, 'desc')->where('organiser_id', '=', $organiser_id)->paginate(12)
@ -27,12 +34,12 @@ class OrganiserEventsController extends MyBaseController
'organiser' => $organiser,
'search' => [
'q' => $searchQuery ? $searchQuery : '',
'sort_by' => Input::get('sort_by') ? Input::get('sort_by') : '',
'showPast' => Input::get('past'),
'sort_by' => $request->get('sort_by') ? $request->get('sort_by') : '',
'showPast' => $request->get('past'),
],
];
return View::make('ManageOrganiser.Events', $data);
return view('ManageOrganiser.Events', $data);
}

View File

@ -3,12 +3,20 @@
namespace App\Http\Controllers;
use App\Models\Organiser;
use View;
use Carbon\Carbon;
use Auth;
class OrganiserViewController extends Controller
{
/**
* Show the public organiser page
*
* @param $organiser_id
* @param string $slug
* @param bool $preview
* @return \Illuminate\Contracts\View\View
*/
public function showOrganiserHome($organiser_id, $slug = '', $preview = false)
{
$organiser = Organiser::findOrFail($organiser_id);
@ -28,9 +36,15 @@ class OrganiserViewController extends Controller
'past_events' => $past_events
];
return View::make('Public.ViewOrganiser.OrganiserPage', $data);
return view('Public.ViewOrganiser.OrganiserPage', $data);
}
/**
* Show the backend preview of the organiser page
*
* @param $event_id
* @return mixed
*/
public function showEventHomePreview($event_id)
{
return showEventHome($event_id, true);

View File

@ -2,24 +2,35 @@
namespace App\Http\Controllers;
use App\Models\User;
use Auth;
use Illuminate\Http\Request;
use Input;
use Response;
use Hash;
use Validator;
class UserController extends Controller
{
/**
* Show the edit user modal
*
* @return \Illuminate\Contracts\View\View
*/
public function showEditUser()
{
$data = [
'user' => \Auth::user(),
'modal_id' => \Input::get('modal_id'),
'user' => Auth::user(),
];
return \View::make('ManageUser.Modals.EditUser', $data);
return view('ManageUser.Modals.EditUser', $data);
}
public function postEditUser()
/**
* Updates the current user
*
* @param Request $request
* @return mixed
*/
public function postEditUser(Request $request)
{
$rules = [
'email' => ['required', 'email', 'exists:users,email,account_id,'.Auth::user()->account_id],
@ -37,10 +48,10 @@ class UserController extends Controller
'first_name.required' => 'Please enter your first name.',
];
$validation = \Validator::make(Input::all(), $rules, $messages);
$validation = Validator::make($request->all(), $rules, $messages);
if ($validation->fails()) {
return Response::json([
return response()->json([
'status' => 'error',
'messages' => $validation->messages()->toArray(),
]);
@ -48,17 +59,16 @@ class UserController extends Controller
$user = Auth::user();
if (Input::get('password')) {
$user->password = \Hash::make(Input::get('new_password'));
if ($request->get('password')) {
$user->password = Hash::make(Input::get('new_password'));
}
$user->first_name = Input::get('first_name');
$user->last_name = Input::get('last_name');
$user->first_name = $request->get('first_name');
$user->last_name = $request->get('last_name');
//$user->email = Input::get('email');
$user->save();
return Response::json([
return response()->json([
'status' => 'success',
'message' => 'Successfully Edited User',
]);

View File

@ -14,10 +14,15 @@ class UserLogoutController extends Controller
$this->auth = $auth;
}
/**
* Log a use out and redirect them
*
* @return mixed
*/
public function doLogout()
{
$this->auth->logout();
return \Redirect::to('/?logged_out=yup');
return redirect()->to('/?logged_out=yup');
}
}

View File

@ -73,6 +73,12 @@ class UserSignupController extends Controller
return redirect('login');
}
/**
* Confirm a user email
*
* @param $confirmation_code
* @return mixed
*/
public function confirmEmail($confirmation_code)
{
$user = User::whereConfirmationCode($confirmation_code)->first();