mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-05 00:04:35 -04:00
Add filters for owner users
This commit is contained in:
parent
64e2e1d7db
commit
057b6401f4
@ -66,21 +66,44 @@ class UserFilters extends QueryFilters
|
|||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter()
|
||||||
{
|
{
|
||||||
return $this->builder->whereHas('company_users', function ($q) {
|
|
||||||
$q->where('company_id', '=', auth()->user()->company()->id);
|
/** @var \App\Models\User $user */
|
||||||
|
$user = auth()->user();
|
||||||
|
|
||||||
|
return $this->builder->whereHas('company_users', function ($q) use ($user){
|
||||||
|
$q->where('company_id', '=', $user->company()->id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hides owner users from the list.
|
||||||
|
*
|
||||||
|
* @return Builder
|
||||||
|
*/
|
||||||
|
public function hideOwnerUsers(): Builder
|
||||||
|
{
|
||||||
|
/** @var \App\Models\User $user */
|
||||||
|
$user = auth()->user();
|
||||||
|
|
||||||
|
return $this->builder->whereHas('company_users', function ($q) use ($user) {
|
||||||
|
$q->where('company_id', '=', $user->company()->id)->where('is_owner', false);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters users that have been removed from the
|
* Filters users that have been removed from the
|
||||||
* company, but not deleted from the system.
|
* company, but not deleted from the system.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function hideRemovedUsers()
|
public function hideRemovedUsers(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->whereHas('company_users', function ($q) {
|
/** @var \App\Models\User $user */
|
||||||
$q->where('company_id', '=', auth()->user()->company()->id)->whereNull('deleted_at');
|
$user = auth()->user();
|
||||||
|
|
||||||
|
return $this->builder->whereHas('company_users', function ($q) use ($user) {
|
||||||
|
$q->where('company_id', '=', $user->company()->id)->whereNull('deleted_at');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,12 +121,21 @@ class UserFilters extends QueryFilters
|
|||||||
return $this->builder;
|
return $this->builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @var \App\Models\User $user */
|
||||||
|
$user = auth()->user();
|
||||||
|
|
||||||
return $this->builder
|
return $this->builder
|
||||||
->orWhere($this->with_property, $value)
|
->orWhere($this->with_property, $value)
|
||||||
->orderByRaw("{$this->with_property} = ? DESC", [$value])
|
->orderByRaw("{$this->with_property} = ? DESC", [$value])
|
||||||
->where('account_id', auth()->user()->account_id);
|
->where('account_id', $user->account_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns users with permissions to send emails via OAuth
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
* @return Builder
|
||||||
|
*/
|
||||||
public function sending_users(string $value = ''): Builder
|
public function sending_users(string $value = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($value) == 0 || $value != 'true') {
|
if (strlen($value) == 0 || $value != 'true') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user