/** * Creates the form's admin Group. * * @param $project * @param $request * @return FormGroup */ private function makeAdminGroup(Form $form, Request $request) { $groupName = $form->name; $groupName .= ' Admin Group'; $adminGroup = new FormGroup(); $adminGroup->name = $groupName; $adminGroup->fid = $form->fid; $adminGroup->save(); $formProject = $form->project()->first(); $projectAdminGroup = $formProject->adminGroup()->first(); $projectAdmins = $projectAdminGroup->users()->get(); $idArray = []; foreach ($projectAdmins as $projectAdmin) { $idArray[] .= $projectAdmin->id; } if (!is_null($request['admins'])) { $idArray = array_unique(array_merge($request['admins'], $idArray)); } if (!empty($idArray)) { $adminGroup->users()->attach($idArray); } $adminGroup->create = 1; $adminGroup->edit = 1; $adminGroup->delete = 1; $adminGroup->ingest = 1; $adminGroup->modify = 1; $adminGroup->destroy = 1; $adminGroup->save(); return $adminGroup; }