Example #1
0
 /**
  * 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;
 }