public function index($pid, $fid) { if (!FormController::validProjForm($pid, $fid)) { return redirect('projects'); } $form = FormController::getForm($fid); if (!\Auth::user()->isFormAdmin($form)) { flash()->overlay('You do not have permission to view that page.', 'Whoops.'); return redirect('projects'); } $presets = RecordPreset::where('fid', '=', $fid)->get(); return view('recordPresets/index', compact('form', 'presets')); }
/** * Shows the revision history for a particular record, still functional if the record is deleted. * * @param $pid * @param $fid * @param $rid * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|string */ public function show($pid, $fid, $rid) { if (!FormController::validProjForm($pid, $fid)) { return redirect('projects/' . $pid . '/forms'); } $owner = Revision::where('rid', '=', $rid)->first()->owner; if (!\Auth::user()->admin && !\Auth::user()->isFormAdmin(FormController::getForm($fid)) && \Auth::user()->id != $owner) { flash()->overlay('You do not have permission to view that page.', 'Whoops.'); return redirect('projects/' . $pid . '/forms/' . $fid); } $form = FormController::getForm($fid); $revisions = DB::table('revisions')->where('rid', '=', $rid)->orderBy('created_at', 'desc')->take(50)->get(); $pid = $form->pid; $records = array(); $temp = array_values(array_unique(Revision::lists('rid'))); for ($i = 0; $i < count($temp); $i++) { $records[$temp[$i]] = $pid . '-' . $form->fid . '-' . $temp[$i]; } $message = $pid . '-' . $fid . '-' . $rid; return view('revisions.index', compact('revisions', 'records', 'form', 'message', 'rid'))->render(); }
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; } } }
public function preset($pid, $fid, Request $request) { if (!FormController::validProjForm($pid, $fid)) { return redirect('projects'); } $form = FormController::getForm($fid); if ($request['preset']) { $form->preset = 1; } else { $form->preset = 0; } $form->save(); }
/** * 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; } } }