diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 67973e1bf0d0..e798af27eedc 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -218,7 +218,7 @@ class BaseController extends Controller $query->with( [ 'company' => function ($query) use ($updated_at, $user) { - $query->whereNotNull('updated_at')->with('documents')->with('users'); + $query->whereNotNull('updated_at')->with('documents','users'); }, 'company.clients' => function ($query) use ($updated_at, $user) { $query->where('clients.updated_at', '>=', $updated_at)->with('contacts.company', 'gateway_tokens', 'documents'); @@ -392,7 +392,7 @@ class BaseController extends Controller $query->with( [ 'company' => function ($query) use ($created_at, $user) { - $query->whereNotNull('created_at')->with('documents'); + $query->whereNotNull('created_at')->with('documents','users'); }, 'company.designs'=> function ($query) use ($created_at, $user) { $query->where('created_at', '>=', $created_at)->with('company'); @@ -466,7 +466,7 @@ class BaseController extends Controller $query->with( [ 'company' => function ($query) use ($created_at, $user) { - $query->whereNotNull('created_at')->with('documents'); + $query->whereNotNull('created_at')->with('documents','users'); }, 'company.clients' => function ($query) use ($created_at, $user) { $query->where('clients.created_at', '>=', $created_at)->with('contacts.company', 'gateway_tokens', 'documents'); @@ -500,9 +500,6 @@ class BaseController extends Controller }, 'company.groups' => function ($query) use ($created_at, $user) { $query->where('created_at', '>=', $created_at)->with('documents'); - - // if(!$user->isAdmin()) - // $query->where('group_settings.user_id', $user->id); }, 'company.invoices'=> function ($query) use ($created_at, $user) { $query->where('created_at', '>=', $created_at)->with('invitations', 'documents'); @@ -583,13 +580,30 @@ class BaseController extends Controller $query->where('activities.user_id', $user->id); }, + 'company.webhooks'=> function ($query) use($user) { + + if(!$user->isAdmin()) + $query->where('webhooks.user_id', $user->id); + + }, + 'company.tokens'=> function ($query) use($user) { + $query->where('company_tokens.user_id', $user->id); + }, + 'company.system_logs', 'company.subscriptions'=> function ($query) use($created_at, $user) { $query->where('created_at', '>=', $created_at); if(!$user->isAdmin()) $query->where('subscriptions.user_id', $user->id); - } + }, + 'company.recurring_expenses'=> function ($query) use ($created_at, $user) { + $query->where('created_at', '>=', $created_at)->with('documents'); + + if(!$user->hasPermission('view_recurring_expense')) + $query->where('recurring_expenses.user_id', $user->id)->orWhere('recurring_expenses.assigned_user_id', $user->id); + + }, ] ); diff --git a/app/Http/Middleware/QueryLogging.php b/app/Http/Middleware/QueryLogging.php index 94ba71086a22..97630957fbe5 100644 --- a/app/Http/Middleware/QueryLogging.php +++ b/app/Http/Middleware/QueryLogging.php @@ -35,9 +35,9 @@ class QueryLogging { // Enable query logging for development - if (!Ninja::isHosted() || !config('beacon.enabled')) { - return $next($request); - } + // if (!Ninja::isHosted() || !config('beacon.enabled')) { + // return $next($request); + // } $timeStart = microtime(true); DB::enableQueryLog(); @@ -53,10 +53,10 @@ class QueryLogging // info("Query count = {$count}"); - if($count > 175){ + // if($count > 175){ nlog("Query count = {$count}"); nlog($queries); - } + // } $ip = ''; diff --git a/app/Models/CompanyUser.php b/app/Models/CompanyUser.php index cf9fbfd14d1c..fc77eba1d8bf 100644 --- a/app/Models/CompanyUser.php +++ b/app/Models/CompanyUser.php @@ -52,6 +52,8 @@ class CompanyUser extends Pivot protected $touches = ['user']; + protected $with = ['user','account']; + public function getEntityType() { return self::class; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ee6c6775d724..1ed3c92bebb5 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -25,6 +25,7 @@ use Illuminate\Support\Facades\Queue; use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider; +use Illuminate\Database\Eloquent\Model; use Livewire\Livewire; class AppServiceProvider extends ServiceProvider @@ -69,6 +70,11 @@ class AppServiceProvider extends ServiceProvider app()->instance(TruthSource::class, new TruthSource()); + + Model::preventLazyLoading( + !$this->app->isProduction() + ); + } /** diff --git a/app/Transformers/CompanyUserTransformer.php b/app/Transformers/CompanyUserTransformer.php index 1f63e2716b3d..54c0b5ab9e01 100644 --- a/app/Transformers/CompanyUserTransformer.php +++ b/app/Transformers/CompanyUserTransformer.php @@ -79,7 +79,7 @@ class CompanyUserTransformer extends EntityTransformer public function includeToken(CompanyUser $company_user) { - $token = $company_user->tokens->where('company_id', $company_user->company_id)->where('user_id', $company_user->user_id)->first(); + $token = $company_user->tokens()->where('company_id', $company_user->company_id)->where('user_id', $company_user->user_id)->first(); $transformer = new CompanyTokenTransformer($this->serializer); diff --git a/app/Utils/Traits/Notifications/UserNotifies.php b/app/Utils/Traits/Notifications/UserNotifies.php index f5d8f63adcec..3985f80dd242 100644 --- a/app/Utils/Traits/Notifications/UserNotifies.php +++ b/app/Utils/Traits/Notifications/UserNotifies.php @@ -32,7 +32,7 @@ trait UserNotifies $notifiable_methods = []; $notifications = $company_user->notifications; - if ($company_user->company->is_disabled && is_array($notifications->email) || $company_user->trashed() || $company_user->user->trashed()) { + if ($invitation->company->is_disabled && is_array($notifications->email) || $company_user->trashed() || $company_user->user->trashed()) { return []; } @@ -56,7 +56,7 @@ trait UserNotifies $notifiable_methods = []; $notifications = $company_user->notifications; - if ($company_user->company->is_disabled || ! $notifications || $company_user->trashed() || $company_user->user->trashed()) { + if ($entity->company->is_disabled || ! $notifications || $company_user->trashed() || $company_user->user->trashed()) { return []; }