2016-02-29 15:59:36 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
|
|
|
|
use App\Models\Organiser;
|
2016-04-09 15:50:50 +00:00
|
|
|
use Illuminate\Http\Request;
|
2016-03-05 00:18:10 +00:00
|
|
|
use Image;
|
|
|
|
|
|
|
|
|
|
class OrganiserController extends MyBaseController
|
|
|
|
|
{
|
2016-04-09 15:50:50 +00:00
|
|
|
/**
|
|
|
|
|
* Show the select organiser page
|
|
|
|
|
*
|
|
|
|
|
* @return \Illuminate\Contracts\View\View
|
|
|
|
|
*/
|
2016-03-05 00:18:10 +00:00
|
|
|
public function showSelectOragniser()
|
|
|
|
|
{
|
2016-04-09 15:50:50 +00:00
|
|
|
return view('ManageOrganiser.SelectOrganiser');
|
2016-02-29 15:59:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
/**
|
|
|
|
|
* Show the create organiser page
|
|
|
|
|
*
|
|
|
|
|
* @return \Illuminate\Contracts\View\View
|
|
|
|
|
*/
|
2016-03-05 00:18:10 +00:00
|
|
|
public function showCreateOrganiser()
|
|
|
|
|
{
|
2016-04-09 15:50:50 +00:00
|
|
|
return view('ManageOrganiser.CreateOrganiser');
|
2016-02-29 15:59:36 +00:00
|
|
|
}
|
|
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
/**
|
|
|
|
|
* Create the organiser
|
|
|
|
|
*
|
|
|
|
|
* @param Request $request
|
|
|
|
|
* @return \Illuminate\Http\JsonResponse
|
|
|
|
|
*/
|
|
|
|
|
public function postCreateOrganiser(Request $request)
|
2016-03-05 00:18:10 +00:00
|
|
|
{
|
|
|
|
|
$organiser = Organiser::createNew(false, false, true);
|
2016-02-29 15:59:36 +00:00
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
if (!$organiser->validate($request->all())) {
|
|
|
|
|
return response()->json([
|
2016-03-05 00:18:10 +00:00
|
|
|
'status' => 'error',
|
|
|
|
|
'messages' => $organiser->errors(),
|
|
|
|
|
]);
|
2016-02-29 15:59:36 +00:00
|
|
|
}
|
|
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
$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');
|
2016-03-05 00:18:10 +00:00
|
|
|
$organiser->confirmation_key = md5(time().rand(0, 999999));
|
2016-02-29 15:59:36 +00:00
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
if ($request->hasFile('organiser_logo')) {
|
2016-03-05 00:18:10 +00:00
|
|
|
$path = public_path().'/'.config('attendize.organiser_images_path');
|
2016-04-09 15:50:50 +00:00
|
|
|
$filename = 'organiser_logo-'.$organiser->id.'.'.strtolower($request->file('organiser_logo')->getClientOriginalExtension());
|
2016-02-29 15:59:36 +00:00
|
|
|
|
2016-03-05 00:18:10 +00:00
|
|
|
$file_full_path = $path.'/'.$filename;
|
2016-02-29 15:59:36 +00:00
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
$request->file('organiser_logo')->move($path, $filename);
|
2016-02-29 15:59:36 +00:00
|
|
|
|
|
|
|
|
$img = Image::make($file_full_path);
|
|
|
|
|
|
|
|
|
|
$img->resize(250, 250, function ($constraint) {
|
|
|
|
|
$constraint->upsize();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$img->save($file_full_path);
|
2016-03-05 00:18:10 +00:00
|
|
|
|
|
|
|
|
if (file_exists($file_full_path)) {
|
|
|
|
|
$organiser->logo_path = config('attendize.organiser_images_path').'/'.$filename;
|
2016-02-29 15:59:36 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$organiser->save();
|
|
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
session()->flash('message', 'Successfully Created Organiser');
|
2016-03-05 00:18:10 +00:00
|
|
|
|
2016-04-09 15:50:50 +00:00
|
|
|
return response()->json([
|
2016-03-05 00:18:10 +00:00
|
|
|
'status' => 'success',
|
|
|
|
|
'message' => 'Refreshing..',
|
2016-02-29 15:59:36 +00:00
|
|
|
'redirectUrl' => route('showOrganiserDashboard', [
|
2016-03-05 00:18:10 +00:00
|
|
|
'organiser_id' => $organiser->id,
|
|
|
|
|
]),
|
|
|
|
|
]);
|
2016-02-29 15:59:36 +00:00
|
|
|
}
|
|
|
|
|
}
|