<?php
namespace App\Services;
use App\Models\Addon;
use App\Models\AddonSize;
use App\Models\Cafe;
use App\Models\CafeMenu;
use App\Models\CafeRequest;
use App\Models\CafeTiming;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
class SignupService
{
private $model;
public function __construct($model)
{
$this->model = new $model();
}
public function showSignupForm($id = null)
{
$data = [];
if ($id != null) {
DB::beginTransaction();
try {
$cafeRequest = CafeRequest::where('id', decrypt($id))->first();
if ($cafeRequest->approved == 1 && $cafeRequest->signup_completed == 1) {
$create = [];
$create['email'] = $cafeRequest->email;
$create['cafe_name'] = $cafeRequest->cafe_name;
$create['phone'] = $cafeRequest->phone;
$create['cafe_type'] = $cafeRequest->cafe_type;
$create['address'] = $cafeRequest->address;
$create['postcode'] = $cafeRequest->postcode;
$create['latitude'] = $cafeRequest->latitude;
$create['longitude'] = $cafeRequest->longitude;
$create['website'] = $cafeRequest->website;
$create['password'] = $cafeRequest->password;
$create['approved'] = $cafeRequest->approved;
$create['signup_completed'] = $cafeRequest->signup_completed;
$create['is_active'] = $cafeRequest->is_active;
$create['created_at'] = Carbon::now()->timestamp;
$create['updated_at'] = Carbon::now()->timestamp;
$cafeId = $this->model->insertGetId($create);
$cafe = $this->model->find($cafeId);
$cafe->assignRole('cafe_admin');
$cafeTime = [
'cafe_id' => $cafeId,
'open_time' => config('constants.cafe_timing.open_time'),
'close_time' => config('constants.cafe_timing.close_time'),
'is_active' => config('constants.cafe_timing.is_active'),
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
];
$cafeTiming = [];
for ($i = 0; $i < 7; $i++) {
$cafeTime['day'] = $i;
array_push($cafeTiming, $cafeTime);
}
CafeTiming::insert($cafeTiming);
$cafeRequest->delete();
// add cafe menu
$cafeMenus = [
// [
// 'menu_name' => 'Drinks',
// 'cafe_id' => $cafeId,
// 'created_at' => Carbon::now()->timestamp,
// 'updated_at' => Carbon::now()->timestamp,
// ],
// [
// 'menu_name' => 'Pastries',
// 'cafe_id' => $cafeId,
// 'created_at' => Carbon::now()->timestamp,
// 'updated_at' => Carbon::now()->timestamp,
// ],
[
'menu_name' => 'Hot Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Tea',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bakery',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Sandwiches',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Iced drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Smoothies',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bagles',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Salads',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Wraps',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Snacks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bottled Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Breakfast Options',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bubble Tea',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Cakes',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Coffee',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Hot Chocolate',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Soft Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Brunch',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Breakfast',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Lunch',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Main Meals',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Desserts',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Soup',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Milkshakes',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Kids Menu',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Seasonal',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Vegan Options',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Matcha',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Juice',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Coffee Beans and Other Retail',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Other',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Unique',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bundles',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
CafeMenu::insert($cafeMenus);
// add addons
$addons = [
[
'addon_name' => "Milk",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Sugar",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Syrup",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Other",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Added Taste",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Add on",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
Addon::insert($addons);
// add addon sizes
$addonSizes = [];
$addon = Addon::where('cafe_id', $cafeId)->get();
foreach ($addon as $key => $value) {
switch ($value->addon_name) {
case 'Milk':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'No milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Whole milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Semi skimmed milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Oat milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Soya milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Almond milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Skimmed milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Coconut milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Sugar':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'White sugar',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Brown sugar',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sweetener',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Syrup':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Vanilla',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Hazelnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Salted caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Almond',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mocha/Chocolate',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Coconut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Cinnamon',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Toffee Nut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Macadamia Nut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Raspberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Strawberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Blueberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Cherry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peach',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mango',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Passionfruit',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pomegranate',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Orange',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pumpkin Spice',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peppermint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Gingerbread',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Maple',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Irish Cream',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Amaretto',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Butter Pecan',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Vanilla',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Hazelnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pistachio',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Walnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peanut Butter',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Matcha',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Other':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Decaf',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Extra shot',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Espresso',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Added Taste':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Ginger',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Honey',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Add on':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Marshmallow',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Whipped cream',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
default:
break;
}
}
for ($i = 0; $i < sizeof($addonSizes); $i++) {
AddonSize::insert($addonSizes[$i]);
}
DB::commit();
session()->flash('success_message', __('auth.approvedSuccessfully'));
return redirect()->route('cafe.login');
}
if ($cafeRequest->approved == 1 && $cafeRequest->signup_completed == 0) {
$data['email'] = $cafeRequest->email;
$data['cafe_name'] = $cafeRequest->cafe_name;
$data['phone'] = $cafeRequest->phone;
$data['address'] = $cafeRequest->address;
$data['postcode'] = $cafeRequest->postcode;
$data['latitude'] = $cafeRequest->latitude;
$data['longitude'] = $cafeRequest->longitude;
$data['cafe_type'] = $cafeRequest->cafe_type;
$data['url'] = route('cafe.signup.submit', $id);
}
if ($cafeRequest->approved == 0) {
DB::rollback();
session()->flash('error_message', __('auth.waitForApproval'));
return redirect()->back();
}
} catch (\Throwable $th) {
DB::rollback();
session()->flash('error_message', __('common.somethingWentWrong'));
return redirect()->back();
}
// $data['url'] = route('cafe.signup.submit');
} else {
$data['url'] = route('cafe.signup.submitWithoutApproval');
}
$data['type'] = 'cafe';
$data['urlLogin'] = route('cafe.login');
$data['urlGoogleAPI'] = config('geocode.API_URI');
return view('custom_auth.signup', $data);
}
public function signup($request, $id)
{
DB::beginTransaction();
try {
$create = [];
$userExist = CafeRequest::where('email', $request->email)->first();
if ($userExist) {
DB::rollback();
session()->flash('error_message', __('validation.validation.email.unique'));
return redirect()->back();
}
$create['email'] = $request->email;
$create['cafe_name'] = $request->cafe_name;
$create['phone'] = $request->phone;
$create['cafe_type'] = isset($request->cafe_type) ? $request->cafe_type : 0;
$create['address'] = $request->address;
$create['postcode'] = $request->postcode;
$create['latitude'] = isset($request->latitude) ? $request->latitude : 0;
$create['longitude'] = isset($request->longitude) ? $request->longitude : 0;
$create['password'] = bcrypt($request->password);
$create['signup_completed'] = 1;
$create['is_active'] = 1;
$create['created_at'] = Carbon::now()->timestamp;
$create['updated_at'] = Carbon::now()->timestamp;
if ($id == null) {
CafeRequest::insert($create);
session()->flash('success_message', __('auth.cafeRequestSendSuccessfully'));
} else {
$cafeRequest = CafeRequest::where('id', decrypt($id))->first();
$create['website'] = $cafeRequest->website;
$create['approved'] = 1;
$cafeId = $this->model->insertGetId($create);
$cafe = $this->model->find($cafeId);
$cafe->assignRole('cafe_admin');
$cafeTime = [
'cafe_id' => $cafeId,
'open_time' => config('constants.cafe_timing.open_time'),
'close_time' => config('constants.cafe_timing.close_time'),
'is_active' => config('constants.cafe_timing.is_active'),
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
];
$cafeTiming = [];
for ($i = 0; $i < 7; $i++) {
$cafeTime['day'] = $i;
array_push($cafeTiming, $cafeTime);
}
CafeTiming::insert($cafeTiming);
// delete cafe request
$cafeRequest->delete();
// add cafe menu
$cafeMenus = [
// [
// 'menu_name' => 'Drinks',
// 'cafe_id' => $cafeId,
// 'created_at' => Carbon::now()->timestamp,
// 'updated_at' => Carbon::now()->timestamp,
// ],
// [
// 'menu_name' => 'Pastries',
// 'cafe_id' => $cafeId,
// 'created_at' => Carbon::now()->timestamp,
// 'updated_at' => Carbon::now()->timestamp,
// ],
[
'menu_name' => 'Hot Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Tea',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bakery',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Sandwiches',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Iced drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Smoothies',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bagles',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Salads',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Wraps',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Snacks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bottled Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Breakfast Options',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bubble Tea',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Cakes',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Coffee',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Hot Chocolate',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Soft Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Brunch',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Breakfast',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Lunch',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Main Meals',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Desserts',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Soup',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Milkshakes',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Kids Menu',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Seasonal',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Vegan Options',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Matcha',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Juice',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Coffee Beans and Other Retail',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Other',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Unique',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bundles',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
CafeMenu::insert($cafeMenus);
// add addons
$addons = [
[
'addon_name' => "Milk",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Sugar",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Syrup",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Other",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Added Taste",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Add on",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
Addon::insert($addons);
// add addon sizes
$addonSizes = [];
$addon = Addon::where('cafe_id', $cafeId)->get();
foreach ($addon as $key => $value) {
switch ($value->addon_name) {
case 'Milk':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'No milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Whole milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Semi skimmed milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Oat milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Soya milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Almond milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Skimmed milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Coconut milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Sugar':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'White sugar',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Brown sugar',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sweetener',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Syrup':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Vanilla',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Hazelnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Salted caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Almond',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mocha/Chocolate',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Coconut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Cinnamon',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Toffee Nut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Macadamia Nut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Raspberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Strawberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Blueberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Cherry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peach',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mango',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Passionfruit',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pomegranate',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Orange',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pumpkin Spice',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peppermint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Gingerbread',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Maple',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Irish Cream',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Amaretto',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Butter Pecan',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Vanilla',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Hazelnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pistachio',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Walnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peanut Butter',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Matcha',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Other':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Decaf',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Extra shot',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Espresso',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Added Taste':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Ginger',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Honey',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Add on':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Marshmallow',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Whipped cream',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
default:
break;
}
}
for ($i = 0; $i < sizeof($addonSizes); $i++) {
AddonSize::insert($addonSizes[$i]);
}
session()->flash('success_message', __('auth.signupSuccessfully'));
}
DB::commit();
return redirect()->route('cafe.login');
} catch (\Throwable $th) {
DB::rollback();
session()->flash('error_message', __('common.somethingWentWrong'));
return redirect()->back();
}
}
public function signupWithoutApproval($request, $id)
{
DB::beginTransaction();
try {
$create = [];
$userExist = Cafe::where('email', $request->email)->first();
if ($userExist) {
DB::rollback();
session()->flash('error_message', __('validation.validation.email.unique'));
return redirect()->back();
}
$create['email'] = $request->email;
$create['cafe_name'] = $request->cafe_name;
$create['phone'] = $request->phone;
$create['cafe_type'] = isset($request->cafe_type) ? $request->cafe_type : 0;
$create['address'] = $request->address;
$create['postcode'] = $request->postcode;
$create['latitude'] = isset($request->latitude) ? $request->latitude : 0;
$create['longitude'] = isset($request->longitude) ? $request->longitude : 0;
$create['password'] = bcrypt($request->password);
$create['signup_completed'] = 1;
$create['is_active'] = 1;
$create['approved'] = 1;
$create['created_at'] = Carbon::now()->timestamp;
$create['updated_at'] = Carbon::now()->timestamp;
// $create['website'] = $request->website;
$cafeId = $this->model->insertGetId($create);
$cafe = $this->model->find($cafeId);
$cafe->assignRole('cafe_admin');
$cafeTime = [
'cafe_id' => $cafeId,
'open_time' => config('constants.cafe_timing.open_time'),
'close_time' => config('constants.cafe_timing.close_time'),
'is_active' => config('constants.cafe_timing.is_active'),
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
];
$cafeTiming = [];
for ($i = 0; $i < 7; $i++) {
$cafeTime['day'] = $i;
array_push($cafeTiming, $cafeTime);
}
CafeTiming::insert($cafeTiming);
// add cafe menu
$cafeMenus = [
// [
// 'menu_name' => 'Drinks',
// 'cafe_id' => $cafeId,
// 'created_at' => Carbon::now()->timestamp,
// 'updated_at' => Carbon::now()->timestamp,
// ],
// [
// 'menu_name' => 'Pastries',
// 'cafe_id' => $cafeId,
// 'created_at' => Carbon::now()->timestamp,
// 'updated_at' => Carbon::now()->timestamp,
// ],
[
'menu_name' => 'Hot Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Tea',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bakery',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Sandwiches',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Iced drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Smoothies',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bagles',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Salads',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Wraps',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Snacks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bottled Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Breakfast Options',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bubble Tea',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Cakes',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Coffee',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Hot Chocolate',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Soft Drinks',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Brunch',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Breakfast',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Lunch',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Main Meals',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Desserts',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Soup',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Milkshakes',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Kids Menu',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Seasonal',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Vegan Options',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Matcha',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Juice',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Coffee Beans and Other Retail',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Other',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Unique',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'menu_name' => 'Bundles',
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
CafeMenu::insert($cafeMenus);
// add addons
$addons = [
[
'addon_name' => "Milk",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Sugar",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Syrup",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Other",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Added Taste",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_name' => "Add on",
'cafe_id' => $cafeId,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
Addon::insert($addons);
// add addon sizes
$addonSizes = [];
$addon = Addon::where('cafe_id', $cafeId)->get();
foreach ($addon as $key => $value) {
switch ($value->addon_name) {
case 'Milk':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'No milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Whole milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Semi skimmed milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Oat milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Soya milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Almond milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Skimmed milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Coconut milk',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Sugar':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'White sugar',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Brown sugar',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sweetener',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Syrup':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Vanilla',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Hazelnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Salted caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Almond',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mocha/Chocolate',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Coconut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Cinnamon',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Toffee Nut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Macadamia Nut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Raspberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Strawberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Blueberry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Cherry',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peach',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mango',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Passionfruit',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pomegranate',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Orange',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pumpkin Spice',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peppermint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Gingerbread',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Maple',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Irish Cream',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Amaretto',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Butter Pecan',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Vanilla',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Caramel',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Sugar-Free Hazelnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Pistachio',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Walnut',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Peanut Butter',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Matcha',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Other':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Decaf',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Extra shot',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Espresso',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Added Taste':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Ginger',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Mint',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Honey',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
case 'Add on':
$addonSize = [
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Marshmallow',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
[
'addon_id' => $value->id,
'cafe_id' => $cafeId,
'addon_size_name' => 'Whipped cream',
'addon_size_price' => 0,
'created_at' => Carbon::now()->timestamp,
'updated_at' => Carbon::now()->timestamp,
],
];
array_push($addonSizes, $addonSize);
break;
default:
break;
}
}
for ($i = 0; $i < sizeof($addonSizes); $i++) {
AddonSize::insert($addonSizes[$i]);
}
session()->flash('success_message', __('auth.signupSuccessfully'));
DB::commit();
return redirect()->route('cafe.login');
} catch (\Throwable $th) {
DB::rollback();
session()->flash('error_message', __('common.somethingWentWrong'));
return redirect()->back();
}
}
}