namespace Cubedesigners\UserDatabase;
use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
+use Illuminate\Database\Eloquent\Builder;
class Company extends CubistMagicAbstractModel
{
-
protected $connection = 'extranet_users';
protected $table = 'company';
protected $_options = ['name' => 'company',
/** @var $user User */
return in_array($this->id, $user->getManagedCompanies());
}
+
+ public static function addOwnerClause(Builder $builder)
+ {
+ $builder->whereIn( 'id', backpack_user()->getManagedCompanies());
+ }
+
}
'managedUsers' => [],
];
- foreach (User::all() as $user) {
+ foreach (User::withoutGlobalScopes()->get() as $user) {
if (!isset($data['companyUsers'][$user->company])) {
$data['companyUsers'][$user->company] = [];
}
$data['usersCompany'][$user->id] = $user->company;
}
- foreach (Company::all() as $company) {
+ foreach (Company::withoutGlobalScopes()->get() as $company) {
if (!$company->admin || !isset($data['usersCompany'][$company->admin])) {
continue;
}
namespace Cubedesigners\UserDatabase;
use Cubist\Backpack\app\Magic\Models\CubistMagicAuthenticatable;
+use Illuminate\Database\Eloquent\Builder;
class User extends CubistMagicAuthenticatable
{
$cacheKey = '_get_compagny_names';
start_measure($cacheKey, 'Get compagny names');
self::$_companyNames = cache()->tags(['model_' . Company::class])->remember($cacheKey, 86400, function () {
- return Company::all()->pluck('name', 'id')->toArray();
+ return Company::withoutGlobalScopes()->pluck('name', 'id')->toArray();
});
stop_measure($cacheKey);
if (null === $id) {
public function isOwner($user)
{
+ if (null === $this->id) {
+ return true;
+ }
if (null === $user) {
return false;
}
}
+ public static function addOwnerClause(Builder $builder)
+ {
+ $builder->whereIn('id', Permissions::getManagedUsers(backpack_user()->id));
+ }
+
+
}