/** * 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(); } } }