public static function validProjFormRecord($pid, $fid, $rid) { $record = RecordController::getRecord($rid); $form = FormController::getForm($fid); $proj = ProjectController::getProject($pid); if (!FormController::validProjForm($pid, $fid)) { return false; } if (is_null($record) || is_null($form) || is_null($proj)) { return false; } else { if ($record->fid == $form->fid) { return true; } else { return false; } } }
/** * Returns true if a user is in a form's admin group, false if not. * * @param Form $form * @return bool */ public function isFormAdmin(Form $form) { if ($this->admin) { return true; } if ($this->isProjectAdmin(ProjectController::getProject($form->pid))) { return true; } $adminGroup = $form->adminGroup()->first(); if ($adminGroup->hasUser($this)) { return true; } return false; }
private function wipeAdminRights($request, $pid) { $user = $request['userId']; $project = ProjectController::getProject($pid); $forms = $project->forms()->get(); foreach ($forms as $form) { $adminGroup = $form->adminGroup()->first(); $adminGroup->users()->detach($user); } }
public static function checkPermissions($pid, $permission = '') { switch ($permission) { case 'create': if (!\Auth::user()->canCreateForms(ProjectController::getProject($pid))) { flash()->overlay('You do not have permission to create forms for that project.', 'Whoops'); return false; } return true; case 'edit': if (!\Auth::user()->canEditForms(ProjectController::getProject($pid))) { flash()->overlay('You do not have permission to edit forms for that project.', 'Whoops'); return false; } return true; case 'delete': if (!\Auth::user()->canDeleteForms(ProjectController::getProject($pid))) { flash()->overlay('You do not have permission to delete forms for that project.', 'Whoops'); return false; } return true; default: if (!\Auth::user()->inAProjectGroup(ProjectController::getProject($pid))) { flash()->overlay('You do not have permission to view that project.', 'Whoops.'); return false; } return true; } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $project = ProjectController::getProject($id); $project->delete(); flash()->overlay('Your project has been successfully deleted!', 'Good Job'); }
/** * Validate that a field belongs to a form and project. * * @param $pid * @param $fid * @param $flid * @return bool */ public static function validProjFormField($pid, $fid, $flid) { $field = FieldController::getField($flid); $form = FormController::getForm($fid); $proj = ProjectController::getProject($pid); if (!FormController::validProjForm($pid, $fid)) { return false; } if (is_null($field) || is_null($form) || is_null($proj)) { return false; } else { if ($field->fid == $form->fid) { return true; } else { return false; } } }