public function getCauses() { $causes = \Ermtool\Cause::all(['id', 'name']); return json_encode($causes); }
public function desbloquear($id) { if (Auth::guest()) { return view('login'); } else { $causa = \Ermtool\Cause::find($id); $causa->status = 0; $causa->save(); if (Session::get('languaje') == 'en') { Session::flash('message', 'Cause successfully unblocked'); } else { Session::flash('message', 'Causa desbloqueada correctamente'); } return Redirect::to('/causas'); } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { if (Auth::guest()) { return view('login'); } else { global $id1; $id1 = $id; DB::transaction(function () { $riesgo = \Ermtool\Risk::find($GLOBALS['id1']); //vemos si se agrego alguna causa nueva if (isset($_POST['causa_nueva'])) { $new_causa = \Ermtool\Cause::create(['name' => $_POST['causa_nueva']]); //guardamos en cause_risk DB::table('cause_risk')->insert(['risk_id' => $riesgo->id, 'cause_id' => $new_causa->id]); } else { if (isset($_POST['cause_id'])) { foreach ($_POST['cause_id'] as $cause_id) { //primero buscamos si es que existe previamente $cause = DB::table('cause_risk')->where('cause_id', '=', $cause_id)->where('risk_id', '=', $riesgo->id)->first(); if (!$cause) { DB::table('cause_risk')->insert(['risk_id' => $riesgo->id, 'cause_id' => $cause_id]); } } } } //vemos si se agrego algún efecto nuevo if (isset($_POST['efecto_nuevo'])) { $new_effect = \Ermtool\Effect::create(['name' => $_POST['efecto_nuevo']]); //guardamos en cause_risk DB::table('effect_risk')->insert(['risk_id' => $riesgo->id, 'effect_id' => $new_effect->id]); } else { if (isset($_POST['effect_id'])) { foreach ($_POST['effect_id'] as $effect_id) { //primero buscamos si es que existe previamente $effect = DB::table('effect_risk')->where('effect_id', '=', $effect_id)->where('risk_id', '=', $riesgo->id)->first(); if (!$effect) { //insertamos cada causa en cause_risk DB::table('effect_risk')->insert(['risk_id' => $riesgo->id, 'effect_id' => $effect_id]); } } } } //ahora recorreremos todas las causas y efectos de este riesgo, para saber si es que no se borró alguna $causas = DB::table('cause_risk')->where('risk_id', '=', $riesgo->id)->select('cause_id')->get(); foreach ($causas as $cause) { $cont = 0; //si se mantiene en cero, nunca habrán sido iguales, por lo que significa que se habria borrado //ahora recorremos todas las causas que se agregaron para comparar foreach ($_POST['cause_id'] as $cause_add) { if ($cause_add == $cause->cause_id) { $cont += 1; } } if ($cont == 0) { DB::table('cause_risk')->where('risk_id', '=', $riesgo->id)->where('cause_id', '=', $cause->cause_id)->delete(); } } //lo mismo ahora para efectos $efectos = DB::table('effect_risk')->where('risk_id', '=', $riesgo->id)->select('effect_id')->get(); foreach ($efectos as $effect) { $cont = 0; //si se mantiene en cero, nunca habrán sido iguales, por lo que significa que se habria borrado //ahora recorremos todas las causas que se agregaron para comparar foreach ($_POST['effect_id'] as $effect_add) { if ($effect_add == $effect->effect_id) { $cont += 1; } } if ($cont == 0) { DB::table('effect_risk')->where('risk_id', '=', $riesgo->id)->where('effect_id', '=', $effect->effect_id)->delete(); } } $riesgo->name = $_POST['name']; $riesgo->description = $_POST['description']; $riesgo->expiration_date = $_POST['expiration_date']; $riesgo->risk_category_id = $_POST['risk_category_id']; $riesgo->save(); if (Session::get('languaje') == 'en') { Session::flash('message', 'Template risk successfully updated'); } else { Session::flash('message', 'Riesgo tipo actualizado correctamente'); } }); return Redirect::to('/riskstype'); } }