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)
{
/** @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();
@ -124,7 +122,7 @@ class CompanyUserController extends BaseController
return;
}
if ($logged_in_user->isAdmin()) {
if (auth()->user()->isAdmin()) {
$company_user->fill($request->input('company_user'));
} else {
$company_user->settings = $request->input('company_user')['settings'];
@ -138,9 +136,8 @@ class CompanyUserController extends BaseController
public function updatePreferences(UpdateCompanyUserPreferencesRequest $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();

View File

@ -520,7 +520,7 @@ class QuoteController extends BaseController
$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);
}

View File

@ -320,7 +320,10 @@ class RecurringExpenseController extends BaseController
*/
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);
}
@ -365,10 +368,13 @@ class RecurringExpenseController extends BaseController
*/
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();
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);
}
@ -481,13 +487,16 @@ class RecurringExpenseController extends BaseController
*/
public function bulk()
{
/** @var \App\Models\User $user */
$user = auth()->user();
$action = request()->input('action');
$ids = request()->input('ids');
$recurring_expenses = RecurringExpense::withTrashed()->find($this->transformKeys($ids));
$recurring_expenses->each(function ($recurring_expense, $key) use ($action) {
if (auth()->user()->can('edit', $recurring_expense)) {
$recurring_expenses->each(function ($recurring_expense, $key) use ($action, $user) {
if ($user->can('edit', $recurring_expense)) {
$this->performAction($recurring_expense, $action, true);
}
});

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -19,8 +19,6 @@ class StaticController extends BaseController
/**
* Show the list of Invoices.
*
* @param InvoiceFilters $filters The filters
*
* @return Response
*
* @OA\Get(
@ -54,7 +52,11 @@ class StaticController extends BaseController
*/
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);
}

View File

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

View File

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

View File

@ -48,7 +48,7 @@ class SubscriptionController extends BaseController
/**
* Show the list of Subscriptions.
*
* @return \Illuminate\Http\JsonResponse
* @return \Illuminate\Http\Response
*
* @OA\Get(
* path="/api/v1/subscriptions",
@ -92,7 +92,7 @@ class SubscriptionController extends BaseController
*
* @param CreateSubscriptionRequest $request The request
*
* @return \Illuminate\Http\JsonResponse
* @return \Illuminate\Http\Response
*
*
* @OA\Get(
@ -127,7 +127,10 @@ class SubscriptionController extends BaseController
*/
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);
}
@ -137,7 +140,7 @@ class SubscriptionController extends BaseController
*
* @param StoreSubscriptionRequest $request The request
*
* @return \Illuminate\Http\JsonResponse
* @return \Illuminate\Http\Response
*
*
* @OA\Post(
@ -172,9 +175,12 @@ class SubscriptionController extends BaseController
*/
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);
}
@ -183,9 +189,9 @@ class SubscriptionController extends BaseController
* Display the specified resource.
*
* @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(
@ -238,9 +244,9 @@ class SubscriptionController extends BaseController
* Show the form for editing the specified resource.
*
* @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(
* path="/api/v1/subscriptions/{id}/edit",
@ -292,9 +298,9 @@ class SubscriptionController extends BaseController
* Update the specified resource in storage.
*
* @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(
@ -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)) {
return $request->disallowUpdate();
@ -346,7 +352,10 @@ class SubscriptionController extends BaseController
$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);
}
@ -355,9 +364,9 @@ class SubscriptionController extends BaseController
* Remove the specified resource from storage.
*
* @param DestroySubscriptionRequest $request
* @param Subscription $invoice
* @param Subscription $subscription
*
* @return \Illuminate\Http\JsonResponse
* @return \Illuminate\Http\Response
*
* @throws \Exception
* @OA\Delete(
@ -459,13 +468,16 @@ class SubscriptionController extends BaseController
*/
public function bulk()
{
/** @var \App\Models\User $user */
$user = auth()->user();
$action = request()->input('action');
$ids = request()->input('ids');
$subscriptions = Subscription::withTrashed()->find($this->transformKeys($ids));
$subscriptions->each(function ($subscription, $key) use ($action) {
if (auth()->user()->can('edit', $subscription)) {
$subscriptions->each(function ($subscription, $key) use ($action, $user) {
if ($user->can('edit', $subscription)) {
$this->subscription_repo->{$action}($subscription);
}
});

View File

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

View File

@ -11,19 +11,20 @@
namespace App\Http\Controllers;
use App\Models\TaskStatus;
use Illuminate\Http\Response;
use App\Utils\Traits\MakesHash;
use App\Factory\TaskStatusFactory;
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\Transformers\TaskStatusTransformer;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
use App\Http\Requests\TaskStatus\EditTaskStatusRequest;
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
{

View File

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

View File

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

View File

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

View File

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

View File

@ -63,9 +63,7 @@ use Laracasts\Presenter\PresentableTrait;
* @property-read \App\Models\Company $company
* @property-read mixed $contact_id
* @property-read mixed $hashed_id
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @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 \App\Models\User $user
* @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 onlyTrashed()
* @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 withoutTrashed()
* @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
* @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
*/
class VendorContact extends Authenticatable implements HasLocalePreference
@ -213,7 +155,7 @@ class VendorContact extends Authenticatable implements HasLocalePreference
return $this->encodePrimaryKey($this->id);
}
public function vendor()
public function vendor(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(Vendor::class)->withTrashed();
}
@ -223,12 +165,12 @@ class VendorContact extends Authenticatable implements HasLocalePreference
return $this->where('is_primary', true);
}
public function company()
public function company(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(Company::class);
}
public function user()
public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(User::class)->withTrashed();
}

View File

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

View File

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