Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/Admin/UsersController.php
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | public function index() | ||||
// Search by an external email | // Search by an external email | ||||
$ext_user_ids = \App\UserSetting::where('key', 'external_email') | $ext_user_ids = \App\UserSetting::where('key', 'external_email') | ||||
->where('value', $search) | ->where('value', $search) | ||||
->get() | ->get() | ||||
->pluck('user_id'); | ->pluck('user_id'); | ||||
$user_ids = $user_ids->merge($ext_user_ids)->unique(); | $user_ids = $user_ids->merge($ext_user_ids)->unique(); | ||||
// Search by a distribution list or resource email | // Search by an email of a group, resource, shared folder, etc. | ||||
if ($group = \App\Group::withTrashed()->where('email', $search)->first()) { | if ($group = \App\Group::withTrashed()->where('email', $search)->first()) { | ||||
$user_ids = $user_ids->merge([$group->wallet()->user_id])->unique(); | $user_ids = $user_ids->merge([$group->wallet()->user_id])->unique(); | ||||
} elseif ($resource = \App\Resource::withTrashed()->where('email', $search)->first()) { | } elseif ($resource = \App\Resource::withTrashed()->where('email', $search)->first()) { | ||||
$user_ids = $user_ids->merge([$resource->wallet()->user_id])->unique(); | $user_ids = $user_ids->merge([$resource->wallet()->user_id])->unique(); | ||||
} elseif ($folder = \App\SharedFolder::withTrashed()->where('email', $search)->first()) { | } elseif ($folder = \App\SharedFolder::withTrashed()->where('email', $search)->first()) { | ||||
$user_ids = $user_ids->merge([$folder->wallet()->user_id])->unique(); | $user_ids = $user_ids->merge([$folder->wallet()->user_id])->unique(); | ||||
} elseif ($alias = \App\SharedFolderAlias::where('alias', $search)->first()) { | |||||
$user_ids = $user_ids->merge([$alias->sharedFolder->wallet()->user_id])->unique(); | |||||
} | } | ||||
if (!$user_ids->isEmpty()) { | if (!$user_ids->isEmpty()) { | ||||
$result = User::withTrashed()->whereIn('id', $user_ids) | $result = User::withTrashed()->whereIn('id', $user_ids) | ||||
->orderBy('email') | ->orderBy('email') | ||||
->get(); | ->get(); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 132 Lines • ▼ Show 20 Lines | public function setSku(Request $request, $id, $sku) | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
if ($user->entitlements()->where('sku_id', $sku->id)->first()) { | if ($user->entitlements()->where('sku_id', $sku->id)->first()) { | ||||
return $this->errorResponse(422, \trans('app.user-set-sku-already-exists')); | return $this->errorResponse(422, \trans('app.user-set-sku-already-exists')); | ||||
} | } | ||||
$user->assignSku($sku); | $user->assignSku($sku); | ||||
/** @var \App\Entitlement $entitlement */ | |||||
$entitlement = $user->entitlements()->where('sku_id', $sku->id)->first(); | $entitlement = $user->entitlements()->where('sku_id', $sku->id)->first(); | ||||
return response()->json([ | return response()->json([ | ||||
'status' => 'success', | 'status' => 'success', | ||||
'message' => \trans('app.user-set-sku-success'), | 'message' => \trans('app.user-set-sku-success'), | ||||
'sku' => [ | 'sku' => [ | ||||
'cost' => $entitlement->cost, | 'cost' => $entitlement->cost, | ||||
'name' => $sku->name, | 'name' => $sku->name, | ||||
▲ Show 20 Lines • Show All 121 Lines • Show Last 20 Lines |