public static function getOrigin($kind, $id, $org_id) { if ($kind == 0) { $origin = DB::table('processes')->join('subprocesses', 'subprocesses.process_id', '=', 'processes.id')->join('risk_subprocess', 'risk_subprocess.subprocess_id', '=', 'subprocesses.id')->where('risk_subprocess.id', '=', $id)->select('processes.name')->first(); } else { if ($kind == 1) { $origin = DB::table('subprocesses')->join('risk_subprocess', 'risk_subprocess.subprocess_id', '=', 'subprocesses.id')->where('risk_subprocess.id', '=', $id)->select('subprocesses.name')->first(); } else { if ($kind == 2) { $origin = \Ermtool\Organization::find($org_id); } else { if ($kind == 3) { $origin = DB::table('controls')->join('control_risk_subprocess', 'control_risk_subprocess.control_id', '=', 'controls.id')->where('control_risk_subprocess.id', '=', $id)->select('controls.name')->first(); } else { if ($kind == 4) { $origin = DB::table('controls')->join('control_objective_risk', 'control_objective_risk.control_id', '=', 'controls.id')->where('control_objective_risk.id', '=', $id)->select('controls.name')->first(); } else { if ($kind == 5) { $origin = DB::table('audit_programs')->join('audit_audit_plan_audit_program', 'audit_audit_plan_audit_program.audit_program_id', '=', 'audit_programs.id')->where('audit_audit_plan_audit_program.id', '=', $id)->select('audit_programs.name')->first(); } else { if ($kind == 6) { $origin = DB::table('audits')->join('audit_audit_plan', 'audit_audit_plan.audit_id', '=', 'audits.id')->join('audit_plans', 'audit_plans.id', '=', 'audit_audit_plan.audit_plan_id')->where('audit_audit_plan.id', '=', $id)->select(DB::raw('CONCAT(audit_plans.name, " - ", audits.name) AS name'))->first(); } } } } } } } return $origin->name; }
public function enviar(Request $request) { if (Auth::guest()) { return view('login'); } else { if (isset($_GET['aplicar'])) { //$tipo = Request::input('destinatarios'); if ($request['destinatarios'] == 0) { //seleccionamos lista de stakeholders $dest = \Ermtool\Stakeholder::select('id', DB::raw('CONCAT(name, " ", surnames) AS full_name'))->orderBy('name')->lists('full_name', 'id'); } else { if ($request['destinatarios'] == 1) { $dest = \Ermtool\Organization::lists('name', 'id'); } else { if ($request['destinatarios'] == 2) { $dest = \Ermtool\Role::lists('name', 'id'); } } } $encuesta = \Ermtool\Poll::find($request['encuesta']); //obtenemos preguntas $preguntas = DB::table('questions')->where('poll_id', '=', $encuesta['id'])->get(); $answers = array(); //almacenaremos aquí respuestas posibles para las preguntas $i = 0; //contador de respuestas foreach ($preguntas as $pregunta) { if ($pregunta->answers_type != 0) { $posible_answers = DB::table('posible_answers')->where('question_id', $pregunta->id)->get(); foreach ($posible_answers as $posible_answer) { $answers[$i] = array('id' => $posible_answer->id, 'respuesta' => $posible_answer->answer, 'question_id' => $posible_answer->question_id); $i += 1; } } } if (Session::get('languaje') == 'en') { return view('en.identificacion_eventos_riesgos.enviarencuesta2', ['tipo' => $request['destinatarios'], 'dest' => $dest, 'encuesta' => $encuesta, 'preguntas' => $preguntas, 'respuestas' => $answers, 'mensaje' => $this->mensaje($encuesta['id'])]); } else { return view('identificacion_eventos_riesgos.enviarencuesta2', ['tipo' => $request['destinatarios'], 'dest' => $dest, 'encuesta' => $encuesta, 'preguntas' => $preguntas, 'respuestas' => $answers, 'mensaje' => $this->mensaje($encuesta['id'])]); } } else { if (isset($_GET['volver'])) { $polls = \Ermtool\Poll::lists('name', 'id'); if (Session::get('languaje') == 'en') { return view('en.identificacion_eventos_riesgos.enviarencuesta', ['polls' => $polls]); } else { return view('identificacion_eventos_riesgos.enviarencuesta', ['polls' => $polls]); } } else { $polls = \Ermtool\Poll::lists('name', 'id'); if (Session::get('languaje') == 'en') { return view('en.identificacion_eventos_riesgos.enviarencuesta', ['polls' => $polls]); } else { return view('identificacion_eventos_riesgos.enviarencuesta', ['polls' => $polls]); } } } } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { if (Auth::guest()) { return view('login'); } else { //hacemos variable id como variable global global $id1; $id1 = $id; DB::transaction(function () { $organization = \Ermtool\Organization::find($GLOBALS['id1']); $fecha_creacion = $organization->created_at; $fecha_exp = NULL; //vemos si tiene organización padre if ($_POST['organization_id'] != "") { $organizacion_padre = $_POST['organization_id']; } else { $organizacion_padre = NULL; } if ($_POST['mision'] != "") { $mision = $_POST['mision']; } else { $mision = NULL; } if ($_POST['vision'] != "") { $vision = $_POST['vision']; } else { $vision = NULL; } if ($_POST['target_client'] != "") { $target_client = $_POST['target_client']; } else { $target_client = NULL; } $organization->name = $_POST['name']; $organization->description = $_POST['description']; $organization->expiration_date = $_POST['expiration_date']; $organization->shared_services = $_POST['shared_services']; $organization->organization_id = $organizacion_padre; $organization->mision = $mision; $organization->vision = $vision; $organization->target_client = $target_client; $organization->save(); if (Session::get('languaje') == 'en') { Session::flash('message', 'Organization update successfully'); } else { Session::flash('message', 'Organización actualizada correctamente'); } }); return Redirect::to('/organization'); } }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { if (Auth::guest()) { return view('login'); } else { $org = \Ermtool\Organization::where('id', $_GET['org'])->value('name'); $org_id = \Ermtool\Organization::where('id', $_GET['org'])->value('id'); //obtenemos stakeholders de la misma organización $stakes = DB::table('stakeholders')->join('organization_stakeholder', 'organization_stakeholder.stakeholder_id', '=', 'stakeholders.id')->where('organization_stakeholder.organization_id', '=', $_GET['org'])->select('stakeholders.id', DB::raw('CONCAT(name, " ", surnames) AS full_name'))->orderBy('name')->lists('full_name', 'id'); $action_plan = \Ermtool\Action_plan::find($id); //obtenemos todos los issues y el issue del plan de acción $issue = DB::table('issues')->where('id', '=', $action_plan->issue_id)->select('id', 'name')->first(); $issues = \Ermtool\Issue::lists('name', 'id'); if (Session::get('languaje') == 'en') { return view('en.planes_accion.edit', ['org' => $org, 'org_id' => $org_id, 'action_plan' => $action_plan, 'stakeholders' => $stakes, 'action_plan' => $action_plan, 'issues' => $issues, 'issue' => $issue]); } else { return view('planes_accion.edit', ['org' => $org, 'org_id' => $org_id, 'action_plan' => $action_plan, 'stakeholders' => $stakes, 'action_plan' => $action_plan, 'issues' => $issues, 'issue' => $issue]); } } }
public function getStakeholders($org) { $results = array(); $stakeholders = \Ermtool\Organization::find($org)->stakeholders; $i = 0; foreach ($stakeholders as $stake) { $results[$i] = ['rut' => $stake['id'], 'fullname' => $stake['name'] . ' ' . $stake['surnames']]; $i += 1; } return json_encode($results); }
public function hallazgos($id) { if (Auth::guest()) { return view('login'); } else { //datos de evaluación de control $evaluation = \Ermtool\Control_evaluation::find($id); $issues = array(); $issues1 = \Ermtool\Issue::getIssueByControlEvaluation($id); $control_name = \Ermtool\Control::name($evaluation->control_id); $iss = new IssuesController(); //print_r($_POST); $i = 0; foreach ($issues1 as $issue) { if ($issue['plan_description'] != NULL) { $temp = $iss->formatearIssue($issue['id'], $issue['name'], $issue['classification'], $issue['recommendations'], $issue['plan_description'], $issue['plan_status'], $issue['plan_final_date']); } else { $temp = $iss->formatearIssue($issue['id'], $issue['name'], $issue['classification'], $issue['recommendations'], NULL, NULL, NULL); } $issues[$i] = ['id' => $temp['id'], 'name' => $temp['name'], 'classification' => $temp['classification'], 'recommendations' => $temp['recommendations'], 'plan' => $temp['plan'], 'status' => $temp['status'], 'status_origin' => $temp['status_origin'], 'final_date' => $temp['final_date'], 'evidence' => $issue['evidences']]; $i += 1; } $org_id = \Ermtool\Organization::getOrganizationIdFromControl($evaluation->control_id); if (Session::get('languaje') == 'en') { switch ($evaluation->kind) { case 0: $kind = 'Design test'; break; case 1: $kind = 'Operational effectiveness test'; break; case 2: $kind = 'Sustantive test'; break; case 3: $kind = 'Compliance test'; break; default: # code... break; } return view('en.hallazgos.index3', ['issues' => $issues, 'evaluation' => $evaluation, 'org_id' => $org_id, 'kind' => $kind]); } else { switch ($evaluation->kind) { case 0: $kind = 'Prueba de diseño'; break; case 1: $kind = 'Prueba de efectividad operativa'; break; case 2: $kind = 'Prueba sustantiva'; break; case 3: $kind = 'Prueba de cumplimiento'; break; default: # code... break; } return view('hallazgos.index3', ['issues' => $issues, 'evaluation' => $evaluation, 'control_name' => $control_name, 'org_id' => $org_id, 'kind' => $kind]); } } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { if (Auth::guest()) { return view('login'); } else { global $id1; $id1 = $id; DB::transaction(function () { $subproceso = \Ermtool\Subprocess::find($GLOBALS['id1']); //vemos si tiene subproceso padre if ($_POST['subprocess_id'] != "") { $subprocess_id = $_POST['subprocess_id']; } else { $subprocess_id = NULL; } $subproceso->name = $_POST['name']; $subproceso->description = $_POST['description']; $subproceso->expiration_date = $_POST['expiration_date']; $subproceso->process_id = $_POST['process_id']; $subproceso->subprocess_id = $subprocess_id; //deberemos quitar las relaciones, y luego agregar las nuevas para este subproceso //primero eliminaremos todas las relaciones de organizaciones con subprocesos donde el subproceso sea el que se está editando $org_sub = DB::table('organization_subprocess')->where('subprocess_id', $GLOBALS['id1'])->lists('organization_id'); foreach ($org_sub as $organization_id) { $subproceso->organizations()->detach($organization_id); } //ahora agregamos las relaciones con las nuevas organizaciones foreach ($_POST['organization_id'] as $organization_id) { $organization = \Ermtool\Organization::find($organization_id); //agregamos la relación (para agregar en atributos) $organization->subprocesses()->attach($GLOBALS['id1']); } $subproceso->save(); if (Session::get('languaje') == 'en') { Session::flash('message', 'Subprocess successfully updated'); } else { Session::flash('message', 'Subproceso actualizado correctamente'); } }); return Redirect::to('/subprocesos'); } }
/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { //print_r($_GET); switch ($_GET['kind']) { case 1: //archivos de controles if ($_GET['control_type'] == 0) { $controls = \Ermtool\Control::getProcessesControls($_GET['organization_id']); } else { if ($_GET['control_type'] == 1) { $controls = \Ermtool\Control::getBussinessControls($_GET['organization_id']); } } $i = 0; $org_name = \Ermtool\Organization::name($_GET['organization_id']); //recorremos los controles para ver cuales tienen archivos $controls2 = array(); foreach ($controls as $control) { $files = Storage::files('controles/' . $control->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { //obtenemos los riesgos asociados a este control $risks = \Ermtool\Risk::getRisksFromControl($control->id, $_GET['control_type']); $controls2[$i] = ['name' => $control->name, 'description' => $control->description, 'risks' => $risks, 'files' => $files]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $controls2, 'kind' => $_GET['kind'], 'control_type' => $_GET['control_type'], 'org_name' => $org_name]); } else { return view('documentos.show', ['elements' => $controls2, 'kind' => $_GET['kind'], 'control_type' => $_GET['control_type'], 'org_name' => $org_name]); } break; case 2: //hallazgos //$files = Storage::files('evidencias_hallazgos'); //obtenemos id de los issues que son del tipo "kind_issue" switch ($_GET['kind_issue']) { case 0: //obtenemos issues de proceso $processes = \Ermtool\Process::getProcessFromIssues($_GET['organization_id']); $process_issues = array(); //se guardaran los procesos que tienen issues que además tienen documentos $i = 0; foreach ($processes as $process) { //obtenemos issues del proceso $issues = \Ermtool\Issue::getProcessIssues($process->id); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue->name, 'description' => $issue->description, 'classification' => $issue->classification, 'recommendations' => $issue->recommendations, 'files' => $files]; $j += 1; } //else //{ // echo 'el issue ' . $issue->id . ' no tiene evidencia<br>'; //} } //ahora guardamos solo aquellos procesos que tienen documentos asociados if (!empty($issues2)) { $process_issues[$i] = ['name' => $process->name, 'description' => $process->description, 'issues' => $issues2]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $process_issues, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['elements' => $process_issues, 'kind2' => $_GET['kind_issue']]); } break; case 1: //issues de subprocesos $subprocesses = \Ermtool\Subprocess::getSubprocessFromIssues($_GET['organization_id']); $subprocess_issues = array(); //se guardaran los subprocesos que tienen issues que además tienen documentos $i = 0; foreach ($subprocesses as $subprocess) { //obtenemos issues del proceso $issues = \Ermtool\Issue::getSubprocessIssuesBySubprocess($subprocess->id); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue->name, 'description' => $issue->description, 'classification' => $issue->classification, 'recommendations' => $issue->recommendations, 'files' => $files]; $j += 1; } } //ahora guardamos solo aquellos subprocesos que tienen documentos asociados if (!empty($issues2)) { $subprocess_issues[$i] = ['name' => $subprocess->name, 'description' => $subprocess->description, 'issues' => $issues2, 'process' => $subprocess->process_name]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $subprocess_issues, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['elements' => $subprocess_issues, 'kind2' => $_GET['kind_issue']]); } break; case 2: //issues de organización $issues = \Ermtool\Organization::find($_GET['organization_id'])->issues; $org_name = \Ermtool\Organization::name($_GET['organization_id']); $org_description = \Ermtool\Organization::description($_GET['organization_id']); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue['name'], 'description' => $issue['description'], 'classification' => $issue['classification'], 'recommendations' => $issue['recommendations'], 'files' => $files]; $j += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['issues' => $issues2, 'org_name' => $org_name, 'org_description' => $org_description, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['issues' => $issues2, 'org_name' => $org_name, 'org_description' => $org_description, 'kind2' => $_GET['kind_issue']]); } break; case 3: //issues de control de proceso $controls = \Ermtool\Control::getProcessesControlsFromIssues($_GET['organization_id']); $controls_issues = array(); //se guardaran los controles que tienen issues que además tienen documentos $i = 0; foreach ($controls as $control) { //obtenemos issues del control $issues = \Ermtool\Issue::getControlIssues($control->id); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue->name, 'description' => $issue->description, 'classification' => $issue->classification, 'recommendations' => $issue->recommendations, 'files' => $files]; $j += 1; } } //ahora guardamos solo aquellos controles que tienen documentos asociados if (!empty($issues2)) { $control_issues[$i] = ['name' => $control->name, 'description' => $control->description, 'issues' => $issues2]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $control_issues, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['elements' => $control_issues, 'kind2' => $_GET['kind_issue']]); } break; case 4: //issues de control de entidad $controls = \Ermtool\Control::getObjectivesControlsFromIssues($_GET['organization_id']); $control_issues = array(); //se guardaran los controles que tienen issues que además tienen documentos $i = 0; foreach ($controls as $control) { //obtenemos issues del control $issues = \Ermtool\Issue::getControlIssues($control->id); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue->name, 'description' => $issue->description, 'classification' => $issue->classification, 'recommendations' => $issue->recommendations, 'files' => $files]; $j += 1; } } //ahora guardamos solo aquellos controles que tienen documentos asociados if (!empty($issues2)) { $control_issues[$i] = ['name' => $control->name, 'description' => $control->description, 'issues' => $issues2]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $control_issues, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['elements' => $control_issues, 'kind2' => $_GET['kind_issue']]); } break; case 5: //issues de programas de auditoría //(audit_audit_plan_audit_program) $audit_programs = \Ermtool\Audit_program::getProgramsFromIssues($_GET['organization_id']); $audit_program_issues = array(); //se guardaran los programas que tienen issues que además tienen documentos $i = 0; foreach ($audit_programs as $audit_program) { //obtenemos issues del programa $issues = \Ermtool\Issue::getAuditProgramIssues($audit_program->id); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue->name, 'description' => $issue->description, 'classification' => $issue->classification, 'recommendations' => $issue->recommendations, 'files' => $files]; $j += 1; } } //ahora guardamos solo aquellos controles que tienen documentos asociados if (!empty($issues2)) { $audit_program_issues[$i] = ['name' => $audit_program->name, 'description' => $audit_program->description, 'issues' => $issues2]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $audit_program_issues, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['elements' => $audit_program_issues, 'kind2' => $_GET['kind_issue']]); } break; case 6: //issues de auditoría //(audit_audit_plan) $audits = \Ermtool\Audit::getAuditsFromIssues($_GET['organization_id']); $audit_issues = array(); //se guardaran las auditorías que tienen issues que además tienen documentos $i = 0; foreach ($audits as $audit) { //obtenemos issues de la auditoría $issues = \Ermtool\Issue::getAuditIssues($audit->id); $issues2 = array(); //array donde se guardaran los issues que tienen documentos //recorremos los issues para ver por cada uno si posee archivos $j = 0; foreach ($issues as $issue) { $files = Storage::files('evidencias_hallazgos/' . $issue->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $issues2[$j] = ['name' => $issue->name, 'description' => $issue->description, 'classification' => $issue->classification, 'recommendations' => $issue->recommendations, 'files' => $files]; $j += 1; } } //ahora guardamos solo aquellos controles que tienen documentos asociados if (!empty($issues2)) { $audit_issues[$i] = ['audit_plan' => $audit->audit_plan, 'name' => $audit->name, 'description' => $audit->description, 'issues' => $issues2]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $audit_issues, 'kind2' => $_GET['kind_issue']]); } else { return view('documentos.show', ['elements' => $audit_issues, 'kind2' => $_GET['kind_issue']]); } break; default: # code... break; } break; case 3: //notas $notes = \Ermtool\Note::getNotes($_GET['organization_id'], $_GET['audit_plan_id']); $i = 0; //recorremos las notas para ver cuales tienen archivos $notes2 = array(); foreach ($notes as $note) { //obtenemos posibles respuestas $answers = \Ermtool\Note::find($note->id)->notes_answers; $j = 0; $answers2 = array(); foreach ($answers as $ans) { $files1 = Storage::files('evidencias_resp_notas/' . $ans->id); if ($files1 != NULL) { //seteamos fecha $created_at = date_format($ans['created_at'], 'd-m-Y'); $answers2[$j] = ['answer' => $ans['answer'], 'created_at' => $created_at, 'files' => $files1]; $j += 1; } } $files = Storage::files('evidencias_notas/' . $note->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $notes2[$j] = ['name' => $note->name, 'description' => $note->description, 'files' => $files, 'answers' => $answers2]; $i += 1; } //puede ser que la respuesta tenga archivos } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $notes2, 'kind' => $_GET['kind']]); } else { return view('documentos.show', ['elements' => $notes2, 'kind' => $_GET['kind']]); } break; case 4: //programas $programs = \Ermtool\Audit_program::getPrograms($_GET['organization_id'], $_GET['audit_plan_id']); $plan = \Ermtool\Audit_plan::name($_GET['audit_plan_id']); $i = 0; //recorremos los programas para ver cuales tienen archivos $programs2 = array(); foreach ($programs as $program) { $files = Storage::files('programas_auditoria/' . $program->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $programs2[$i] = ['audit' => $program->audit, 'name' => $program->name, 'description' => $program->description, 'files' => $files]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $programs2, 'kind' => $_GET['kind'], 'audit_plan' => $plan]); } else { return view('documentos.show', ['elements' => $programs2, 'kind' => $_GET['kind'], 'audit_plan' => $plan]); } break; case 5: //pruebas $tests = \Ermtool\Audit_test::getTests($_GET['organization_id'], $_GET['audit_plan_id']); $plan = \Ermtool\Audit_plan::name($_GET['audit_plan_id']); $i = 0; //recorremos los programas para ver cuales tienen archivos $tests2 = array(); foreach ($tests as $test) { $files = Storage::files('pruebas_auditoria/' . $test->id); //vemos si existe la carpeta (si existe es porque tiene archivos) if ($files != NULL) { $tests2[$i] = ['audit' => $test->audit, 'program' => $test->program, 'name' => $test->name, 'description' => $test->description, 'files' => $files]; $i += 1; } } if (Session::get('languaje') == 'en') { return view('en.documentos.show', ['elements' => $tests2, 'kind' => $_GET['kind'], 'audit_plan' => $plan]); } else { return view('documentos.show', ['elements' => $tests2, 'kind' => $_GET['kind'], 'audit_plan' => $plan]); } break; default: break; } }
public function generarReporteIssues() { if (Auth::guest()) { return view('login'); } else { //volvemos a obtener lista de organizaciones $organizations = \Ermtool\Organization::lists('name', 'id'); //obtenemos nombre de organización $org = \Ermtool\Organization::where('id', $_GET['organization_id'])->value('name'); $org_id = $_GET['organization_id']; $issues = array(); $issues = $this->getIssues($_GET['kind'], $_GET['organization_id'], 2); //print_r($_POST); if (Session::get('languaje') == 'en') { return view('en.reportes.hallazgos', ['issues' => $issues, 'kind' => $_GET['kind'], 'organizations' => $organizations, 'org' => $org, 'org_id' => $org_id]); } else { return view('reportes.hallazgos', ['issues' => $issues, 'kind' => $_GET['kind'], 'organizations' => $organizations, 'org' => $org, 'org_id' => $org_id]); } } }
public function evaluacionManual() { if (Auth::guest()) { return view('login'); } else { //obtenemos organizaciones $organizations = \Ermtool\Organization::where('status', 0)->lists('name', 'id'); if (Session::get('languaje') == 'en') { return view('en.evaluacion.evaluacion_manual', ['organizations' => $organizations]); } else { return view('evaluacion.evaluacion_manual', ['organizations' => $organizations]); } } }
public function getPlanes($org) { return json_encode(\Ermtool\Organization::find($org)->audit_plans); }
public function objetivosPlan($plan_id) { if (strpos($_SERVER['REQUEST_URI'], "verbloqueados")) { $objetivos = \Ermtool\Objective::where('strategic_plan_id', $plan_id)->where('status', 1)->get(); } else { $objetivos = \Ermtool\Objective::where('strategic_plan_id', $plan_id)->where('status', 0)->get(); } //seleccionamos todos los datos del plan para mostrarlo $datos_plan = \Ermtool\Strategic_plan::find($plan_id); $nombre_organizacion = \Ermtool\Organization::name($datos_plan->organization_id); $i = 0; //para saber si hay objetivos $objectives = array(); //almacenará los objetivos con el formato correcto de sus atributos foreach ($objetivos as $objetivo) { //damos formato a fecha expiración if ($objetivo['expiration_date'] == NULL or $objetivo['expiration_date'] == "0000-00-00") { $fecha_exp = NULL; } else { $expiration_date = new DateTime($objetivo['expiration_date']); $fecha_exp = date_format($expiration_date, 'd-m-Y'); } //damos formato a fecha creación if ($objetivo['created_at'] != NULL) { $fecha_creacion = date_format($objetivo['created_at'], "d-m-Y"); } else { $fecha_creacion = NULL; } //damos formato a fecha de actualización if ($objetivo['updated_at'] != NULL) { $fecha_act = date_format($objetivo['updated_at'], "d-m-Y"); } else { $fecha_act = NULL; } //damos formato a categoría de objetivo if ($objetivo['objective_category_id'] == NULL) { $categoria = NULL; } else { $categoria = \Ermtool\Objective_category::where('id', $objetivo['objective_category_id'])->value('name'); } if ($objetivo['perspective'] == NULL) { $perspective = NULL; } else { $perspective = $objetivo['perspective']; } $objectives[$i] = array('id' => $objetivo['id'], 'nombre' => $objetivo['name'], 'descripcion' => $objetivo['description'], 'fecha_creacion' => $fecha_creacion, 'fecha_act' => $fecha_act, 'fecha_exp' => $fecha_exp, 'categoria' => $categoria, 'estado' => $objetivo['status'], 'perspective' => $perspective); $i += 1; } if (Session::get('languaje') == 'en') { return view('en.datos_maestros.objetivos.index', ['objetivos' => $objectives, 'nombre_organizacion' => $nombre_organizacion, 'datos_plan' => $datos_plan, 'probador' => $i, 'strategic_plan_id' => $plan_id]); } else { return view('datos_maestros.objetivos.index', ['objetivos' => $objectives, 'nombre_organizacion' => $nombre_organizacion, 'datos_plan' => $datos_plan, 'probador' => $i, 'strategic_plan_id' => $plan_id]); } }
public function generarMatriz($value, $org) { if (Auth::guest()) { return view('login'); } else { $i = 0; //contador de controles/subprocesos o controles/objetivos $datos = array(); if (!strstr($_SERVER["REQUEST_URI"], 'genexcel')) { $value = $_GET['kind']; $org = $_GET['organization_id']; } //obtenemos controles $controls = DB::table('controls')->select('controls.*')->get(); foreach ($controls as $control) { $risk_obj = NULL; $risk_sub = NULL; // -- seteamos datos --// if (Session::get('languaje') == 'en') { if ($control->type === NULL) { $type = "Not defined"; } else { //Seteamos type. 0=Manual, 1=Semi-automático, 2=Automático switch ($control->type) { case 0: $type = "Manual"; break; case 1: $type = "Semi-automatic"; break; case 2: $type = "Automatic"; } } if ($control->periodicity === NULL) { $periodicity = "Not defined"; } else { //Seteamos periodicity. 0=Diario, 1=Semanal, 2=Mensual, 3=Semestral, 4=Anual switch ($control->periodicity) { case 0: $periodicity = "Daily"; break; case 1: $periodicity = "Weekly"; break; case 2: $periodicity = "Monthly"; break; case 3: $periodicity = "Biannual"; break; case 4: $periodicity = "Annual"; break; case 5: $periodicity = "Each time it occurs"; break; } } if ($control->purpose === NULL) { $purpose = "Not defined"; } else { //Seteamos purpose. 0=Preventivo, 1=Detectivo, 2=Correctivo switch ($control->purpose) { case 0: $purpose = "Preventive"; case 1: $purpose = "Detective"; case 2: $purpose = "Corrective"; } } if ($control->expected_cost === NULL) { $expected_cost = "Not defined"; } else { $expected_cost = $control->expected_cost; } if ($control->evidence === NULL || $control->evidence == "") { $evidence = "Without evidence"; } else { $evidence = $control->evidence; } //Seteamos responsable del control $stakeholder = \Ermtool\Stakeholder::find($control->stakeholder_id); if ($stakeholder) { $stakeholder2 = $stakeholder['name'] . ' ' . $stakeholder['surnames']; } else { $stakeholder2 = "Not assigned"; } } else { if ($control->type === NULL) { $type = "No definido"; } else { //Seteamos type. 0=Manual, 1=Semi-automático, 2=Automático switch ($control->type) { case 0: $type = "Manual"; break; case 1: $type = "Semi-automático"; break; case 2: $type = "Automático"; } } if ($control->periodicity === NULL) { $periodicity = "No definido"; } else { //Seteamos periodicity. 0=Diario, 1=Semanal, 2=Mensual, 3=Semestral, 4=Anual switch ($control->periodicity) { case 0: $periodicity = "Diario"; break; case 1: $periodicity = "Semanal"; break; case 2: $periodicity = "Mensual"; break; case 3: $periodicity = "Semestral"; break; case 4: $periodicity = "Anual"; break; case 5: $periodicity = "Cada vez que ocurra"; break; } } if ($control->purpose === NULL) { $purpose = "No definido"; } else { //Seteamos purpose. 0=Preventivo, 1=Detectivo, 2=Correctivo switch ($control->purpose) { case 0: $purpose = "Preventivo"; case 1: $purpose = "Detectivo"; case 2: $purpose = "Correctivo"; } } if ($control->expected_cost === NULL) { $expected_cost = "No definido"; } else { $expected_cost = $control->expected_cost; } if ($control->evidence === NULL || $control->evidence == "") { $evidence = "Sin evidencia"; } else { $evidence = $control->evidence; } //Seteamos responsable del control $stakeholder = \Ermtool\Stakeholder::find($control->stakeholder_id); if ($stakeholder) { $stakeholder2 = $stakeholder['name'] . ' ' . $stakeholder['surnames']; } else { $stakeholder2 = "No asignado"; } } /* IMPORTANTE!!! Los nombres de las variables serán guardados en español para mostrarlos en el archivo excel que será exportado */ //obtenemos riesgo - objetivo - organización o riesgo - subproceso - organización para cada control if ($value == 0) { $risk_subprocess = DB::table('control_risk_subprocess')->join('controls', 'controls.id', '=', 'control_risk_subprocess.control_id')->join('risk_subprocess', 'risk_subprocess.id', '=', 'control_risk_subprocess.risk_subprocess_id')->join('subprocesses', 'subprocesses.id', '=', 'risk_subprocess.subprocess_id')->join('risks', 'risks.id', '=', 'risk_subprocess.risk_id')->join('organization_subprocess', 'organization_subprocess.subprocess_id', '=', 'subprocesses.id')->join('organizations', 'organizations.id', '=', 'organization_subprocess.organization_id')->where('controls.id', '=', $control->id)->where('organizations.id', '=', $org)->select('subprocesses.name as subprocess_name', 'risks.name as risk_name')->get(); if ($risk_subprocess != NULL) { $last = end($risk_subprocess); //seteamos cada riesgo, subproceso y organización foreach ($risk_subprocess as $sub_risk) { if ($sub_risk != $last) { if (!strstr($_SERVER["REQUEST_URI"], 'genexcel')) { $risk_sub .= $sub_risk->risk_name . ' / ' . $sub_risk->subprocess_name . ', '; } else { $risk_sub .= $sub_risk->risk_name . ' / ' . $sub_risk->subprocess_name . ', '; } } else { $risk_sub .= $sub_risk->risk_name . ' / ' . $sub_risk->subprocess_name; } } if (Session::get('languaje') == 'en') { $datos[$i] = ['Control' => $control->name, 'Description' => $control->description, 'Responsable' => $stakeholder2, 'Kind' => $type, 'Periodicity' => $periodicity, 'Purpose' => $purpose, 'Expected_cost' => $expected_cost, 'Evidence' => $evidence, 'Risk_Subprocess' => $risk_sub]; } else { $datos[$i] = ['Control' => $control->name, 'Descripción' => $control->description, 'Responsable' => $stakeholder2, 'Tipo' => $type, 'Periodicidad' => $periodicity, 'Propósito' => $purpose, 'Costo_control' => $expected_cost, 'Evidencia' => $evidence, 'Riesgo_Subproceso' => $risk_sub]; } $i += 1; } } else { if ($value == 1) { //obtenemos riesgos, objetivos y organización $objective_risk = DB::table('control_objective_risk')->join('controls', 'controls.id', '=', 'control_objective_risk.control_id')->join('objective_risk', 'objective_risk.id', '=', 'control_objective_risk.objective_risk_id')->join('objectives', 'objectives.id', '=', 'objective_risk.objective_id')->join('risks', 'risks.id', '=', 'objective_risk.risk_id')->join('organizations', 'organizations.id', '=', 'objectives.organization_id')->where('controls.id', '=', $control->id)->where('organizations.id', '=', $org)->select('objectives.name as objective_name', 'risks.name as risk_name')->get(); if ($objective_risk != NULL) { $last = end($objective_risk); //seteamos cada riesgo, objetivo y organización foreach ($objective_risk as $obj_risk) { if ($obj_risk != $last) { if (!strstr($_SERVER["REQUEST_URI"], 'genexcel')) { $risk_obj .= $obj_risk->risk_name . ' / ' . $obj_risk->objective_name . ', '; } else { $risk_obj .= $obj_risk->risk_name . ' / ' . $obj_risk->objective_name . ', '; } } else { $risk_obj .= $obj_risk->risk_name . ' / ' . $obj_risk->objective_name; } } if (Session::get('languaje') == 'en') { $datos[$i] = ['Control' => $control->name, 'Description' => $control->description, 'Responsable' => $stakeholder2, 'Kind' => $type, 'Periodicity' => $periodicity, 'Purpose' => $purpose, 'Expected_cost' => $expected_cost, 'Evidence' => $evidence, 'Risk_Objective' => $risk_obj]; } else { $datos[$i] = ['Control' => $control->name, 'Descripción' => $control->description, 'Responsable' => $stakeholder2, 'Tipo' => $type, 'Periodicidad' => $periodicity, 'Propósito' => $purpose, 'Costo_control' => $expected_cost, 'Evidencia' => $evidence, 'Riesgo_Objetivo' => $risk_obj]; } $i += 1; } } } } if (strstr($_SERVER["REQUEST_URI"], 'genexcel')) { return $datos; } else { $organizations = \Ermtool\Organization::where('status', 0)->lists('name', 'id'); if (Session::get('languaje') == 'en') { return view('en.reportes.matrices', ['datos' => $datos, 'value' => $value, 'organizations' => $organizations, 'org_selected' => $org]); } else { return view('reportes.matrices', ['datos' => $datos, 'value' => $value, 'organizations' => $organizations, 'org_selected' => $org]); } } } }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function kpiEdit($id) { if (Auth::guest()) { return view('login'); } else { $obj_selected = array(); $kpi = \Ermtool\kpi::find($id); //obtenemos todos los objetivos de la organización $objectives = \Ermtool\Objective::where('organization_id', '=', $_GET['org_id'])->where('status', 0)->lists('name', 'id'); $org_selected = \Ermtool\Organization::name($_GET['org_id']); $stakeholders = \Ermtool\Stakeholder::where('status', 0)->select('id', DB::raw('CONCAT(name, " ", surnames) AS full_name'))->orderBy('name')->lists('full_name', 'id'); //obtenemos los objetivos relacionados al kpi $objs = DB::table('kpi_objective')->where('kpi_id', '=', $kpi->id)->select('objective_id')->get(); $i = 0; foreach ($objs as $obj) { $obj_selected[$i] = $obj->objective_id; $i += 1; } if (Session::get('languaje') == 'en') { return view('en.gestion_estrategica.editkpi', ['objectives' => $objectives, 'org_selected' => $org_selected, 'org_id' => $_GET['org_id'], 'stakeholders' => $stakeholders, 'obj_selected' => $obj_selected, 'kpi' => $kpi]); } else { return view('gestion_estrategica.editkpi', ['objectives' => $objectives, 'org_selected' => $org_selected, 'org_id' => $_GET['org_id'], 'stakeholders' => $stakeholders, 'obj_selected' => $obj_selected, 'kpi' => $kpi]); } } }
public function generarMatriz($value, $org) { if (Auth::guest()) { return view('login'); } else { $organizations = \Ermtool\Organization::where('status', 0)->lists('name', 'id'); if (!strstr($_SERVER["REQUEST_URI"], 'genexcel')) { $value = $_GET['kind']; $org = $_GET['organization_id']; } $i = 0; //contador de controles/subprocesos o controles/objetivos $datos = array(); if (Session::get('languaje') == 'en') { $proba_string = ['Very low', 'Low', 'Medium', 'High', 'Very high']; $impact_string = ['Very low', 'Low', 'Medium', 'High', 'Very high']; } else { $proba_string = ['Muy poco probable', 'Poco probable', 'Intermedio', 'Probable', 'Muy probable']; $impact_string = ['Muy poco impacto', 'Poco impacto', 'Intermedio', 'Alto impacto', 'Muy alto impacto']; } if ($value == 0) { //---------- OBS: EXISTE PROBLEMA SI ES QUE EL RIESGO NO CONTIENE CAUSA Y EFECTO --------// $risks = DB::table('risk_subprocess')->join('subprocesses', 'subprocesses.id', '=', 'risk_subprocess.subprocess_id')->join('organization_subprocess', 'organization_subprocess.subprocess_id', '=', 'subprocesses.id')->join('processes', 'subprocesses.process_id', '=', 'processes.id')->join('risks', 'risks.id', '=', 'risk_subprocess.risk_id')->join('risk_categories', 'risk_categories.id', '=', 'risks.risk_category_id')->where('risks.type2', '=', 1)->where('organization_subprocess.organization_id', '=', $org)->select('risks.*', 'subprocesses.name as subprocess_name', 'processes.name as process_name', 'risk_categories.name as risk_category_name', 'risk_subprocess.id as risk_subprocess_id')->get(); } else { if ($value == 1) { $risks = DB::table('objective_risk')->join('objectives', 'objectives.id', '=', 'objective_risk.objective_id')->join('risks', 'risks.id', '=', 'objective_risk.risk_id')->join('risk_categories', 'risk_categories.id', '=', 'risks.risk_category_id')->join('organizations', 'organizations.id', '=', 'objectives.organization_id')->where('risks.type2', '=', 1)->where('objectives.organization_id', '=', $org)->select('risks.*', 'objectives.name as objective_name', 'organizations.name as organization_name', 'risk_categories.name as risk_category_name', 'objective_risk.id as objective_risk_id')->get(); } } foreach ($risks as $risk) { $controles = NULL; $causas = NULL; $efectos = NULL; if (Session::get('languaje') == 'en') { $probabilidad = "No evaluation"; $impacto = "No evaluation"; $score = "No evaluation"; } else { $probabilidad = "No tiene evaluación"; $impacto = "No tiene evaluación"; $score = "No tiene evaluación"; } // -- seteamos datos --// //seteamos causa y efecto //obtenemos causas $causes = DB::table('cause_risk')->join('causes', 'causes.id', '=', 'cause_risk.cause_id')->where('risk_id', '=', $risk->id)->select('causes.name')->get(); if ($causes) { $last = end($causes); //guardamos final para no agregarle coma foreach ($causes as $cause) { if ($cause != $last) { $causas .= $cause->name . ', '; } else { $causas .= $cause->name; } } } else { //se realizarán acá los textos (y no en la vista) para el caso en que se esté exportando a excel if (Session::get('languaje') == 'en') { $causas = "No defined cause"; } else { $causas = "No tiene causas definidas"; } } //obtenemos efectos $effects = DB::table('effect_risk')->join('effects', 'effects.id', '=', 'effect_risk.effect_id')->where('risk_id', '=', $risk->id)->select('effects.name')->get(); if ($effects) { $last = end($effects); //guardamos final para no agregarle coma foreach ($effects as $effect) { if ($effect != $last) { $efectos .= $effect->name . ', '; } else { $efectos .= $effect->name; } } } else { if (Session::get('languaje') == 'en') { $efectos = "No defined effects"; } else { $efectos = "No tiene efectos definidos"; } } if ($value == 0) { //primero obtenemos maxima fecha de evaluacion para el riesgo $fecha = DB::table('evaluation_risk')->join('evaluations', 'evaluations.id', '=', 'evaluation_risk.evaluation_id')->where('evaluation_risk.risk_subprocess_id', '=', $risk->risk_subprocess_id)->max('evaluations.updated_at'); //obtenemos proba, impacto y score $eval_risk = DB::table('evaluation_risk')->join('evaluations', 'evaluations.id', '=', 'evaluation_risk.evaluation_id')->where('evaluation_risk.risk_subprocess_id', '=', $risk->risk_subprocess_id)->where('evaluations.updated_at', '=', $fecha)->select('evaluation_risk.avg_probability', 'evaluation_risk.avg_impact')->get(); foreach ($eval_risk as $eval) { if ($eval->avg_probability != NULL and $eval->avg_impact != NULL) { $impacto = $eval->avg_impact . ' (' . $impact_string[$eval->avg_impact - 1] . ')'; $probabilidad = $eval->avg_probability . ' (' . $proba_string[$eval->avg_probability - 1] . ')'; $score = $impacto * $probabilidad; } } //obtenemos controles $controls = DB::table('controls')->join('control_risk_subprocess', 'control_risk_subprocess.control_id', '=', 'controls.id')->join('risk_subprocess', 'risk_subprocess.id', '=', 'control_risk_subprocess.risk_subprocess_id')->join('risks', 'risks.id', '=', 'risk_subprocess.risk_id')->where('risks.id', '=', $risk->id)->select('controls.name')->get(); } else { if ($value == 1) { //primero obtenemos maxima fecha de evaluacion para el riesgo $fecha = DB::table('evaluation_risk')->join('evaluations', 'evaluations.id', '=', 'evaluation_risk.evaluation_id')->where('evaluation_risk.objective_risk_id', '=', $risk->objective_risk_id)->max('evaluations.updated_at'); //obtenemos proba, impacto y score $eval_risk = DB::table('evaluation_risk')->join('evaluations', 'evaluations.id', '=', 'evaluation_risk.evaluation_id')->where('evaluation_risk.objective_risk_id', '=', $risk->objective_risk_id)->where('evaluations.updated_at', '=', $fecha)->select('evaluation_risk.avg_probability', 'evaluation_risk.avg_impact')->get(); foreach ($eval_risk as $eval) { $impacto = $eval->avg_impact; $probabilidad = $eval->avg_probability; $score = $impacto * $probabilidad; } //obtenemos controles $controls = DB::table('controls')->join('control_objective_risk', 'control_objective_risk.control_id', '=', 'controls.id')->join('objective_risk', 'objective_risk.id', '=', 'control_objective_risk.objective_risk_id')->join('risks', 'risks.id', '=', 'objective_risk.risk_id')->where('risks.id', '=', $risk->id)->select('controls.name')->get(); } } //seteamos controles if ($controls == NULL) { if (Session::get('languaje') == 'en') { $controles = "No controls specified"; } else { $controles = "No se han especificado controles"; } } else { $last = end($controls); //guardamos final para no agregarle coma foreach ($controls as $control) { if ($control != $last) { $controles .= $control->name . ', '; } else { $controles .= $control->name; } } } /* IMPORTANTE!!! Los nombres de las variables serán guardados en español para mostrarlos en el archivo excel que será exportado */ //damos formato a fecha de creación (se verifica si no es NULL en caso de algún error en la creación) if ($risk->created_at == NULL or $risk->created_at == "0000-00-00" or $risk->created_at == "") { if (Session::get('languaje') == 'en') { $fecha_creacion = "Failed to register creation date"; } else { $fecha_creacion = "Error al registrar fecha de creación"; } } else { //primero sacamos la hora $fecha_temp1 = explode(' ', $risk->created_at); //sacamos solo fecha y ordenamos $fecha_temp2 = explode('-', $fecha_temp1[0]); //ponemos fecha $fecha_creacion = $fecha_temp2[2] . '-' . $fecha_temp2[1] . '-' . $fecha_temp2[0] . ' a las ' . $fecha_temp1[1]; } //damos formato a fecha expiración if ($risk->expiration_date == NULL or $risk->expiration_date == "0000-00-00") { if (Session::get('languaje') == 'en') { $expiration_date = "None"; } else { $expiration_date = "Ninguna"; } } else { //sacamos solo fecha y ordenamos $fecha_temp1 = explode('-', $risk->expiration_date); $expiration_date = $fecha_temp1[2] . '-' . $fecha_temp1[1] . '-' . $fecha_temp1[0]; } if ($risk->expected_loss == 0 || $risk->expected_loss == NULL) { if (Session::get('languaje') == 'en') { $expected_loss = "Not assigned expected loss"; } else { $expected_loss = "No se ha asignado pérdida esperada"; } } else { $expected_loss = $risk->expected_loss; } //Seteamos datos if ($value == 0) { if (Session::get('languaje') == 'en') { $datos[$i] = ['Process' => $risk->process_name, 'Subprocess' => $risk->subprocess_name, 'Risk' => $risk->name, 'Description' => $risk->description, 'Category' => $risk->risk_category_name, 'Causes' => $causas, 'Effects' => $efectos, 'Expected_loss' => $expected_loss, 'Probability' => $probabilidad, 'Impact' => $impacto, 'Score' => $score, 'Identification_date' => $fecha_creacion, 'Expiration_date' => $expiration_date, 'Controls' => $controles]; } else { $datos[$i] = ['Proceso' => $risk->process_name, 'Subproceso' => $risk->subprocess_name, 'Riesgo' => $risk->name, 'Descripción' => $risk->description, 'Categoría' => $risk->risk_category_name, 'Causas' => $causas, 'Efectos' => $efectos, 'Pérdida_esperada' => $expected_loss, 'Probabilidad' => $probabilidad, 'Impacto' => $impacto, 'Score' => $score, 'Fecha_identificación' => $fecha_creacion, 'Fecha_expiración' => $expiration_date, 'Controles' => $controles]; } $i += 1; } else { if ($value == 1) { if (Session::get('languaje') == 'en') { $datos[$i] = ['Organization' => $risk->organization_name, 'Objective' => $risk->objective_name, 'Risk' => $risk->name, 'Description' => $risk->description, 'Category' => $risk->risk_category_name, 'Causes' => $causas, 'Effects' => $efectos, 'Expected_loss' => $risk->expected_loss, 'Probability' => $probabilidad, 'Impact' => $impacto, 'Score' => $score, 'Identification_date' => $fecha_creacion, 'Expiration_date' => $expiration_date, 'Controls' => $controles]; } else { $datos[$i] = ['Organización' => $risk->organization_name, 'Objetivo' => $risk->objective_name, 'Riesgo' => $risk->name, 'Descripción' => $risk->description, 'Categoría' => $risk->risk_category_name, 'Causas' => $causas, 'Efectos' => $efectos, 'Pérdida_esperada' => $risk->expected_loss, 'Probabilidad' => $probabilidad, 'Impacto' => $impacto, 'Score' => $score, 'Fecha_identificación' => $fecha_creacion, 'Fecha_expiración' => $expiration_date, 'Controles' => $controles]; } $i += 1; } } } if (strstr($_SERVER["REQUEST_URI"], 'genexcel')) { return $datos; } else { if (Session::get('languaje') == 'en') { return view('en.reportes.matriz_riesgos', ['datos' => $datos, 'value' => $value, 'organizations' => $organizations, 'org_selected' => $org]); } else { return view('reportes.matriz_riesgos', ['datos' => $datos, 'value' => $value, 'organizations' => $organizations, 'org_selected' => $org]); } //return json_encode($datos); } } }