コード例 #1
0
ファイル: RiesgosController.php プロジェクト: pipehs/erm
 /**
  * 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']);
     }
 }
コード例 #2
0
ファイル: RiesgosTipoController.php プロジェクト: pipehs/erm
 /**
  * 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');
     }
 }