SettingsController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\invoiceSettings;
  5. use Illuminate\Contracts\Foundation\Application;
  6. use Illuminate\Contracts\View\Factory;
  7. use Illuminate\Contracts\View\View;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Http\Response;
  10. class SettingsController extends Controller
  11. {
  12. /**
  13. * Display a listing of the resource.
  14. *
  15. * @return Application|Factory|View|Response
  16. */
  17. public function index()
  18. {
  19. return view('admin.settings.index',
  20. [
  21. 'company_name' => invoiceSettings::get()->first()->company_name,
  22. 'company_adress' => invoiceSettings::get()->first()->company_adress,
  23. 'company_phone' => invoiceSettings::get()->first()->company_phone,
  24. 'company_vat' => invoiceSettings::get()->first()->company_vat,
  25. 'company_mail' => invoiceSettings::get()->first()->company_mail,
  26. 'company_web' => invoiceSettings::get()->first()->company_web
  27. ]);
  28. }
  29. public function updateIcons(Request $request)
  30. {
  31. $request->validate([
  32. 'icon' => 'nullable|max:10000|mimes:jpg,png,jpeg',
  33. 'favicon' => 'nullable|max:10000|mimes:ico',
  34. ]);
  35. if ($request->hasFile('icon')) {
  36. $request->file('icon')->storeAs('public', 'icon.png');
  37. }
  38. if ($request->hasFile('favicon')) {
  39. $request->file('favicon')->storeAs('public', 'favicon.ico');
  40. }
  41. return redirect()->route('admin.settings.index')->with('success', 'Icons updated!');
  42. }
  43. public function updateInvoiceSettings(Request $request)
  44. {
  45. $request->validate([
  46. 'logo' => 'nullable|max:10000|mimes:jpg,png,jpeg',
  47. ]);
  48. invoiceSettings::updateOrCreate(['id' => "1"], ['company_name' => $request->get('company-name')]);
  49. invoiceSettings::updateOrCreate(['id' => "1",], ['company_adress' => $request->get('company-adress')]);
  50. invoiceSettings::updateOrCreate(['id' => "1",], ['company_phone' => $request->get('company-phone')]);
  51. invoiceSettings::updateOrCreate(['id' => "1",], ['company_mail' => $request->get('company-mail')]);
  52. invoiceSettings::updateOrCreate(['id' => "1",], ['company_vat' => $request->get('company-vat')]);
  53. invoiceSettings::updateOrCreate(['id' => "1",], ['company_web' => $request->get('company-web')]);
  54. if ($request->hasFile('logo')) {
  55. $request->file('logo')->storeAs('public', 'logo.png');
  56. }
  57. return redirect()->route('admin.settings.index')->with('success', 'Invoice settings updated!');
  58. }
  59. }