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);
}
}

View File

@ -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 @@
</div>
@endsection
@push('stylesheet')
<style type="text/css">
.el-select .el-select__tags > span {
display: flex;
margin-bottom: -75px;
}
</style>
@endpush
@push('scripts_start')
<script src="{{ asset('public/js/auth/users.js?v=' . version('short')) }}"></script>
@endpush

View File

@ -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 @@
</div>
@endsection
@push('stylesheet')
<style type="text/css">
.el-select .el-select__tags > span {
display: flex;
margin-bottom: -75px;
}
</style>
@endpush
@push('scripts_start')
<script src="{{ asset('public/js/auth/users.js?v=' . version('short')) }}"></script>
@endpush