Attendize/app/Http/Controllers/OrganiserController.php

75 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Organiser;
use Illuminate\Http\Request;
use Image;
class OrganiserController extends MyBaseController
{
/**
* Show the select organiser page
*
* @return \Illuminate\Contracts\View\View
*/
public function showSelectOrganiser()
{
return view('ManageOrganiser.SelectOrganiser');
}
/**
* Show the create organiser page
*
* @return \Illuminate\Contracts\View\View
*/
public function showCreateOrganiser()
{
return view('ManageOrganiser.CreateOrganiser');
}
/**
* Create the organiser
*
* @param Request $request
*
* @return \Illuminate\Http\JsonResponse
* @throws \Symfony\Component\HttpFoundation\File\Exception\FileException
*/
public function postCreateOrganiser(Request $request)
{
$organiser = Organiser::createNew(false, false, true);
if (!$organiser->validate($request->all())) {
return response()->json([
'status' => 'error',
'messages' => $organiser->errors(),
]);
}
$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 = str_random(15);
if ($request->hasFile('organiser_logo')) {
$organiser->setLogo($request->file('organiser_logo'));
}
$organiser->save();
session()->flash('message', trans("Controllers.successfully_created_organiser"));
return response()->json([
'status' => 'success',
'message' => trans("Controllers.refreshing"),
'redirectUrl' => route('showOrganiserEvents', [
'organiser_id' => $organiser->id,
'first_run' => 1
]),
]);
}
}