diff --git a/app/Http/Controllers/Auth/Users.php b/app/Http/Controllers/Auth/Users.php
index df594b495..39663b7f9 100644
--- a/app/Http/Controllers/Auth/Users.php
+++ b/app/Http/Controllers/Auth/Users.php
@@ -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'));
}
diff --git a/app/Models/Auth/User.php b/app/Models/Auth/User.php
index 1051d5c7b..99f55e43c 100644
--- a/app/Models/Auth/User.php
+++ b/app/Models/Auth/User.php
@@ -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);
+ }
}
diff --git a/resources/views/auth/users/create.blade.php b/resources/views/auth/users/create.blade.php
index 89f323af5..85949333b 100644
--- a/resources/views/auth/users/create.blade.php
+++ b/resources/views/auth/users/create.blade.php
@@ -48,7 +48,7 @@
@endif
@permission('read-common-companies')
- {{ Form::checkboxGroup('companies', trans_choice('general.companies', 2), $companies, 'name') }}
+ {{ Form::multiSelectGroup('companies', trans_choice('general.companies', 2), 'user', $companies) }}
@endpermission
@permission('read-auth-roles')
@@ -68,6 +68,15 @@
@endsection
+@push('stylesheet')
+
+@endpush
+
@push('scripts_start')
@endpush
diff --git a/resources/views/auth/users/edit.blade.php b/resources/views/auth/users/edit.blade.php
index 71f024014..a46d7f0c1 100644
--- a/resources/views/auth/users/edit.blade.php
+++ b/resources/views/auth/users/edit.blade.php
@@ -49,7 +49,7 @@
@endif
@permission('read-common-companies')
- {{ Form::checkboxGroup('companies', trans_choice('general.companies', 2), $companies, 'name') }}
+ {{ Form::multiSelectGroup('companies', trans_choice('general.companies', 2), 'user', $companies, $user->company_ids, ['required' => 'required'], 'col-md-6') }}
@endpermission
@permission('read-auth-roles')
@@ -71,6 +71,15 @@
@endsection
+@push('stylesheet')
+
+@endpush
+
@push('scripts_start')
@endpush