diff --git a/app/Http/Controllers/Admin/CustomFieldsOverview.php b/app/Http/Controllers/Admin/CustomFieldsOverview.php index 2d19c4f4..239202ab 100644 --- a/app/Http/Controllers/Admin/CustomFieldsOverview.php +++ b/app/Http/Controllers/Admin/CustomFieldsOverview.php @@ -2,16 +2,24 @@ namespace App\Http\Controllers\Admin; -use App\Enumerations\UserRoles; +use App\Enumerations\CustomFieldResources; +use App\Enumerations\CustomFieldTypes; use App\Http\Controllers\Controller; use App\Http\Requests; -use App\Http\Requests\CreateNewUserRequest; -use App\Models\User; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Hash; +use App\Models\CustomField; -class CustomFieldsOverview extends Controller { - public function getOverview() { - return view('admin.customFields.overview'); +class CustomFieldsOverview extends Controller +{ + public function getOverview() + { + $model = new CustomField(); + $fields = $model->getIndexedByResource(); + + return view('admin.customFields.overview', [ + 'customFields' => $fields, + 'usedResources' => array_keys($fields), + 'resources' => CustomFieldResources::getWithTranslations(), + 'types' => CustomFieldTypes::getWithTranslations() + ]); } } \ No newline at end of file diff --git a/app/Models/CustomField.php b/app/Models/CustomField.php index ab14bc59..140520b5 100644 --- a/app/Models/CustomField.php +++ b/app/Models/CustomField.php @@ -9,9 +9,7 @@ use Illuminate\Database\Eloquent\Model; */ class CustomField extends Model { - public $timestamps = false; - protected $fillable = [ 'name', 'type_id', @@ -24,8 +22,24 @@ class CustomField extends Model 'max_length', 'required' ]; - protected $guarded = []; - + /** + * Getter for all custom fields indexed by resource ID. + * + * @return array + */ + public function getIndexedByResource() + { + // find all records in table + $fields = CustomField::all(); + + // add them to array indexed by resource ID + $customFields = []; + foreach ($fields as $field) { + $customFields[$field->resource_id][] = $field; + } + + return $customFields; + } } \ No newline at end of file diff --git a/resources/views/admin/customFields/overview.blade.php b/resources/views/admin/customFields/overview.blade.php index b0b739a5..8e7dec40 100644 --- a/resources/views/admin/customFields/overview.blade.php +++ b/resources/views/admin/customFields/overview.blade.php @@ -10,6 +10,52 @@