Fix missing user fields #785 (#786)

This commit is contained in:
Nabeel S
2020-08-13 17:44:41 -04:00
committed by GitHub
parent e5ed66b372
commit 27316f96e8
2 changed files with 11 additions and 9 deletions

View File

@@ -101,10 +101,12 @@ class ProfileController extends Controller
}
$airports = $this->airportRepo->all();
$userFields = $this->userRepo->getUserFields($user, true);
return view('profile.index', [
'user' => $user,
'airports' => $airports,
'user' => $user,
'userFields' => $userFields,
'airports' => $airports,
]);
}
@@ -131,7 +133,7 @@ class ProfileController extends Controller
$airlines = $this->airlineRepo->selectBoxList();
$airports = $this->airportRepo->selectBoxList(false, setting('pilots.home_hubs_only'));
$userFields = $this->userRepo->getUserFields($user);
$userFields = $this->userRepo->getUserFields($user, false);
return view('profile.edit', [
'user' => $user,

View File

@@ -31,13 +31,15 @@ class UserRepository extends Repository
/**
* Get all of the fields which has the mapped values
*
* @param \App\Models\User $user
* @param User $user
* @param bool $only_public_fields Only include the user's public fields
*
* @return \App\Models\UserField[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection
*/
public function getUserFields(User $user): Collection
public function getUserFields(User $user, $only_public_fields = true): Collection
{
return (UserField::all())->map(function ($field, $_) use ($user) {
$fields = UserField::where(['private' => !$only_public_fields])->get();
return $fields->map(function ($field, $_) use ($user) {
foreach ($user->fields as $userFieldValue) {
if ($userFieldValue->field->slug === $field->slug) {
$field->value = $userFieldValue->value;
@@ -59,11 +61,9 @@ class UserRepository extends Repository
'state' => UserState::PENDING,
];
$users = $this->orderBy('created_at', 'desc')
return $this->orderBy('created_at', 'desc')
->findWhere($where, ['id'])
->count();
return $users;
}
/**