Custom user fields #711 (#772)

Custom user fields during registration and profile edit #711
This commit is contained in:
Nabeel S
2020-08-11 17:48:51 -04:00
committed by GitHub
parent 3739cc8e91
commit 3ebf4f2924
36 changed files with 740 additions and 107 deletions

View File

@@ -5,12 +5,11 @@ namespace App\Repositories;
use App\Contracts\Repository;
use App\Models\Enums\UserState;
use App\Models\User;
use App\Models\UserField;
use App\Repositories\Criteria\WhereCriteria;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
/**
* Class UserRepository
*/
class UserRepository extends Repository
{
protected $fieldSearchable = [
@@ -29,6 +28,26 @@ class UserRepository extends Repository
return User::class;
}
/**
* Get all of the fields which has the mapped values
*
* @param \App\Models\User $user
*
* @return \App\Models\UserField[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection
*/
public function getUserFields(User $user): Collection
{
return (UserField::all())->map(function ($field, $_) use ($user) {
foreach ($user->fields as $userFieldValue) {
if ($userFieldValue->field->slug === $field->slug) {
$field->value = $userFieldValue->value;
}
}
return $field;
});
}
/**
* Number of PIREPs that are pending
*