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