コード例 #1
0
ファイル: ObjetivosController.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 {
         $org = DB::table('organizations')->join('strategic_plans', 'strategic_plans.organization_id', '=', 'organizations.id')->where('strategic_plans.id', '=', $_POST['strategic_plan_id'])->select('organizations.name', 'organizations.id')->first();
         global $org2;
         $org2 = $org;
         //$nombre_org = \Ermtool\Organization::name($_POST['organization_id']);
         global $verificador;
         DB::transaction(function () {
             //si es que se agrego categoría de objetivo
             /*if ($_POST['objective_category_id'])
               {
                   $categoria = $_POST['objective_category_id'];
               }
               else
               {
                   $categoria = NULL;
               }*/
             //haremos una revisión manual de que el codigo no se encuentra en el mismo plan estratégico
             //para esto, primero que todo buscaremos todos los codigos del plan estratégico
             $codes = DB::table('objectives')->where('strategic_plan_id', '=', $_POST['strategic_plan_id'])->select('code')->get();
             $GLOBALS['verificador'] = 0;
             foreach ($codes as $code) {
                 //vemos si es que existe el código
                 if (strcmp($code->code, $_POST['code']) == 0) {
                     $GLOBALS['verificador'] = 1;
                     break;
                 }
             }
             if ($GLOBALS['verificador'] == 0) {
                 if (isset($_POST['perspective2']) && $_POST['perspective2'] != '') {
                     $perspective2 = $_POST['perspective2'];
                 } else {
                     $perspective2 = NULL;
                 }
                 $objective = \Ermtool\Objective::create(['code' => $_POST['code'], 'name' => $_POST['name'], 'description' => $_POST['description'], 'organization_id' => $GLOBALS['org2']->id, 'status' => 0, 'perspective' => $_POST['perspective'], 'perspective2' => $perspective2, 'strategic_plan_id' => $_POST['strategic_plan_id']]);
                 if (isset($_POST['objectives_id'])) {
                     //guardamos los enlaces
                     foreach ($_POST['objectives_id'] as $obj) {
                         DB::table('objectives_impact')->insert(['objective_father_id' => $objective->id, 'objective_impacted_id' => $obj]);
                     }
                 }
                 if (Session::get('languaje') == 'en') {
                     Session::flash('message', 'Bussiness objective was successfully created');
                 } else {
                     Session::flash('message', 'Objetivo corporativo agregado correctamente');
                 }
             } else {
                 if (Session::get('languaje') == 'en') {
                     Session::flash('error', 'Bussiness objective could not be created since the code entered already exists on this plan.');
                 } else {
                     Session::flash('error', 'Objetivo corporativo no pudo ser creado dado que el código ingresado ya se encuentra en este plan.');
                 }
             }
         });
         if ($verificador == 0) {
             return Redirect::to('objetivos_plan.' . $_POST['strategic_plan_id']);
         } else {
             return Redirect::to('objetivos.create?nombre_organizacion=' . $org->name . '&strategic_plan_id=' . $_POST['strategic_plan_id'])->withInput();
         }
     }
 }