mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 02:36:28 +00:00 
			
		
		
		
	Fix events for LDAP
This commit is contained in:
		| @@ -38,20 +38,18 @@ class LDAPEventHandler | ||||
|      */ | ||||
|     public function importedUser(Imported $event) | ||||
|     { | ||||
|         Log::debug(sprintf('Now in %s', __METHOD__)); | ||||
|         /** @var User $user */ | ||||
|         $user        = $event->eloquent; | ||||
|         $alternative = User::where('email', $user->email)->where('id', '!=', $user->id)->first(); | ||||
|         if (null !== $alternative) { | ||||
|             // already a user exists with these records. | ||||
|             // copy objectguid and domain | ||||
|             // then logout | ||||
|             Log::debug(sprintf('User #%d is created but user #%d already exists.', $user->id, $alternative->id)); | ||||
|             $alternative->objectguid = $user->objectguid; | ||||
|             $alternative->domain     = $user->domain; | ||||
|             $alternative->save(); | ||||
|             $user->delete(); | ||||
|             auth()->logout(); | ||||
|         } | ||||
|         Log::debug('HERE WE ARE'); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -29,6 +29,7 @@ use FireflyIII\Events\DetectedNewIPAddress; | ||||
| use FireflyIII\Events\RegisteredUser; | ||||
| use FireflyIII\Events\RequestedNewPassword; | ||||
| use FireflyIII\Events\UserChangedEmail; | ||||
| use FireflyIII\Exceptions\FireflyException; | ||||
| use FireflyIII\Mail\ConfirmEmailChangeMail; | ||||
| use FireflyIII\Mail\NewIPAddressWarningMail; | ||||
| use FireflyIII\Mail\RegisteredUser as RegisteredUserMail; | ||||
| @@ -190,6 +191,7 @@ class UserEventHandler | ||||
|         } catch (Exception $e) { // @phpstan-ignore-line | ||||
|             Log::error($e->getMessage()); | ||||
|         } | ||||
|  | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
| @@ -216,6 +218,7 @@ class UserEventHandler | ||||
|         } catch (Exception $e) { // @phpstan-ignore-line | ||||
|             Log::error($e->getMessage()); | ||||
|         } | ||||
|  | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
| @@ -241,6 +244,7 @@ class UserEventHandler | ||||
|         } catch (Exception $e) { // @phpstan-ignore-line | ||||
|             Log::error($e->getMessage()); | ||||
|         } | ||||
|  | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
| @@ -283,6 +287,7 @@ class UserEventHandler | ||||
|  | ||||
|     /** | ||||
|      * @param Login $event | ||||
|      * | ||||
|      * @throws \FireflyIII\Exceptions\FireflyException | ||||
|      */ | ||||
|     public function storeUserIPAddress(Login $event): void | ||||
| @@ -290,9 +295,16 @@ class UserEventHandler | ||||
|         /** @var User $user */ | ||||
|         $user = $event->user; | ||||
|         /** @var array $preference */ | ||||
|         $preference = app('preferences')->getForUser($user, 'login_ip_history', [])->data; | ||||
|         $inArray    = false; | ||||
|         $ip         = request()->ip(); | ||||
|         try { | ||||
|             $preference = app('preferences')->getForUser($user, 'login_ip_history', [])->data; | ||||
|         } catch (FireflyException $e) { | ||||
|             // don't care. | ||||
|             Log::error($e->getMessage()); | ||||
|  | ||||
|             return; | ||||
|         } | ||||
|         $inArray = false; | ||||
|         $ip      = request()->ip(); | ||||
|         Log::debug(sprintf('User logging in from IP address %s', $ip)); | ||||
|  | ||||
|         // update array if in array | ||||
|   | ||||
| @@ -29,6 +29,7 @@ use FireflyIII\Models\Preference; | ||||
| use FireflyIII\User; | ||||
| use Illuminate\Support\Collection; | ||||
| use Log; | ||||
| use PDOException; | ||||
| use Session; | ||||
|  | ||||
| /** | ||||
| @@ -297,7 +298,11 @@ class Preferences | ||||
|             $pref->name = $name; | ||||
|         } | ||||
|         $pref->data = $value; | ||||
|         $pref->save(); | ||||
|         try { | ||||
|             $pref->save(); | ||||
|         } catch(PDOException $e) { | ||||
|             throw new FireflyException(sprintf('Could not save preference: %s', $e->getMessage()), 0, $e); | ||||
|         } | ||||
|         Cache::forever($fullName, $pref); | ||||
|  | ||||
|         return $pref; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user