Skip to content
Controller.php 1.23 KiB
Newer Older
Antonio Amaddio's avatar
Antonio Amaddio committed
use App\Http\Requests\Admin\ResearchProject\IndexResearchProject;
use App\Models\ResearchProject;
use Brackets\AdminListing\Facades\AdminListing;
use Illuminate\Routing\Controller as BaseController;

class Controller extends BaseController
{
Antonio Amaddio's avatar
Antonio Amaddio committed
    public function indexProjectOverview(IndexResearchProject $request){

        // create and AdminListing instance for a specific model and
        $data = AdminListing::create(ResearchProject::class)->processRequestAndGet(
        // pass the request with params
          $request,

          // set columns to query
          ['id', 'project_title', 'responsible_researcher', 'department', 'data_type'],
          // set columns to searchIn
          ['id', 'project_title', 'responsible_researcher', 'department', 'data_type', 'doi']
        );

        foreach($data->all() as $researchProject)
        {
            $researchProject->prepareDataTypeAttributeForIndex();
        }

        if ($request->ajax()) {

            if ($request->has('bulk')) {
                return [
                  'bulkItems' => $data->pluck('id')
                ];
            }
            return ['data' => $data];
        }

        return view('welcome', ['data' => $data]);
    }