/** * Executes the update funtion in the MeasureController * @param array $input Measure details, int $id ID of the Mesure stored (array for numeric Measure) * @return void */ public function runUpdate($input, $measureId, $measureRanges) { $input[$measureId] = $input[0]; unset($input[0]); if ($measureRanges != 0) { $input[$measureId]['measurerangeid'] = $measureRanges; } $measure = new MeasureController(); $measure->update($input); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { $rules = array('name' => 'required', 'test_category_id' => 'required|non_zero_key', 'specimentypes' => 'required'); $validator = Validator::make(Input::all(), $rules); // process the login if ($validator->fails()) { return Redirect::back()->withErrors($validator); } else { // Update $testtype = TestType::find($id); $testtype->name = trim(Input::get('name')); $testtype->description = Input::get('description'); $testtype->test_category_id = Input::get('test_category_id'); $testtype->targetTAT = Input::get('targetTAT'); $testtype->prevalence_threshold = Input::get('prevalence_threshold'); $testtype->orderable_test = Input::get('orderable_test'); $testtype->accredited = Input::get('accredited'); try { $testtype->save(); $testtype->setOrganisms(Input::get('organisms')); $testtype->setSpecimenTypes(Input::get('specimentypes')); $measureIds = array(); if (Input::get('new-measures')) { $inputNewMeasures = Input::get('new-measures'); $measures = new MeasureController(); $measureIds = $measures->store($inputNewMeasures); } if (Input::get('measures')) { $inputMeasures = Input::get('measures'); foreach ($inputMeasures as $key => $value) { $measureIds[] = $key; } $measures = new MeasureController(); $measures->update($inputMeasures); } $testtype->setMeasures($measureIds); } catch (QueryException $e) { Log::error($e); } // redirect $url = Session::get('SOURCE_URL'); return Redirect::to($url)->with('message', trans('messages.success-updating-test-type'))->with('activetesttype', $testtype->id); } }