Kundesone/app/Http/Controllers/CompanyController.php

64 lines
2.0 KiB
PHP
Raw Normal View History

2024-06-26 12:28:46 +00:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Company;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Mailgun\MailgunController;
class CompanyController extends Controller
{
public function getCompanyInfo()
{
Session::forget('user_id');
return view('company.company-info');
}
public function storeCompany(Request $request)
{
if(Session::has('user_id') || Auth::id()) {
2024-07-01 18:52:27 +00:00
$messages = [
2024-06-26 12:28:46 +00:00
'company_domain.unique' => 'The domain has already been registered.',
2024-07-01 18:52:27 +00:00
'company_domain.regex' => 'Please enter a valid domain format, e.g., example.com (without https and /)'
2024-06-26 12:28:46 +00:00
];
$this->validate($request, [
'company_name' => 'required|string|max:255',
'company_email' => 'required|email',
'company_domain' => [
'required',
2024-07-01 18:52:27 +00:00
'regex:/^([a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+)$/', // Updated regex
2024-06-26 12:28:46 +00:00
'unique:companies,domain'
],
], $messages);
2024-07-01 18:52:27 +00:00
2024-06-26 12:28:46 +00:00
$company = Company::updateOrCreate([
'user_id' => Session::has('user_id') ? Session::get('user_id') : Auth::id(),
],[
'user_id' => Session::has('user_id') ? Session::get('user_id') : Auth::id(),
'name' => $request->company_name,
'email' => $request->company_email,
'about' => $request->about,
'domain' => $request->company_domain,
]);
Session::put('selected_company', $company->id);
$MailgunController = new MailgunController();
return $MailgunController->addDomain($request->company_domain);
if(Session::has('user_id'))
return redirect()->route('login.create')->with('success', 'Register Successfully');
}
return redirect('/dashboard');
}
}