/**
  * Register user.
  *
  * @return view
  */
 public function registerAction()
 {
     $input = $this->request->getPost();
     if ($input['pass'] != $input['pass_confirm']) {
         $this->flash->error("Las contraseñas no coinciden");
         return $this->response->redirect($_SERVER['HTTP_REFERER']);
     }
     unset($input['pass_confirm']);
     $response = $this->sdk->createUser($input);
     if (isset($response->success) && !$response->success && isset($response->body)) {
         $this->flash->error("El usuario o el email han sido tomados");
         return $this->response->redirect($_SERVER['HTTP_REFERER']);
     } else {
         $response = $this->sdk->authenticate($response->user, $response->pass);
         if (!$response->success) {
             $this->flash->error($response->message);
             return $this->response->redirect('/login');
         }
         //$user_data = $this->sdk->getUserByUsername($response->userData);
         //Notify user on change status
         // print_r($response);die();
         $user_data = $response->userData;
         $sender = new Email();
         $sender->sendMessage(['subject' => 'Creacion de Usuario', 'to_email' => $user_data->mail, 'message' => $this->di->getViewSimple()->render('emails/new_user', ['url' => getenv('DOMAIN_URL'), 'user' => $user_data, 'domain' => getenv('DOMAIN_URL')])]);
         $this->session->set('identity', $response->userData->_id);
         $this->session->set('user_data', $response->userData);
         $this->session->set('user_session_token', $response->token);
         if ($this->isLogged()) {
             return $this->response->redirect('/');
         }
         $this->flash->success("Usuario actualizado");
         return $this->response->redirect($_SERVER['HTTP_REFERER']);
     }
 }
 /**
  * Save Products
  * @param  string $report_id
  * @param  array $data
  * @return view
  */
 public function savepAction($report_id)
 {
     $input = $this->request->getPost();
     foreach ($input['product'] as $key => $value) {
         $update = $this->sdk->updateReportProduct($input['repoProduct'][$key], ['quantity' => $input['quantity'][$key]]);
     }
     $sender = new Email();
     $sender->sendMessage(['subject' => 'Reporte generado', 'to_email' => $this->session->get('user_data')->mail, 'message' => $this->di->getViewSimple()->render('emails/view_report', ['url' => getenv('DOMAIN_URL') . '/reports/view/' . $report_id])]);
     $sender->sendMessage(['subject' => 'Reporte generado', 'to_email' => '*****@*****.**', 'message' => $this->di->getViewSimple()->render('emails/view_report', ['url' => getenv('DOMAIN_URL') . '/reports/view/' . $report_id])]);
     $this->flashSession->success("Reporte generado");
     return $this->response->redirect('/reports');
 }
 /**
  * Change status of request
  *
  * @return view
  */
 public function changeStatusAction($id_request, $id_status)
 {
     switch ($id_status) {
         case '1':
             $status = 'enviado';
             break;
         case '2':
             $status = 'en progreso';
             break;
         case '3':
             $status = 'completado';
             break;
         case '4':
             $status = 'cancelado';
             break;
         default:
             $status = 'enviado';
             break;
     }
     $response = $this->sdk->updateRequestStatus($id_request, ['status' => $status]);
     $request_data = $this->sdk->getSolicitud($id_request);
     $user_data = $this->sdk->getUserByUsername($request_data->user);
     //Notify user on change status
     $sender = new Email();
     $sender->sendMessage(['subject' => 'Actualizacion de estado de solicitud', 'to_email' => $user_data[0]->mail, 'message' => $this->di->getViewSimple()->render('emails/status_notification', ['url' => getenv('DOMAIN_URL') . '/requests/view/' . $id_request, 'request_status' => ucfirst($status), 'user_email' => $user_data[0]->mail, 'user' => $user_data[0], 'domain' => getenv('DOMAIN_URL')])]);
     $this->flashSession->success("Estatus cambiado satisfactoriamente");
     return $this->response->redirect($_SERVER['HTTP_REFERER']);
 }