lk.zachem.info/app/Http/Controllers/Company/CreateAgentController.php
2024-12-16 00:51:01 +08:00

46 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Company;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Company\CompanyAdmin;
use App\Models\Agent\Agent;
use App\Models\User;
class CreateAgentController extends Controller
{
public function __invoke(Request $request)
{
$request->only(['name', 'email', 'phone']);
$admin = CompanyAdmin::where('user_id', auth()->id());
if (!$admin->count())
{
abort(404);
return;
}
$admin = $admin->first();
if (!$this->isUnique($request->email, $request->phone))
{
return back()->with('error', __('Agent is not unique'));
}
if ($user = User::create($request->all()))
{
$user->setForcedPassword();
$agent = Agent::create([
'user_id' => $user->id,
'company_id' => $admin->company_id
]);
}
return to_route('company.agents.table');
}
public function isUnique($email, $phone)
{
if (User::where('email', $email)->count() || User::where('phone', $phone)->count())
{
return false;
}
return true;
}
}