/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if (Auth::guest()) { return view('login'); } else { //creamos una transacción para cumplir con atomicidad DB::transaction(function () { //vemos si es de proceso o de negocio if (isset($_POST['subprocess_id'])) { $type = 0; } else { if (isset($_POST['objective_id'])) { $type = 1; } } if (!isset($_POST['stakeholder_id']) || $_POST['stakeholder_id'] == "") { $stake = NULL; } else { $stake = $_POST['stakeholder_id']; } $risk = \Ermtool\Risk::create(['name' => $_POST['name'], 'description' => $_POST['description'], 'type' => $type, 'type2' => 1, 'expiration_date' => $_POST['expiration_date'], 'risk_category_id' => $_POST['risk_category_id'], 'stakeholder_id' => $stake, 'expected_loss' => $_POST['expected_loss']]); //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' => $risk->id, 'cause_id' => $new_causa->id]); } else { if (isset($_POST['cause_id'])) { foreach ($_POST['cause_id'] as $cause_id) { //insertamos cada causa en cause_risk DB::table('cause_risk')->insert(['risk_id' => $risk->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' => $risk->id, 'effect_id' => $new_effect->id]); } else { if (isset($_POST['effect_id'])) { foreach ($_POST['effect_id'] as $effect_id) { //insertamos cada causa en cause_risk DB::table('effect_risk')->insert(['risk_id' => $risk->id, 'effect_id' => $effect_id]); } } } //agregamos en tabla risk_subprocess o objective_risk //obtenemos id de riesgo recien ingresado $risk = $risk->id; if ($type == 0) { //agregamos en tabla risk_subprocess foreach ($_POST['subprocess_id'] as $subprocess_id) { $subprocess = \Ermtool\Subprocess::find($subprocess_id); $subprocess->risks()->attach($risk); } } else { if ($type == 1) { //agregamos en tabla objective_risk foreach ($_POST['objective_id'] as $objective_id) { $objective = \Ermtool\Objective::find($objective_id); $objective->risks()->attach($risk); } } } if (Session::get('languaje') == 'en') { Session::flash('message', 'Risk successfully created'); } else { Session::flash('message', 'Riesgo agregado correctamente'); } }); return Redirect::to('riesgos.index2?organization_id=' . $_POST['org_id']); } }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if (Auth::guest()) { return view('login'); } else { DB::transaction(function () { $causa = array(); $risk = \Ermtool\Risk::create(['name' => $_POST['name'], 'description' => $_POST['description'], 'type2' => 0, 'expiration_date' => $_POST['expiration_date'], 'risk_category_id' => $_POST['risk_category_id']]); //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' => $risk->id, 'cause_id' => $new_causa->id]); } else { if (isset($_POST['cause_id'])) { foreach ($_POST['cause_id'] as $cause_id) { //insertamos cada causa en cause_risk DB::table('cause_risk')->insert(['risk_id' => $risk->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' => $risk->id, 'effect_id' => $new_effect->id]); } else { if (isset($_POST['effect_id'])) { if ($_POST['effect_id'] == NULL) { $efecto = NULL; } else { foreach ($_POST['effect_id'] as $effect_id) { //insertamos cada causa en cause_risk DB::table('effect_risk')->insert(['risk_id' => $risk->id, 'effect_id' => $effect_id]); } } } } if (Session::get('languaje') == 'en') { Session::flash('message', 'Template risk successfully created'); } else { Session::flash('message', 'Riesgo tipo agregado correctamente'); } }); return Redirect::to('/riskstype'); } }