66use Session ;
77use Uspdev \Replicado \Pessoa ;
88use App \Ldap \User as LdapUser ;
9+ use App \Models \Config ;
910
1011class LoginListener
1112{
@@ -15,6 +16,10 @@ public function __construct(){
1516
1617 public function handle (Login $ event ){
1718
19+ $ configs = Config::latest ()->first ();
20+ $ codpes_sem_vinculo = explode (', ' ,$ configs ->codpes_sem_vinculo );
21+ $ codpes_sem_vinculo = array_unique ($ codpes_sem_vinculo );
22+
1823 /**
1924 * Manter retrocompatibilidade, pois esse sistema chamado o codpes de username
2025 * 25/06/2021: atualização do senhaunica-socialite para 3.x
@@ -23,8 +28,9 @@ public function handle(Login $event){
2328 $ event ->user ->save ();
2429
2530 $ vinculos = Pessoa::obterSiglasVinculosAtivos ($ event ->user ->codpes );
31+ if ($ vinculos == null ) $ vinculos =[];
2632
27- if (empty ($ vinculos )){
33+ if (empty ($ vinculos ) & ! in_array ( $ event -> user -> username , $ codpes_sem_vinculo ) ){
2834 Session::flash ('alert-danger ' , 'Pessoa sem vínculo com essa unidade ' );
2935 auth ()->logout ();
3036 }
@@ -38,10 +44,13 @@ public function handle(Login $event){
3844 ];
3945
4046 $ setores = Pessoa::obterSiglasSetoresAtivos ($ event ->user ->codpes );
41- if ($ setores ){
47+ if ($ setores == null ) $ setores = [];
48+
49+ if (!empty ($ setores )){
4250 $ attr ['setor ' ] = $ setores [0 ]; # Não é a melhor escolha
4351 }
4452 $ password = date ('dmY ' , strtotime (Pessoa::dump ($ event ->user ->codpes , ['dtanas ' ])['dtanas ' ]));
53+
4554 $ groups = array_merge ($ vinculos , $ setores );
4655
4756 LdapUser::createOrUpdate ($ event ->user ->codpes ,$ attr ,$ groups ,$ password );
0 commit comments