User companies input change multi select groups

This commit is contained in:
Cihan Şentürk
2020-06-24 17:07:22 +03:00
parent 08b68052da
commit 867fe99a4f
4 changed files with 47 additions and 4 deletions

View File

@@ -70,7 +70,7 @@ class Users extends Controller
return $r->hasPermission('read-client-portal');
});
$companies = user()->companies()->get()->sortBy('name');
$companies = user()->companies()->get()->sortBy('name')->pluck('name', 'id');
return view('auth.users.create', compact('roles', 'companies', 'routes'));
}
@@ -148,7 +148,7 @@ class Users extends Controller
});
}
$companies = user()->companies()->get()->sortBy('name');
$companies = user()->companies()->get()->sortBy('name')->pluck('name', 'id');
return view('auth.users.edit', compact('user', 'companies', 'roles', 'routes'));
}

View File

@@ -50,6 +50,15 @@ class User extends Authenticatable
*/
public $sortable = ['name', 'email', 'enabled'];
public static function boot()
{
parent::boot();
static::retrieved(function($model) {
$model->setCompanyIds();
});
}
public function companies()
{
return $this->morphToMany('App\Models\Common\Company', 'user', 'user_companies', 'user_id', 'company_id');
@@ -169,4 +178,20 @@ class User extends Authenticatable
{
return $query->where('enabled', 1);
}
/**
* Convert tax to Array.
*
* @return void
*/
public function setCompanyIds()
{
$company_ids = [];
foreach ($this->companies as $company) {
$company_ids[] = (string) $company->id;
}
$this->setAttribute('company_ids', $company_ids);
}
}