diff --git a/app/Http/Controllers/ClientPortal/NinjaPlanController.php b/app/Http/Controllers/ClientPortal/NinjaPlanController.php index 9afdd1db6bc0..996b8c2209c7 100644 --- a/app/Http/Controllers/ClientPortal/NinjaPlanController.php +++ b/app/Http/Controllers/ClientPortal/NinjaPlanController.php @@ -139,6 +139,8 @@ class NinjaPlanController extends Controller //set free trial if (auth()->guard('contact')->user()->client->custom_value2) { MultiDB::findAndSetDbByAccountKey(auth()->guard('contact')->user()->client->custom_value2); + + /** @var \App\Models\Account $account **/ $account = Account::where('key', auth()->guard('contact')->user()->client->custom_value2)->first(); // $account->trial_started = now(); // $account->trial_plan = 'pro'; diff --git a/app/Http/Controllers/DocumentController.php b/app/Http/Controllers/DocumentController.php index 7997de5101d0..0d65af5d84f1 100644 --- a/app/Http/Controllers/DocumentController.php +++ b/app/Http/Controllers/DocumentController.php @@ -69,7 +69,7 @@ class DocumentController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) - * @param DocumentsFilters $filters + * @param DocumentFilters $filters * @return Response|mixed */ public function index(DocumentFilters $filters) @@ -168,6 +168,9 @@ class DocumentController extends BaseController public function bulk() { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $action = request()->input('action'); $ids = request()->input('ids'); @@ -179,15 +182,15 @@ class DocumentController extends BaseController } if ($action == 'download') { - ZipDocuments::dispatch($documents->pluck('id'), auth()->user()->company(), auth()->user()); + ZipDocuments::dispatch($documents->pluck('id'), $user->company(), auth()->user()); return response()->json(['message' => ctrans('texts.sent_message')], 200); } /* * Send the other actions to the switch */ - $documents->each(function ($document, $key) use ($action) { - if (auth()->user()->can('edit', $document)) { + $documents->each(function ($document, $key) use ($action, $user) { + if ($user->can('edit', $document)) { $this->document_repo->{$action}($document); } }); diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index b3077f10eb60..055cbfcffe64 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -73,7 +73,7 @@ class EmailController extends BaseController $mo->cc[] = new Address($request->cc_email); } - $entity_obj->invitations->each(function ($invitation) use ($data, $entity_obj, $template, $mo) { + $entity_obj->invitations->each(function ($invitation) use ($entity_obj, $mo) { if (! $invitation->contact->trashed() && $invitation->contact->email) { $entity_obj->service()->markSent()->save(); diff --git a/app/Http/Controllers/ExpenseCategoryController.php b/app/Http/Controllers/ExpenseCategoryController.php index ed38c3919403..36c47b9ba13f 100644 --- a/app/Http/Controllers/ExpenseCategoryController.php +++ b/app/Http/Controllers/ExpenseCategoryController.php @@ -138,8 +138,7 @@ class ExpenseCategoryController extends BaseController /** * Store a newly created resource in storage. * - * @param StoreInvoiceRequest $request The request - * + * @param StoreExpenseCategoryRequest $request * @return Response * * @@ -175,7 +174,10 @@ class ExpenseCategoryController extends BaseController */ public function store(StoreExpenseCategoryRequest $request) { - $expense_category = ExpenseCategoryFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user **/ + $user = auth()->user(); + + $expense_category = ExpenseCategoryFactory::create($user->company()->id, $user->id); $expense_category->fill($request->all()); $expense_category->save(); @@ -454,14 +456,17 @@ class ExpenseCategoryController extends BaseController */ public function bulk() { + /** @var \App\Models\User $user **/ + $user = auth()->user(); + $action = request()->input('action'); $ids = request()->input('ids'); $expense_categories = ExpenseCategory::withTrashed()->find($this->transformKeys($ids)); - $expense_categories->each(function ($expense_category, $key) use ($action) { - if (auth()->user()->can('edit', $expense_category)) { + $expense_categories->each(function ($expense_category, $key) use ($action, $user) { + if ($user->can('edit', $expense_category)) { $this->base_repo->{$action}($expense_category); } }); diff --git a/app/Http/Controllers/HostedMigrationController.php b/app/Http/Controllers/HostedMigrationController.php index 4ddc57d5593f..5d5e0cc18aaf 100644 --- a/app/Http/Controllers/HostedMigrationController.php +++ b/app/Http/Controllers/HostedMigrationController.php @@ -43,6 +43,8 @@ class HostedMigrationController extends Controller $company = $account->companies->first(); + /** @var \App\Models\CompanyToken $company_token **/ + $company_token = CompanyToken::where('user_id', auth()->user()->id) ->where('company_id', $company->id) ->first(); @@ -60,6 +62,7 @@ class HostedMigrationController extends Controller MultiDB::findAndSetDbByCompanyKey($input['account_key']); + /** @var \App\Models\Company $company **/ $company = Company::with('account')->where('company_key', $input['account_key'])->first(); $forward_url = $company->domain(); diff --git a/app/Http/Controllers/MigrationController.php b/app/Http/Controllers/MigrationController.php index 57b3044f228e..55f8979d8737 100644 --- a/app/Http/Controllers/MigrationController.php +++ b/app/Http/Controllers/MigrationController.php @@ -255,7 +255,6 @@ class MigrationController extends BaseController * ), * ) * @param Request $request - * @param Company $company * @return \Illuminate\Http\JsonResponse|void */ public function startMigration(Request $request) diff --git a/app/Http/Controllers/OneTimeTokenController.php b/app/Http/Controllers/OneTimeTokenController.php index a271fc7b0b3e..2d387a0fc998 100644 --- a/app/Http/Controllers/OneTimeTokenController.php +++ b/app/Http/Controllers/OneTimeTokenController.php @@ -11,14 +11,15 @@ namespace App\Http\Controllers; -use App\Http\Requests\OneTimeToken\OneTimeRouterRequest; -use App\Http\Requests\OneTimeToken\OneTimeTokenRequest; -use App\Models\Company; use App\Models\User; +use App\Models\Company; +use App\Libraries\MultiDB; +use Illuminate\Support\Str; use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Str; +use App\Http\Requests\OneTimeToken\OneTimeTokenRequest; +use App\Http\Requests\OneTimeToken\OneTimeRouterRequest; class OneTimeTokenController extends BaseController { @@ -33,7 +34,7 @@ class OneTimeTokenController extends BaseController /** * Store a newly created resource in storage. * - * @param CreateOneTimeTokenRequest $request + * @param OneTimeTokenRequest $request * @return Response * * @OA\Post( @@ -64,11 +65,14 @@ class OneTimeTokenController extends BaseController */ public function create(OneTimeTokenRequest $request) { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $hash = Str::random(64); $data = [ - 'user_id' => auth()->user()->id, - 'company_key'=> auth()->user()->company()->company_key, + 'user_id' => $user->id, + 'company_key'=> $user->company()->company_key, 'context' => $request->input('context'), ]; @@ -83,10 +87,6 @@ class OneTimeTokenController extends BaseController MultiDB::findAndSetDbByCompanyKey($data['company_key']); - // $user = User::findOrFail($data['user_id']); - // Auth::login($user, true); - // Cache::forget($request->input('hash')); - $this->sendTo($data['context']); } diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index f747741342fb..8498c9d4bdc4 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -152,7 +152,10 @@ class PaymentController extends BaseController */ public function create(CreatePaymentRequest $request) { - $payment = PaymentFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $payment = PaymentFactory::create($user->company()->id, $user->id); return $this->itemResponse($payment); } @@ -203,7 +206,10 @@ class PaymentController extends BaseController */ public function store(StorePaymentRequest $request) { - $payment = $this->payment_repo->save($request->all(), PaymentFactory::create(auth()->user()->company()->id, auth()->user()->id)); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $payment = $this->payment_repo->save($request->all(), PaymentFactory::create($user->company()->id, $user->id)); event('eloquent.created: App\Models\Payment', $payment); @@ -372,13 +378,16 @@ class PaymentController extends BaseController */ public function update(UpdatePaymentRequest $request, Payment $payment) { + /** @var \App\Models\User $user */ + $user = auth()->user(); + if ($request->entityIsDeleted($payment)) { return $request->disallowUpdate(); } $payment = $this->payment_repo->save($request->all(), $payment); - event(new PaymentWasUpdated($payment, $payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); + event(new PaymentWasUpdated($payment, $payment->company, Ninja::eventVars($user->id))); event('eloquent.updated: App\Models\Payment', $payment); @@ -495,14 +504,17 @@ class PaymentController extends BaseController */ public function bulk() { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $action = request()->input('action'); $ids = request()->input('ids'); $payments = Payment::withTrashed()->find($this->transformKeys($ids)); - $payments->each(function ($payment, $key) use ($action) { - if (auth()->user()->can('edit', $payment)) { + $payments->each(function ($payment, $key) use ($action, $user) { + if ($user->can('edit', $payment)) { $this->performAction($payment, $action, true); } }); @@ -576,7 +588,6 @@ class PaymentController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) - * @param ActionPaymentRequest $request * @param Payment $payment * @param $action */ diff --git a/app/Http/Controllers/PaymentNotificationWebhookController.php b/app/Http/Controllers/PaymentNotificationWebhookController.php index 5e9510caa184..de1940b75d45 100644 --- a/app/Http/Controllers/PaymentNotificationWebhookController.php +++ b/app/Http/Controllers/PaymentNotificationWebhookController.php @@ -23,6 +23,8 @@ class PaymentNotificationWebhookController extends Controller public function __invoke(PaymentNotificationWebhookRequest $request, string $company_key, string $company_gateway_id, string $client_hash) { + /** @var \App\Models\CompanyGateway $company_gateway */ + $company_gateway = CompanyGateway::find($this->decodePrimaryKey($company_gateway_id)); $client = Client::find($this->decodePrimaryKey($client_hash)); diff --git a/app/Http/Controllers/PaymentTermController.php b/app/Http/Controllers/PaymentTermController.php index 0864dc9e4ee4..a4992ca040d3 100644 --- a/app/Http/Controllers/PaymentTermController.php +++ b/app/Http/Controllers/PaymentTermController.php @@ -1,20 +1,29 @@ user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + $payment_term = PaymentTermFactory::create($user->company()->id, $user->id); return $this->itemResponse($payment_term); } @@ -172,7 +183,10 @@ class PaymentTermController extends BaseController */ public function store(StorePaymentTermRequest $request) { - $payment_term = PaymentTermFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $payment_term = PaymentTermFactory::create($user->company()->id, $user->id); $payment_term->fill($request->all()); $payment_term->save(); @@ -270,13 +284,13 @@ class PaymentTermController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) - * @param EditPaymentRequest $request - * @param Payment $payment + * @param EditPaymentTermRequest $request + * @param PaymentTerm $payment_term * @return Response|mixed */ - public function edit(EditPaymentRequest $request, Payment $payment) + public function edit(EditPaymentTermRequest $request, PaymentTerm $payment_term) { - return $this->itemResponse($payment); + return $this->itemResponse($payment_term); } /** @@ -447,14 +461,17 @@ class PaymentTermController extends BaseController */ public function bulk() { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $action = request()->input('action'); $ids = request()->input('ids'); $payment_terms = PaymentTerm::withTrashed()->company()->find($this->transformKeys($ids)); - $payment_terms->each(function ($payment_term, $key) use ($action) { - if (auth()->user()->can('edit', $payment_term)) { + $payment_terms->each(function ($payment_term, $key) use ($action, $user) { + if ($user->can('edit', $payment_term)) { $this->payment_term_repo->{$action}($payment_term); } }); diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index 7402b886a4cf..4ff7f3dabce2 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -209,7 +209,7 @@ class PreviewController extends BaseController if ($request->has('entity_id')) { - /** @var \App\Models\BaseModel $class */ + /** @var \App\Models\Quote | \App\Models\Invoice | \App\Models\RecurringInvoice | \App\Models\Credit $class */ $entity_obj = $class::on(config('database.default')) ->with('client.company') ->where('id', $this->decodePrimaryKey($request->input('entity_id'))) @@ -239,6 +239,7 @@ class PreviewController extends BaseController $html = new HtmlEngine($entity_obj->invitations()->first()); + /** @var \App\Models\Design $design */ $design = \App\Models\Design::withTrashed()->find($entity_obj->design_id); /* Catch all in case migration doesn't pass back a valid design */ @@ -343,6 +344,7 @@ class PreviewController extends BaseController $t = app('translator'); $t->replace(Ninja::transformTranslations($company->settings)); + /** @var \App\Models\InvoiceInvitation $invitation */ $invitation = InvoiceInvitation::where('company_id', $company->id)->orderBy('id', 'desc')->first(); /* If we don't have a valid invitation in the system - create a mock using transactions */ diff --git a/app/Http/Controllers/PreviewPurchaseOrderController.php b/app/Http/Controllers/PreviewPurchaseOrderController.php index 92d51e56a9f3..bdc90f3f8d28 100644 --- a/app/Http/Controllers/PreviewPurchaseOrderController.php +++ b/app/Http/Controllers/PreviewPurchaseOrderController.php @@ -140,10 +140,13 @@ class PreviewPurchaseOrderController extends BaseController return (new Phantom)->convertHtmlToPdf($maker->getCompiledHTML(true)); } + /** @var \App\Models\User $user */ + $user = auth()->user(); + if (config('ninja.invoiceninja_hosted_pdf_generation') || config('ninja.pdf_generator') == 'hosted_ninja') { $pdf = (new NinjaPdf())->build($maker->getCompiledHTML(true)); - $numbered_pdf = $this->pageNumbering($pdf, auth()->user()->company()); + $numbered_pdf = $this->pageNumbering($pdf, $user->company()); if ($numbered_pdf) { $pdf = $numbered_pdf; @@ -153,7 +156,7 @@ class PreviewPurchaseOrderController extends BaseController } //else - $file_path = (new PreviewPdf($maker->getCompiledHTML(true), auth()->user()->company()))->handle(); + $file_path = (new PreviewPdf($maker->getCompiledHTML(true), $user->company()))->handle(); return response()->download($file_path, basename($file_path), ['Cache-Control:' => 'no-cache'])->deleteFileAfterSend(true); } @@ -163,12 +166,15 @@ class PreviewPurchaseOrderController extends BaseController public function live(PreviewPurchaseOrderRequest $request) { - $company = auth()->user()->company(); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $company = $user->company(); MultiDB::setDb($company->db); $repo = new PurchaseOrderRepository(); - $entity_obj = PurchaseOrderFactory::create($company->id, auth()->user()->id); + $entity_obj = PurchaseOrderFactory::create($company->id, $user->id); $class = PurchaseOrder::class; try { @@ -196,6 +202,7 @@ class PreviewPurchaseOrderController extends BaseController $html = new VendorHtmlEngine($entity_obj->invitations()->first()); + /** @var \App\Models\Design $design */ $design = \App\Models\Design::withTrashed()->find($entity_obj->design_id); /* Catch all in case migration doesn't pass back a valid design */ @@ -243,6 +250,8 @@ class PreviewPurchaseOrderController extends BaseController return; } + /** @var \App\Models\User $user */ + $user = auth()->user(); //if phantom js...... inject here.. if (config('ninja.phantomjs_pdf_generation') || config('ninja.pdf_generator') == 'phantom') { @@ -252,7 +261,7 @@ class PreviewPurchaseOrderController extends BaseController if (config('ninja.invoiceninja_hosted_pdf_generation') || config('ninja.pdf_generator') == 'hosted_ninja') { $pdf = (new NinjaPdf())->build($maker->getCompiledHTML(true)); - $numbered_pdf = $this->pageNumbering($pdf, auth()->user()->company()); + $numbered_pdf = $this->pageNumbering($pdf, $user->company()); if ($numbered_pdf) { $pdf = $numbered_pdf; @@ -279,11 +288,15 @@ class PreviewPurchaseOrderController extends BaseController private function blankEntity() { + /** @var \App\Models\User $user */ + $user = auth()->user(); + App::forgetInstance('translator'); $t = app('translator'); - $t->replace(Ninja::transformTranslations(auth()->user()->company()->settings)); + $t->replace(Ninja::transformTranslations($user->company()->settings)); - $invitation = PurchaseOrderInvitation::where('company_id', auth()->user()->company()->id)->orderBy('id', 'desc')->first(); + /** @var \App\Models\PurchaseOrderInvitation $invitation */ + $invitation = PurchaseOrderInvitation::where('company_id', $user->company()->id)->orderBy('id', 'desc')->first(); /* If we don't have a valid invitation in the system - create a mock using transactions */ if (!$invitation) { @@ -327,10 +340,13 @@ class PreviewPurchaseOrderController extends BaseController return (new Phantom)->convertHtmlToPdf($maker->getCompiledHTML(true)); } + /** @var \App\Models\User $user */ + $user = auth()->user(); + if (config('ninja.invoiceninja_hosted_pdf_generation') || config('ninja.pdf_generator') == 'hosted_ninja') { $pdf = (new NinjaPdf())->build($maker->getCompiledHTML(true)); - $numbered_pdf = $this->pageNumbering($pdf, auth()->user()->company()); + $numbered_pdf = $this->pageNumbering($pdf, $user->company()); if ($numbered_pdf) { $pdf = $numbered_pdf; @@ -339,7 +355,7 @@ class PreviewPurchaseOrderController extends BaseController return $pdf; } - $file_path = (new PreviewPdf($maker->getCompiledHTML(true), auth()->user()->company()))->handle(); + $file_path = (new PreviewPdf($maker->getCompiledHTML(true), $user->company()))->handle(); $response = Response::make($file_path, 200); $response->header('Content-Type', 'application/pdf'); @@ -349,40 +365,47 @@ class PreviewPurchaseOrderController extends BaseController private function mockEntity() { - DB::connection(auth()->user()->company()->db)->beginTransaction(); + /** @var \App\Models\User $user */ + $user = auth()->user(); + DB::connection($user->company()->db)->beginTransaction(); + + /** @var \App\Models\Vendor $vendor */ $vendor = Vendor::factory()->create([ - 'user_id' => auth()->user()->id, - 'company_id' => auth()->user()->company()->id, + 'user_id' => $user->id, + 'company_id' => $user->company()->id, ]); + /** @var \App\Models\VendorContact $contact */ $contact = VendorContact::factory()->create([ - 'user_id' => auth()->user()->id, - 'company_id' => auth()->user()->company()->id, + 'user_id' => $user->id, + 'company_id' => $user->company()->id, 'vendor_id' => $vendor->id, 'is_primary' => 1, 'send_email' => true, ]); + /** @var \App\Models\PurchaseOrder $purchase_order */ $purchase_order = PurchaseOrder::factory()->create([ - 'user_id' => auth()->user()->id, - 'company_id' => auth()->user()->company()->id, + 'user_id' => $user->id, + 'company_id' => $user->company()->id, 'vendor_id' => $vendor->id, 'terms' => 'Sample Terms', 'footer' => 'Sample Footer', 'public_notes' => 'Sample Public Notes', ]); + /** @var \App\Models\PurchaseOrderInvitation $invitation */ $invitation = PurchaseOrderInvitation::factory()->create([ - 'user_id' => auth()->user()->id, - 'company_id' => auth()->user()->company()->id, + 'user_id' => $user->id, + 'company_id' => $user->company()->id, 'purchase_order_id' => $purchase_order->id, 'vendor_contact_id' => $contact->id, ]); $purchase_order->setRelation('invitations', $invitation); $purchase_order->setRelation('vendor', $vendor); - $purchase_order->setRelation('company', auth()->user()->company()); + $purchase_order->setRelation('company', $user->company()); $purchase_order->load('vendor.company'); $design_object = json_decode(json_encode(request()->input('design'))); @@ -413,7 +436,10 @@ class PreviewPurchaseOrderController extends BaseController ->design($design) ->build(); - DB::connection(auth()->user()->company()->db)->rollBack(); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + DB::connection($user->company()->db)->rollBack(); if (request()->query('html') == 'true') { return $maker->getCompiledHTML(); @@ -426,7 +452,7 @@ class PreviewPurchaseOrderController extends BaseController if (config('ninja.invoiceninja_hosted_pdf_generation') || config('ninja.pdf_generator') == 'hosted_ninja') { $pdf = (new NinjaPdf())->build($maker->getCompiledHTML(true)); - $numbered_pdf = $this->pageNumbering($pdf, auth()->user()->company()); + $numbered_pdf = $this->pageNumbering($pdf, $user->company()); if ($numbered_pdf) { $pdf = $numbered_pdf; @@ -435,7 +461,7 @@ class PreviewPurchaseOrderController extends BaseController return $pdf; } - $file_path = (new PreviewPdf($maker->getCompiledHTML(true), auth()->user()->company()))->handle(); + $file_path = (new PreviewPdf($maker->getCompiledHTML(true), $user->company()))->handle(); $response = Response::make($file_path, 200); $response->header('Content-Type', 'application/pdf'); diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index fc921b191242..e2be244ef02c 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -312,7 +312,10 @@ class ProjectController extends BaseController */ public function create(CreateProjectRequest $request) { - $project = ProjectFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $project = ProjectFactory::create($user->company()->id, $user->id); return $this->itemResponse($project); } @@ -357,7 +360,10 @@ class ProjectController extends BaseController */ public function store(StoreProjectRequest $request) { - $project = ProjectFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $project = ProjectFactory::create($user->company()->id, $user->id); $project->fill($request->all()); $project->saveQuietly(); @@ -486,14 +492,17 @@ class ProjectController extends BaseController */ public function bulk() { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $action = request()->input('action'); $ids = request()->input('ids'); $projects = Project::withTrashed()->find($this->transformKeys($ids)); - $projects->each(function ($project, $key) use ($action) { - if (auth()->user()->can('edit', $project)) { + $projects->each(function ($project, $key) use ($action, $user) { + if ($user->can('edit', $project)) { $this->project_repo->{$action}($project); } }); @@ -504,12 +513,10 @@ class ProjectController extends BaseController /** * Update the specified resource in storage. * - * @param UploadProductRequest $request - * @param Product $project + * @param UploadProjectRequest $request + * @param Project $project * @return Response * - * - * * @OA\Put( * path="/api/v1/projects/{id}/upload", * operationId="uploadProject", diff --git a/app/Http/Controllers/QuoteController.php b/app/Http/Controllers/QuoteController.php index 1e53d2d46189..08dd6d885d85 100644 --- a/app/Http/Controllers/QuoteController.php +++ b/app/Http/Controllers/QuoteController.php @@ -162,7 +162,10 @@ class QuoteController extends BaseController */ public function create(CreateQuoteRequest $request) { - $quote = QuoteFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $quote = QuoteFactory::create($user->company()->id, $user->id); return $this->itemResponse($quote); } @@ -208,16 +211,17 @@ class QuoteController extends BaseController */ public function store(StoreQuoteRequest $request) { - $client = Client::find($request->input('client_id')); - - $quote = $this->quote_repo->save($request->all(), QuoteFactory::create(auth()->user()->company()->id, auth()->user()->id)); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $quote = $this->quote_repo->save($request->all(), QuoteFactory::create($user->company()->id, $user->id)); $quote = $quote->service() ->fillDefaults() ->triggeredActions($request) ->save(); - event(new QuoteWasCreated($quote, $quote->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); + event(new QuoteWasCreated($quote, $quote->company, Ninja::eventVars($user->id))); return $this->itemResponse($quote); } @@ -509,6 +513,9 @@ class QuoteController extends BaseController */ public function bulk(BulkActionQuoteRequest $request) { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $action = request()->input('action'); $ids = request()->input('ids'); @@ -528,8 +535,8 @@ class QuoteController extends BaseController */ if ($action == 'bulk_download' && $quotes->count() >= 1) { - $quotes->each(function ($quote) { - if (auth()->user()->cannot('view', $quote)) { + $quotes->each(function ($quote) use($user){ + if ($user->cannot('view', $quote)) { return response()->json(['message'=> ctrans('texts.access_denied')]); } }); @@ -543,8 +550,8 @@ class QuoteController extends BaseController $this->entity_type = Quote::class; $this->entity_transformer = QuoteTransformer::class; - $quotes->each(function ($quote, $key) use ($action) { - if (auth()->user()->can('edit', $quote) && $quote->service()->isConvertable()) { + $quotes->each(function ($quote, $key) use ($user) { + if ($user->can('edit', $quote) && $quote->service()->isConvertable()) { $quote->service()->convertToInvoice(); } }); @@ -552,7 +559,7 @@ class QuoteController extends BaseController return $this->listResponse(Quote::withTrashed()->whereIn('id', $this->transformKeys($ids))->company()); } - if ($action == 'bulk_print' && auth()->user()->can('view', $quotes->first())) { + if ($action == 'bulk_print' && $user->can('view', $quotes->first())) { $paths = $quotes->map(function ($quote) { return $quote->service()->getQuotePdf(); }); @@ -566,9 +573,9 @@ class QuoteController extends BaseController if ($action == 'convert_to_project') { - $quotes->each(function ($quote, $key) use ($action) { - if (auth()->user()->can('edit', $quote)) { - $project = CloneQuoteToProjectFactory::create($quote, auth()->user()->id); + $quotes->each(function ($quote, $key) use ($user) { + if ($user->can('edit', $quote)) { + $project = CloneQuoteToProjectFactory::create($quote, $user->id); if (empty($project->number)) { $project->number = $this->getNextProjectNumber($project); @@ -585,8 +592,8 @@ class QuoteController extends BaseController /* * Send the other actions to the switch */ - $quotes->each(function ($quote, $key) use ($action) { - if (auth()->user()->can('edit', $quote)) { + $quotes->each(function ($quote, $key) use ($action, $user) { + if ($user->can('edit', $quote)) { $this->performAction($quote, $action, true); } }); @@ -607,18 +614,18 @@ class QuoteController extends BaseController * tags={"quotes"}, * summary="Performs a custom action on an Quote", * description="Performs a custom action on an Quote. - - The current range of actions are as follows - - clone_to_quote - - history - - delivery_note - - mark_paid - - download - - archive - - delete - - convert - - convert_to_invoice - - email", + * + * The current range of actions are as follows + * - clone_to_quote + * - history + * - delivery_note + * - mark_paid + * - download + * - archive + * - delete + * - convert + * - convert_to_invoice + * - email", * @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), * @OA\Parameter(ref="#/components/parameters/include"), diff --git a/app/Http/Controllers/RecurringExpenseController.php b/app/Http/Controllers/RecurringExpenseController.php index 2edb1be1e82e..1ff6b628e1d2 100644 --- a/app/Http/Controllers/RecurringExpenseController.php +++ b/app/Http/Controllers/RecurringExpenseController.php @@ -49,7 +49,7 @@ class RecurringExpenseController extends BaseController protected $entity_transformer = RecurringExpenseTransformer::class; /** - * @var RecurringExpenseepository + * @var RecurringExpenseRepository */ protected $recurring_expense_repo; @@ -72,7 +72,7 @@ class RecurringExpenseController extends BaseController * summary="Gets a list of recurring_expenses", * description="Lists recurring_expenses, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the recurring_expenses, these are handled by the RecurringExpenseFilters class which defines the methods available", + * Query parameters can be added to performed more fine grained filtering of the recurring_expenses, these are handled by the RecurringExpenseFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), * @OA\Parameter(ref="#/components/parameters/include"), diff --git a/app/Models/User.php b/app/Models/User.php index d30dc4fcadc3..8a69ea4d9dc2 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -231,7 +231,7 @@ class User extends Authenticatable implements MustVerifyEmail * * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ - public function companies() + public function companies(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Company::class)->using(CompanyUser::class)->withPivot('permissions', 'settings', 'is_admin', 'is_owner', 'is_locked')->withTimestamps(); }