Renamed some variables, invoked the event listener
Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
parent
9ac4efb912
commit
82dc57aa18
1 changed files with 21 additions and 17 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Users;
|
namespace App\Http\Controllers\Users;
|
||||||
|
|
||||||
|
use App\Events\UserMerged;
|
||||||
use App\Helpers\Helper;
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Accessory;
|
use App\Models\Accessory;
|
||||||
|
@ -287,55 +288,58 @@ class BulkUsersController extends Controller
|
||||||
$user_ids_to_merge = $request->input('ids_to_merge');
|
$user_ids_to_merge = $request->input('ids_to_merge');
|
||||||
$user_ids_to_merge = array_diff($user_ids_to_merge, array($request->input('merge_into_id')));
|
$user_ids_to_merge = array_diff($user_ids_to_merge, array($request->input('merge_into_id')));
|
||||||
|
|
||||||
if ((!$request->filled('merge_into_id')) || (count($user_ids_to_merge) < 0)) {
|
if ((!$request->filled('merge_into_id')) || (count($user_ids_to_merge) < 1)) {
|
||||||
return redirect()->back()->with('error', trans('general.no_users_selected'));
|
return redirect()->back()->with('error', trans('general.no_users_selected'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the users
|
// Get the users
|
||||||
$merge_into_user = User::find($request->input('merge_into_id'));
|
$merge_into_user = User::find($request->input('merge_into_id'));
|
||||||
$users_to_merge = User::whereIn('id', $user_ids_to_merge)->with('assets', 'licenses', 'consumables','accessories')->get();
|
$users_to_merge = User::whereIn('id', $user_ids_to_merge)->with('assets', 'licenses', 'consumables','accessories')->get();
|
||||||
|
$admin = User::find(Auth::user()->id);
|
||||||
|
|
||||||
// Walk users
|
// Walk users
|
||||||
foreach ($users_to_merge as $user) {
|
foreach ($users_to_merge as $user_to_merge) {
|
||||||
|
|
||||||
foreach ($user->assets as $asset) {
|
foreach ($user_to_merge->assets as $asset) {
|
||||||
\Log::debug('Updating asset: '.$asset->asset_tag . ' to '.$merge_into_user->id);
|
\Log::debug('Updating asset: '.$asset->asset_tag . ' to '.$merge_into_user->id);
|
||||||
$asset->assigned_to = $request->input('merge_into_id');
|
$asset->assigned_to = $request->input('merge_into_id');
|
||||||
$asset->save();
|
$asset->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($user->licenses as $license) {
|
foreach ($user_to_merge->licenses as $license) {
|
||||||
\Log::debug('Updating license pivot: '.$license->id . ' to '.$merge_into_user->id);
|
\Log::debug('Updating license pivot: '.$license->id . ' to '.$merge_into_user->id);
|
||||||
$user->licenses()->updateExistingPivot($license->id, ['assigned_to' => $merge_into_user->id]);
|
$user_to_merge->licenses()->updateExistingPivot($license->id, ['assigned_to' => $merge_into_user->id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($user->consumables as $consumable) {
|
foreach ($user_to_merge->consumables as $consumable) {
|
||||||
\Log::debug('Updating consumable pivot: '.$consumable->id . ' to '.$merge_into_user->id);
|
\Log::debug('Updating consumable pivot: '.$consumable->id . ' to '.$merge_into_user->id);
|
||||||
$user->consumables()->updateExistingPivot($consumable->id, ['assigned_to' => $merge_into_user->id]);
|
$user_to_merge->consumables()->updateExistingPivot($consumable->id, ['assigned_to' => $merge_into_user->id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($user->accessories as $accessory) {
|
foreach ($user_to_merge->accessories as $accessory) {
|
||||||
$user->accessories()->updateExistingPivot($accessory->id, ['assigned_to' => $merge_into_user->id]);
|
$user_to_merge->accessories()->updateExistingPivot($accessory->id, ['assigned_to' => $merge_into_user->id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($user->userlog as $log) {
|
foreach ($user_to_merge->userlog as $log) {
|
||||||
$log->target_id = $user->id;
|
$log->target_id = $user_to_merge->id;
|
||||||
$log->save();
|
$log->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
User::where('manager_id', '=', $user->id)->update(['manager_id' => $merge_into_user->id]);
|
User::where('manager_id', '=', $user_to_merge->id)->update(['manager_id' => $merge_into_user->id]);
|
||||||
|
|
||||||
foreach ($user->managedLocations as $managedLocation) {
|
foreach ($user_to_merge->managedLocations as $managedLocation) {
|
||||||
$managedLocation->manager_id = $merge_into_user->id;
|
$managedLocation->manager_id = $merge_into_user->id;
|
||||||
$managedLocation->save();
|
$managedLocation->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
$user->deleted_at = Carbon::now()->timestamp;
|
$user_to_merge->delete();
|
||||||
$user->save();
|
//$user_to_merge->save();
|
||||||
|
|
||||||
|
event(new UserMerged($user_to_merge, $merge_into_user, $admin));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('users.index')->with('success', trans('general.merge_success'));
|
return redirect()->route('users.index')->with('success', trans('general.merge_success', ['count' => $users_to_merge->count(), 'into_username' => $merge_into_user->username]));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue