mivita/app/Http/Controllers/Web/HomepartyController.php
2020-10-16 16:18:00 +02:00

96 lines
No EOL
2.8 KiB
PHP
Executable file

<?php
namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller;
use App\Mail\MailContact;
use App\Mail\MailVerifyAccount;
use App\Models\Homeparty;
use App\Models\HomepartyUser;
use App\Repositories\UserRepository;
use App\Services\UserService;
use App\User;
use GuzzleHttp\Client;
use Request;
use Illuminate\Support\Facades\Mail;
use App\Services\Util;
use Validator;
class HomepartyController extends Controller
{
public function __construct()
{
}
public function detail($token = null)
{
if(!$token){
abort(404);
}
$homeparty_user = HomepartyUser::where('token', $token)->where('token_active', true)->first();
if(!$homeparty_user){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
$data = [
'homeparty' => $homeparty_user->homeparty,
'homeparty_user' => $homeparty_user,
];
return view('user.homeparty.self_guest_detail', $data);
}
public function detailStore($token = null)
{
if(!$token){
abort(404);
}
$homeparty_user = HomepartyUser::where('token', $token)->where('token_active', true)->first();
if(!$homeparty_user){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
$rules = array(
'billing_salutation' => 'required',
'billing_firstname' => 'required',
'billing_lastname' => 'required',
'billing_address' => 'required',
'billing_zipcode' => 'required',
'billing_city' => 'required',
'billing_country_id' => 'required',
);
if (!Request::get('same_as_billing')) {
$rules = array_merge($rules, [
'shipping_firstname' => 'required',
'shipping_lastname' => 'required',
'shipping_address' => 'required',
'shipping_zipcode' => 'required',
'shipping_city' => 'required',
'shipping_salutation' => 'required',
'shipping_country_id' => 'required'
]);
}
$validator = Validator::make(Request::all(), $rules);
if ($validator->fails()) {
return back()->withErrors($validator)->withInput(Request::all());
}
$data = Request::all();
$data['same_as_billing'] = isset($data['same_as_billing']) ? true : false;
$data['shipping_country_id'] = isset($data['shipping_country_id']) ? $data['shipping_country_id'] : $data['billing_country_id'];
$homeparty_user->fill($data)->save();
\Session()->flash('alert-save', '1');
return redirect(route('homeparty', [$token]));
}
}