Fixes for tests

This commit is contained in:
David Bomba 2023-08-04 18:13:26 +10:00
parent 26d520c9c2
commit dc1d23067c
21 changed files with 135 additions and 157 deletions

View File

@ -111,10 +111,8 @@ class CompanyUserController extends BaseController
*/ */
public function update(UpdateCompanyUserRequest $request, User $user) public function update(UpdateCompanyUserRequest $request, User $user)
{ {
/** @var \App\Models\User $logged_in_user */
$logged_in_user = auth()->user();
$company = $logged_in_user->company(); $company = auth()->user()->company();
$company_user = CompanyUser::whereUserId($user->id)->whereCompanyId($company->id)->first(); $company_user = CompanyUser::whereUserId($user->id)->whereCompanyId($company->id)->first();
@ -124,7 +122,7 @@ class CompanyUserController extends BaseController
return; return;
} }
if ($logged_in_user->isAdmin()) { if (auth()->user()->isAdmin()) {
$company_user->fill($request->input('company_user')); $company_user->fill($request->input('company_user'));
} else { } else {
$company_user->settings = $request->input('company_user')['settings']; $company_user->settings = $request->input('company_user')['settings'];
@ -138,9 +136,8 @@ class CompanyUserController extends BaseController
public function updatePreferences(UpdateCompanyUserPreferencesRequest $request, User $user) public function updatePreferences(UpdateCompanyUserPreferencesRequest $request, User $user)
{ {
/** @var \App\Models\User $logged_in_user */
$logged_in_user = auth()->user(); $company = auth()->user()->company();
$company = $logged_in_user->company();
$company_user = CompanyUser::whereUserId($user->id)->whereCompanyId($company->id)->first(); $company_user = CompanyUser::whereUserId($user->id)->whereCompanyId($company->id)->first();

View File

@ -520,7 +520,7 @@ class QuoteController extends BaseController
$ids = request()->input('ids'); $ids = request()->input('ids');
if (Ninja::isHosted() && (stripos($action, 'email') !== false) && !auth()->user()->company()->account->account_sms_verified) { if (Ninja::isHosted() && (stripos($action, 'email') !== false) && !$user->account->account_sms_verified) {
return response(['message' => 'Please verify your account to send emails.'], 400); return response(['message' => 'Please verify your account to send emails.'], 400);
} }

View File

@ -320,7 +320,10 @@ class RecurringExpenseController extends BaseController
*/ */
public function create(CreateRecurringExpenseRequest $request) public function create(CreateRecurringExpenseRequest $request)
{ {
$recurring_expense = RecurringExpenseFactory::create(auth()->user()->company()->id, auth()->user()->id); /** @var \App\Models\User $user */
$user = auth()->user();
$recurring_expense = RecurringExpenseFactory::create($user->company()->id, $user->id);
return $this->itemResponse($recurring_expense); return $this->itemResponse($recurring_expense);
} }
@ -365,10 +368,13 @@ class RecurringExpenseController extends BaseController
*/ */
public function store(StoreRecurringExpenseRequest $request) public function store(StoreRecurringExpenseRequest $request)
{ {
$recurring_expense = $this->recurring_expense_repo->save($request->all(), RecurringExpenseFactory::create(auth()->user()->company()->id, auth()->user()->id)); /** @var \App\Models\User $user */
$user = auth()->user();
$recurring_expense = $this->recurring_expense_repo->save($request->all(), RecurringExpenseFactory::create($user->company()->id, $user->id));
$recurring_expense->service()->triggeredActions($request)->save(); $recurring_expense->service()->triggeredActions($request)->save();
event(new RecurringExpenseWasCreated($recurring_expense, $recurring_expense->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); event(new RecurringExpenseWasCreated($recurring_expense, $recurring_expense->company, Ninja::eventVars($user->id)));
return $this->itemResponse($recurring_expense); return $this->itemResponse($recurring_expense);
} }
@ -481,13 +487,16 @@ class RecurringExpenseController extends BaseController
*/ */
public function bulk() public function bulk()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
$action = request()->input('action'); $action = request()->input('action');
$ids = request()->input('ids'); $ids = request()->input('ids');
$recurring_expenses = RecurringExpense::withTrashed()->find($this->transformKeys($ids)); $recurring_expenses = RecurringExpense::withTrashed()->find($this->transformKeys($ids));
$recurring_expenses->each(function ($recurring_expense, $key) use ($action) { $recurring_expenses->each(function ($recurring_expense, $key) use ($action, $user) {
if (auth()->user()->can('edit', $recurring_expense)) { if ($user->can('edit', $recurring_expense)) {
$this->performAction($recurring_expense, $action, true); $this->performAction($recurring_expense, $action, true);
} }
}); });

View File

@ -148,7 +148,10 @@ class RecurringQuoteController extends BaseController
*/ */
public function create(CreateRecurringQuoteRequest $request) public function create(CreateRecurringQuoteRequest $request)
{ {
$recurring_quote = RecurringQuoteFactory::create(auth()->user()->company()->id, auth()->user()->id); /** @var \App\Models\User $user */
$user = auth()->user();
$recurring_quote = RecurringQuoteFactory::create($user->company()->id, $user->id);
return $this->itemResponse($recurring_quote); return $this->itemResponse($recurring_quote);
} }
@ -193,7 +196,10 @@ class RecurringQuoteController extends BaseController
*/ */
public function store(StoreRecurringQuoteRequest $request) public function store(StoreRecurringQuoteRequest $request)
{ {
$recurring_quote = $this->recurring_quote_repo->save($request, RecurringQuoteFactory::create(auth()->user()->company()->id, auth()->user()->id)); /** @var \App\Models\User $user */
$user = auth()->user();
$recurring_quote = $this->recurring_quote_repo->save($request, RecurringQuoteFactory::create($user->company()->id, $user->id));
return $this->itemResponse($recurring_quote); return $this->itemResponse($recurring_quote);
} }
@ -479,14 +485,17 @@ class RecurringQuoteController extends BaseController
*/ */
public function bulk() public function bulk()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
$action = request()->input('action'); $action = request()->input('action');
$ids = request()->input('ids'); $ids = request()->input('ids');
$recurring_quotes = RecurringQuote::withTrashed()->find($this->transformKeys($ids)); $recurring_quotes = RecurringQuote::withTrashed()->find($this->transformKeys($ids));
$recurring_quotes->each(function ($recurring_quote, $key) use ($action) { $recurring_quotes->each(function ($recurring_quote, $key) use ($action, $user) {
if (auth()->user()->can('edit', $recurring_quote)) { if ($user->can('edit', $recurring_quote)) {
$this->recurring_quote_repo->{$action}($recurring_quote); $this->recurring_quote_repo->{$action}($recurring_quote);
} }
}); });
@ -573,11 +582,11 @@ class RecurringQuoteController extends BaseController
// return $this->itemResponse($recurring_invoice); // return $this->itemResponse($recurring_invoice);
break; break;
case 'clone_to_quote': case 'clone_to_quote':
$quote = CloneRecurringQuoteToQuoteFactory::create($recurring_invoice, auth()->user()->id); // $quote = CloneRecurringQuoteToQuoteFactory::create($recurring_invoice, auth()->user()->id);
$this->entity_transformer = QuoteTransformer::class; // $this->entity_transformer = QuoteTransformer::class;
$this->entity_type = Quote::class; // $this->entity_type = Quote::class;
return $this->itemResponse($quote); // return $this->itemResponse($quote);
break; break;
case 'history': case 'history':
// code... // code...

View File

@ -53,6 +53,7 @@ class ClientController extends BaseController
public function show(Request $request, string $contact_key) public function show(Request $request, string $contact_key)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {
@ -69,6 +70,7 @@ class ClientController extends BaseController
public function store(StoreShopClientRequest $request) public function store(StoreShopClientRequest $request)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {

View File

@ -53,6 +53,7 @@ class InvoiceController extends BaseController
public function show(Request $request, string $invitation_key) public function show(Request $request, string $invitation_key)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {
@ -69,6 +70,7 @@ class InvoiceController extends BaseController
public function store(StoreShopInvoiceRequest $request) public function store(StoreShopInvoiceRequest $request)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {

View File

@ -36,6 +36,7 @@ class ProductController extends BaseController
*/ */
public function index(Request $request) public function index(Request $request)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->firstOrFail(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->firstOrFail();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {
@ -49,6 +50,7 @@ class ProductController extends BaseController
public function show(Request $request, string $product_key) public function show(Request $request, string $product_key)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->firstOrFail(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->firstOrFail();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {

View File

@ -28,6 +28,7 @@ class ProfileController extends BaseController
public function show(Request $request) public function show(Request $request)
{ {
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first();
if (! $company->enable_shop_api) { if (! $company->enable_shop_api) {

View File

@ -19,8 +19,6 @@ class StaticController extends BaseController
/** /**
* Show the list of Invoices. * Show the list of Invoices.
* *
* @param InvoiceFilters $filters The filters
*
* @return Response * @return Response
* *
* @OA\Get( * @OA\Get(
@ -54,7 +52,11 @@ class StaticController extends BaseController
*/ */
public function __invoke() public function __invoke()
{ {
$response = Statics::company(auth()->user()->getCompany()->getLocale());
/** @var \App\Models\User $user */
$user = auth()->user();
$response = Statics::company($user->company()->getLocale());
return response()->json($response, 200, ['Content-type'=> 'application/json; charset=utf-8'], JSON_PRETTY_PRINT); return response()->json($response, 200, ['Content-type'=> 'application/json; charset=utf-8'], JSON_PRETTY_PRINT);
} }

View File

@ -81,6 +81,7 @@ class StripeConnectController extends BaseController
MultiDB::findAndSetDbByCompanyKey($request->getTokenContent()['company_key']); MultiDB::findAndSetDbByCompanyKey($request->getTokenContent()['company_key']);
/** @var \App\Models\Company $company */
$company = Company::where('company_key', $request->getTokenContent()['company_key'])->first(); $company = Company::where('company_key', $request->getTokenContent()['company_key'])->first();
$company_gateway = CompanyGateway::query() $company_gateway = CompanyGateway::query()

View File

@ -27,8 +27,11 @@ class StripeController extends BaseController
public function update() public function update()
{ {
if (auth()->user()->isAdmin()) { /** @var \App\Models\User $user */
StripeUpdatePaymentMethods::dispatch(auth()->user()->company()); $user = auth()->user();
if ($user->isAdmin()) {
StripeUpdatePaymentMethods::dispatch($user->company());
return response()->json(['message' => 'Processing'], 200); return response()->json(['message' => 'Processing'], 200);
} }
@ -38,10 +41,11 @@ class StripeController extends BaseController
public function import() public function import()
{ {
// return response()->json(['message' => 'Processing'], 200); /** @var \App\Models\User $user */
$user = auth()->user();
if (auth()->user()->isAdmin()) { if ($user->isAdmin()) {
ImportStripeCustomers::dispatch(auth()->user()->company()); ImportStripeCustomers::dispatch($user->company());
return response()->json(['message' => 'Processing'], 200); return response()->json(['message' => 'Processing'], 200);
} }
@ -51,10 +55,14 @@ class StripeController extends BaseController
public function verify() public function verify()
{ {
if (auth()->user()->isAdmin()) { /** @var \App\Models\User $user */
MultiDB::findAndSetDbByCompanyKey(auth()->user()->company()->company_key); $user = auth()->user();
$company_gateway = CompanyGateway::where('company_id', auth()->user()->company()->id) if ($user->isAdmin()) {
MultiDB::findAndSetDbByCompanyKey($user->company()->company_key);
/** @var \App\Models\CompanyGateway $company_gateway */
$company_gateway = CompanyGateway::where('company_id', $user->company()->id)
->where('is_deleted', 0) ->where('is_deleted', 0)
->whereIn('gateway_key', $this->stripe_keys) ->whereIn('gateway_key', $this->stripe_keys)
->first(); ->first();
@ -67,7 +75,11 @@ class StripeController extends BaseController
public function disconnect(string $company_gateway_id) public function disconnect(string $company_gateway_id)
{ {
$company_gateway = CompanyGateway::where('company_id', auth()->user()->company()->id) /** @var \App\Models\User $user */
$user = auth()->user();
/** @var \App\Models\CompanyGateway $company_gateway */
$company_gateway = CompanyGateway::where('company_id', $user->company()->id)
->where('id', $this->decodePrimaryKey($company_gateway_id)) ->where('id', $this->decodePrimaryKey($company_gateway_id))
->whereIn('gateway_key', $this->stripe_keys) ->whereIn('gateway_key', $this->stripe_keys)
->firstOrFail(); ->firstOrFail();

View File

@ -48,7 +48,7 @@ class SubscriptionController extends BaseController
/** /**
* Show the list of Subscriptions. * Show the list of Subscriptions.
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* @OA\Get( * @OA\Get(
* path="/api/v1/subscriptions", * path="/api/v1/subscriptions",
@ -92,7 +92,7 @@ class SubscriptionController extends BaseController
* *
* @param CreateSubscriptionRequest $request The request * @param CreateSubscriptionRequest $request The request
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* *
* @OA\Get( * @OA\Get(
@ -127,7 +127,10 @@ class SubscriptionController extends BaseController
*/ */
public function create(CreateSubscriptionRequest $request): \Illuminate\Http\Response public function create(CreateSubscriptionRequest $request): \Illuminate\Http\Response
{ {
$subscription = SubscriptionFactory::create(auth()->user()->company()->id, auth()->user()->id); /** @var \App\Models\User $user */
$user = auth()->user();
$subscription = SubscriptionFactory::create($user->company()->id, $user->id);
return $this->itemResponse($subscription); return $this->itemResponse($subscription);
} }
@ -137,7 +140,7 @@ class SubscriptionController extends BaseController
* *
* @param StoreSubscriptionRequest $request The request * @param StoreSubscriptionRequest $request The request
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* *
* @OA\Post( * @OA\Post(
@ -172,9 +175,12 @@ class SubscriptionController extends BaseController
*/ */
public function store(StoreSubscriptionRequest $request): \Illuminate\Http\Response public function store(StoreSubscriptionRequest $request): \Illuminate\Http\Response
{ {
$subscription = $this->subscription_repo->save($request->all(), SubscriptionFactory::create(auth()->user()->company()->id, auth()->user()->id)); /** @var \App\Models\User $user */
$user = auth()->user();
event(new SubscriptionWasCreated($subscription, $subscription->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); $subscription = $this->subscription_repo->save($request->all(), SubscriptionFactory::create($user->company()->id, $user->id));
event(new SubscriptionWasCreated($subscription, $subscription->company, Ninja::eventVars($user->id)));
return $this->itemResponse($subscription); return $this->itemResponse($subscription);
} }
@ -183,9 +189,9 @@ class SubscriptionController extends BaseController
* Display the specified resource. * Display the specified resource.
* *
* @param ShowSubscriptionRequest $request The request * @param ShowSubscriptionRequest $request The request
* @param Invoice $subscription The invoice * @param Subscription $subscription The invoice
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* *
* @OA\Get( * @OA\Get(
@ -238,9 +244,9 @@ class SubscriptionController extends BaseController
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
* *
* @param EditSubscriptionRequest $request The request * @param EditSubscriptionRequest $request The request
* @param Invoice $subscription The invoice * @param Subscription $subscription The subscription
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* @OA\Get( * @OA\Get(
* path="/api/v1/subscriptions/{id}/edit", * path="/api/v1/subscriptions/{id}/edit",
@ -292,9 +298,9 @@ class SubscriptionController extends BaseController
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param UpdateSubscriptionRequest $request The request * @param UpdateSubscriptionRequest $request The request
* @param Subscription $subscription The invoice * @param Subscription $subscription The subscription
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* *
* @OA\Put( * @OA\Put(
@ -338,7 +344,7 @@ class SubscriptionController extends BaseController
* ), * ),
* ) * )
*/ */
public function update(UpdateSubscriptionRequest $request, Subscription $subscription) public function update(UpdateSubscriptionRequest $request, Subscription $subscription): \Illuminate\Http\Response
{ {
if ($request->entityIsDeleted($subscription)) { if ($request->entityIsDeleted($subscription)) {
return $request->disallowUpdate(); return $request->disallowUpdate();
@ -346,7 +352,10 @@ class SubscriptionController extends BaseController
$subscription = $this->subscription_repo->save($request->all(), $subscription); $subscription = $this->subscription_repo->save($request->all(), $subscription);
event(new SubscriptionWasUpdated($subscription, $subscription->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); /** @var \App\Models\User $user */
$user = auth()->user();
event(new SubscriptionWasUpdated($subscription, $subscription->company, Ninja::eventVars($user->id)));
return $this->itemResponse($subscription); return $this->itemResponse($subscription);
} }
@ -355,9 +364,9 @@ class SubscriptionController extends BaseController
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *
* @param DestroySubscriptionRequest $request * @param DestroySubscriptionRequest $request
* @param Subscription $invoice * @param Subscription $subscription
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\Response
* *
* @throws \Exception * @throws \Exception
* @OA\Delete( * @OA\Delete(
@ -459,13 +468,16 @@ class SubscriptionController extends BaseController
*/ */
public function bulk() public function bulk()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
$action = request()->input('action'); $action = request()->input('action');
$ids = request()->input('ids'); $ids = request()->input('ids');
$subscriptions = Subscription::withTrashed()->find($this->transformKeys($ids)); $subscriptions = Subscription::withTrashed()->find($this->transformKeys($ids));
$subscriptions->each(function ($subscription, $key) use ($action) { $subscriptions->each(function ($subscription, $key) use ($action, $user) {
if (auth()->user()->can('edit', $subscription)) { if ($user->can('edit', $subscription)) {
$this->subscription_repo->{$action}($subscription); $this->subscription_repo->{$action}($subscription);
} }
}); });

View File

@ -50,7 +50,7 @@ class TaskController extends BaseController
protected $entity_transformer = TaskTransformer::class; protected $entity_transformer = TaskTransformer::class;
/** /**
* @var Taskepository * @var TaskRepository
*/ */
protected $task_repo; protected $task_repo;
@ -583,7 +583,7 @@ class TaskController extends BaseController
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param StoreTaskRequest $request * @param SortTaskRequest $request
* @return Response * @return Response
* *
* *

View File

@ -11,19 +11,20 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\TaskStatus;
use Illuminate\Http\Response;
use App\Utils\Traits\MakesHash;
use App\Factory\TaskStatusFactory; use App\Factory\TaskStatusFactory;
use App\Filters\TaskStatusFilters; use App\Filters\TaskStatusFilters;
use App\Http\Requests\TaskStatus\ActionTaskStatusRequest;
use App\Http\Requests\TaskStatus\CreateTaskStatusRequest;
use App\Http\Requests\TaskStatus\DestroyTaskStatusRequest;
use App\Http\Requests\TaskStatus\ShowTaskStatusRequest;
use App\Http\Requests\TaskStatus\StoreTaskStatusRequest;
use App\Http\Requests\TaskStatus\UpdateTaskStatusRequest;
use App\Models\TaskStatus;
use App\Repositories\TaskStatusRepository; use App\Repositories\TaskStatusRepository;
use App\Transformers\TaskStatusTransformer; use App\Transformers\TaskStatusTransformer;
use App\Utils\Traits\MakesHash; use App\Http\Requests\TaskStatus\EditTaskStatusRequest;
use Illuminate\Http\Response; use App\Http\Requests\TaskStatus\ShowTaskStatusRequest;
use App\Http\Requests\TaskStatus\StoreTaskStatusRequest;
use App\Http\Requests\TaskStatus\ActionTaskStatusRequest;
use App\Http\Requests\TaskStatus\CreateTaskStatusRequest;
use App\Http\Requests\TaskStatus\UpdateTaskStatusRequest;
use App\Http\Requests\TaskStatus\DestroyTaskStatusRequest;
class TaskStatusController extends BaseController class TaskStatusController extends BaseController
{ {

View File

@ -48,7 +48,7 @@ class VendorController extends BaseController
protected $entity_transformer = VendorTransformer::class; protected $entity_transformer = VendorTransformer::class;
/** /**
* @var Vendorepository * @var VendorRepository
*/ */
protected $vendor_repo; protected $vendor_repo;

View File

@ -81,6 +81,7 @@ class DocumentController extends Controller
{ {
MultiDB::documentFindAndSetDb($document_hash); MultiDB::documentFindAndSetDb($document_hash);
/** @var \App\Models\Document $document */
$document = Document::where('hash', $document_hash)->firstOrFail(); $document = Document::where('hash', $document_hash)->firstOrFail();
$headers = []; $headers = [];
@ -94,6 +95,7 @@ class DocumentController extends Controller
public function downloadMultiple(DownloadMultipleDocumentsRequest $request) public function downloadMultiple(DownloadMultipleDocumentsRequest $request)
{ {
/** @var \Illuminate\Database\Eloquent\Collection<Document> $documents */
$documents = Document::whereIn('id', $this->transformKeys($request->file_hash)) $documents = Document::whereIn('id', $this->transformKeys($request->file_hash))
->where('company_id', auth()->guard('vendor')->user()->company_id) ->where('company_id', auth()->guard('vendor')->user()->company_id)
->get(); ->get();

View File

@ -75,10 +75,10 @@ class PurchaseOrderController extends Controller
} }
/** /**
* Show specific invoice. * Show specific PurchaseOrder.
* *
* @param ShowInvoiceRequest $request * @param ShowPurchaseOrderRequest $request
* @param Invoice $invoice * @param PurchaseOrder $purchase_order
* *
* @return Factory|View * @return Factory|View
*/ */

View File

@ -15,6 +15,7 @@ use App\Utils\Ninja;
use App\Utils\Traits\Inviteable; use App\Utils\Traits\Inviteable;
use App\Utils\Traits\MakesDates; use App\Utils\Traits\MakesDates;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Str; use Illuminate\Support\Str;
@ -102,49 +103,37 @@ class PurchaseOrderInvitation extends BaseModel
return PurchaseOrder::class; return PurchaseOrder::class;
} }
/** public function purchase_order(): \Illuminate\Database\Eloquent\Relations\BelongsTo
* @return mixed
*/
public function purchase_order()
{ {
return $this->belongsTo(PurchaseOrder::class)->withTrashed(); return $this->belongsTo(PurchaseOrder::class)->withTrashed();
} }
/** public function entity(): \Illuminate\Database\Eloquent\Relations\BelongsTo
* @return mixed
*/
public function entity()
{ {
return $this->belongsTo(PurchaseOrder::class)->withTrashed(); return $this->belongsTo(PurchaseOrder::class)->withTrashed();
} }
/** public function contact(): \Illuminate\Database\Eloquent\Relations\BelongsTo
* @return mixed
*/
public function contact()
{ {
return $this->belongsTo(VendorContact::class, 'vendor_contact_id', 'id')->withTrashed(); return $this->belongsTo(VendorContact::class, 'vendor_contact_id', 'id')->withTrashed();
} }
/** public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
* @return mixed
*/
public function user()
{ {
return $this->belongsTo(User::class)->withTrashed(); return $this->belongsTo(User::class)->withTrashed();
} }
public function company() public function company(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(Company::class); return $this->belongsTo(Company::class);
} }
public function getName() public function getName(): string
{ {
return $this->key; return $this->key;
} }
public function markViewed() public function markViewed(): void
{ {
$this->viewed_date = Carbon::now(); $this->viewed_date = Carbon::now();
$this->save(); $this->save();

View File

@ -63,9 +63,7 @@ use Laracasts\Presenter\PresentableTrait;
* @property-read \App\Models\Company $company * @property-read \App\Models\Company $company
* @property-read mixed $contact_id * @property-read mixed $contact_id
* @property-read mixed $hashed_id * @property-read mixed $hashed_id
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read int|null $notifications_count * @property-read int|null $notifications_count
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read int|null $purchase_order_invitations_count * @property-read int|null $purchase_order_invitations_count
* @property-read \App\Models\User $user * @property-read \App\Models\User $user
* @property-read \App\Models\Vendor $vendor * @property-read \App\Models\Vendor $vendor
@ -74,66 +72,10 @@ use Laracasts\Presenter\PresentableTrait;
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact newQuery() * @method static \Illuminate\Database\Eloquent\Builder|VendorContact newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact onlyTrashed() * @method static \Illuminate\Database\Eloquent\Builder|VendorContact onlyTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact query() * @method static \Illuminate\Database\Eloquent\Builder|VendorContact query()
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAcceptedTermsVersion($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAvatar($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAvatarSize($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAvatarType($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCompanyId($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereConfirmationCode($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereConfirmed($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereContactKey($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue1($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue2($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue3($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue4($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereEmailVerifiedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereFailedLogins($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereFirstName($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereGoogle2faSecret($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereIsLocked($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereIsPrimary($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereLastLogin($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereLastName($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereOauthProviderId($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereOauthUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact wherePassword($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact wherePhone($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereRememberToken($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereSendEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereToken($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereVendorId($value)
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact withTrashed() * @method static \Illuminate\Database\Eloquent\Builder|VendorContact withTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact withoutTrashed() * @method static \Illuminate\Database\Eloquent\Builder|VendorContact withoutTrashed()
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications * @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
* @mixin \Eloquent * @mixin \Eloquent
*/ */
class VendorContact extends Authenticatable implements HasLocalePreference class VendorContact extends Authenticatable implements HasLocalePreference
@ -213,7 +155,7 @@ class VendorContact extends Authenticatable implements HasLocalePreference
return $this->encodePrimaryKey($this->id); return $this->encodePrimaryKey($this->id);
} }
public function vendor() public function vendor(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(Vendor::class)->withTrashed(); return $this->belongsTo(Vendor::class)->withTrashed();
} }
@ -223,12 +165,12 @@ class VendorContact extends Authenticatable implements HasLocalePreference
return $this->where('is_primary', true); return $this->where('is_primary', true);
} }
public function company() public function company(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(Company::class); return $this->belongsTo(Company::class);
} }
public function user() public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(User::class)->withTrashed(); return $this->belongsTo(User::class)->withTrashed();
} }

View File

@ -52,14 +52,10 @@ class UserRepository extends BaseRepository
if ($unset_company_user) { if ($unset_company_user) {
unset($details['company_user']); unset($details['company_user']);
} }
/** @var \App\Models\User $user */
$user = auth()->user(); $company = auth()->user()->company();
$company = $user->company();
$account = $company->account; $account = $company->account;
// if(array_key_exists('oauth_provider_id', $details))
// unset($details['oauth_provider_id']);
if (request()->has('validated_phone')) { if (request()->has('validated_phone')) {
$details['phone'] = request()->input('validated_phone'); $details['phone'] = request()->input('validated_phone');
$user->verified_phone_number = false; $user->verified_phone_number = false;
@ -104,8 +100,8 @@ class UserRepository extends BaseRepository
(new CreateCompanyToken($cu->company, $cu->user, 'restored_user'))->handle(); (new CreateCompanyToken($cu->company, $cu->user, 'restored_user'))->handle();
} }
} else { } else {
$cu->notifications = $data['company_user']['notifications']; $cu->notifications = $data['company_user']['notifications'] ?? '';
$cu->settings = $data['company_user']['settings']; $cu->settings = $data['company_user']['settings'] ?? '';
$cu->save(); $cu->save();
} }
} }

View File

@ -224,6 +224,7 @@ class UserTest extends TestCase
'is_admin' => false, 'is_admin' => false,
'is_owner' => false, 'is_owner' => false,
'permissions' => 'create_client,create_invoice', 'permissions' => 'create_client,create_invoice',
'notifications' => '',
], ],
'phone' => "", 'phone' => "",
]; ];
@ -247,6 +248,7 @@ class UserTest extends TestCase
'is_admin' => false, 'is_admin' => false,
'is_owner' => false, 'is_owner' => false,
'permissions' => 'create_client,create_invoice', 'permissions' => 'create_client,create_invoice',
'notifications' => '',
], ],
]; ];
@ -292,9 +294,6 @@ class UserTest extends TestCase
$arr = $response->json(); $arr = $response->json();
// $this->assertNotNull($user->company_user);
// $this->assertEquals($user->company_user->company_id, $this->company->id);
$response = $this->withHeaders([ $response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'), 'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token, 'X-API-TOKEN' => $this->token,