CRM-panel/crm-panel/app/Http/Controllers/CompanyController.php
2025-05-07 15:11:58 +05:45

75 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Company;
use Illuminate\Http\Request;
class CompanyController extends Controller
{
public function index()
{
$companies = Company::paginate(10);
return view('companies.index', compact('companies'));
}
public function create()
{
return view('companies.create');
}
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'email' => 'nullable|email',
'logo' => 'nullable|image|dimensions:min_width=100,min_height=100',
'website' => 'nullable|url',
]);
if ($request->hasFile('logo')) {
$path = $request->file('logo')->store('public/logos');
$request->merge(['logo' => $path]);
}
Company::create($request->all());
return redirect()->route('companies.index')->with('success', 'Company created successfully.');
}
public function show(Company $company)
{
return view('companies.show', compact('company'));
}
public function edit(Company $company)
{
return view('companies.edit', compact('company'));
}
public function update(Request $request, Company $company)
{
$request->validate([
'name' => 'required',
'email' => 'nullable|email',
'logo' => 'nullable|image|dimensions:min_width=100,min_height=100',
'website' => 'nullable|url',
]);
if ($request->hasFile('logo')) {
$path = $request->file('logo')->store('public/logos');
$company->logo = $path;
}
$company->update($request->all());
return redirect()->route('companies.index')->with('success', 'Company updated successfully.');
}
public function destroy(Company $company)
{
$company->delete();
return redirect()->route('companies.index')->with('success', 'Company deleted successfully.');
}
}