Exemplo n.º 1
0
 /**
  * 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 {
         //print_r($_POST);
         global $req;
         $req = $request;
         DB::transaction(function () {
             //verificamos ingreso de datos
             if (isset($_POST['description'])) {
                 $description = $_POST['description'];
             } else {
                 $description = NULL;
             }
             if (isset($_POST['recommendations'])) {
                 $recommendations = $_POST['recommendations'];
             } else {
                 $recommendations = NULL;
             }
             if (isset($_POST['classification']) && $_POST['classification'] != "") {
                 $classification = $_POST['classification'];
             } else {
                 $classification = NULL;
             }
             if (isset($_POST['kind'])) {
                 if ($_POST['kind'] == 0) {
                     $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'process_id' => $_POST['process_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                 } else {
                     if ($_POST['kind'] == 1) {
                         $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'subprocess_id' => $_POST['subprocess_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                     } else {
                         if ($_POST['kind'] == 2) {
                             $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'organization_id' => $_POST['org_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                         } else {
                             if ($_POST['kind'] == 3 || $_POST['kind'] == 4) {
                                 $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'control_id' => $_POST['control_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                             } else {
                                 if ($_POST['kind'] == 5) {
                                     $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'audit_audit_plan_audit_program_id' => $_POST['audit_audit_plan_audit_program_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                                 } else {
                                     if ($_POST['kind'] == 6) {
                                         $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'audit_audit_plan_id' => $_POST['audit_audit_plan_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                                     }
                                 }
                             }
                         }
                     }
                 }
             } else {
                 if (isset($_POST['test_id'])) {
                     $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'audit_test_id' => $_POST['test_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                 } else {
                     if (isset($_POST['evaluation_id'])) {
                         $issue = DB::table('issues')->insertGetId(['name' => $_POST['name'], 'description' => $description, 'recommendations' => $recommendations, 'classification' => $classification, 'control_evaluation_id' => $_POST['evaluation_id'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')]);
                     }
                 }
             }
             //agregamos evidencia (si es que existe)
             if ($GLOBALS['req']->file('evidence_doc') != NULL) {
                 foreach ($GLOBALS['req']->file('evidence_doc') as $file) {
                     if ($file != NULL) {
                         upload_file($file, 'evidencias_hallazgos', $issue);
                     }
                 }
             }
             //vemos si tiene al menos la descripción del plan de acción, si es así se agrega el plan
             if (isset($_POST['description_plan']) and $_POST['description_plan'] != "") {
                 if (isset($_POST['stakeholder_id']) and $_POST['stakeholder_id'] != "") {
                     $stakeholder = $_POST['stakeholder_id'];
                 } else {
                     $stakeholder = NULL;
                 }
                 if (isset($_POST['final_date']) and $_POST['final_date'] != "") {
                     $final_date = $_POST['final_date'];
                 } else {
                     $final_date = NULL;
                 }
                 $plan = new PlanesAccion();
                 $newplan = $plan->store($issue, $_POST['description_plan'], $stakeholder, $final_date);
             }
             if (Session::get('languaje') == 'en') {
                 if (isset($newplan)) {
                     Session::flash('message', 'Issue and action plan successfully created');
                 } else {
                     Session::flash('message', 'Issue successfully created');
                 }
             } else {
                 if (isset($newplan)) {
                     Session::flash('message', 'Hallazgo y plan de acción creado correctamente');
                 } else {
                     Session::flash('message', 'Hallazgo creado correctamente');
                 }
             }
         });
         return Redirect::to('hallazgos');
     }
 }