public function delete($id = 0) { $proyecto = proyecto::find($id); $proyecto->estado = 0; return $proyecto->save(); }
public static function Save($params) { $idproyecto = self::getInput($params, 'proyecto'); $titulo = self::getInput($params, 'titulo'); $asignado = self::getInput($params, 'asignado'); $descripcion = self::getInput($params, 'descripcion'); $id = self::getInput($params, 'id'); $tipoitem = self::getInput($params, 'tipoitem'); $estado = self::getInput($params, 'estado'); $asignado = self::getInput($params, 'asignado'); $prioridad = self::getInput($params, 'prioridad'); $comentario = self::getInput($params, 'comentario'); $ticketUpdate = true; $newticket = true; $sendMail = false; $dataLog = []; $item = new Item(); $dataLog['accion'] = 'Ticket creado'; if ($id !== false) { $newticket = false; $ticketUpdate = false; $item = self::getById($id); $dataLog['accion'] = 'Nuevo Comentario'; $dataLog['Detalles:'][''] = ''; } else { $item->fechacreacion = Date('Y-m-d H:i:s'); } if (false !== $idproyecto) { $item->idProyecto = $idproyecto; $ticketUpdate = true; $dataLog['ticket']['Proyecto'] = Proyecto::find($idproyecto)->nomProyecto; } if (false !== $titulo) { $item->tituloItem = $titulo; $ticketUpdate = true; $dataLog['ticket']['Titulo'] = $titulo; } if (false !== $asignado) { $item->responsable = $asignado; $ticketUpdate = true; $usuarioAsignado = UsuarioRolEquipo::with('usuario')->find($asignado)->usuario; $dataLog['ticket']['Asignado a'] = $usuarioAsignado->nombreCompleto; $sendMail = true; } if (false !== $descripcion) { $item->descItem = $descripcion; $ticketUpdate = true; $dataLog['ticket']['Descripcion'] = $descripcion; } if (false !== $tipoitem) { $item->idTipoItem = $tipoitem; $ticketUpdate = true; $dataLog['ticket']['Tipo Item'] = TipoItem::find($tipoitem)->descripcion; } if (false !== $estado) { $item->estadoActual = $estado; $ticketUpdate = true; $dataLog['ticket']['Estado'] = Estado::find($estado)->nombreEstado; } /*if (false !== $asignado) { $item -> responsable = $asignado; $ticketUpdate = true; $dataLog['ticket']['Asignado a'] = UsuarioRolEquipo::with('usuario')->find($asignado)->usuario->nombreCompleto; }*/ if (false !== $prioridad) { $item->prioridad = $prioridad; $ticketUpdate = true; $dataLog['ticket']['prioridad'] = $prioridad; } if (true === $ticketUpdate && false === $newticket) { $dataLog['accion'] = 'Ticket actualizado'; } if ($item->save()) { if (false !== $comentario && false === empty($comentario)) { $comment = new Comentario(); $comment->idItem = $item->idItem; $comment->idUsuario = App::getInstance()->user->id(); $comment->fechahora = date('Y-m-d H:i:s', time()); $comment->comentario = $comentario; $item->comentarios()->save($comment); $dataLog['comentario'] = $comentario; } $transicion = new TransicionItem(); $transicion->idItem = $item->idItem; $transicion->idUsuario = App::getInstance()->user->id(); $transicion->fechahora = date('Y-m-d H:i:s', time()); $transicion->data = json_encode($dataLog, JSON_FORCE_OBJECT); $item->transiciones()->save($transicion); if (true === $sendMail) { try { global $app; $urlTicket = $app->path('item_detail', ['id' => $item->idItem], true); $subject = 'Te han asignado un ticket. #' . $item->idItem; $from = 'MasterTicket <*****@*****.**>'; $to = $usuarioAsignado->nombreCompleto . '<' . $usuarioAsignado->email . '>'; $message = 'Puedes ver el detalle del ticket en el siguiente enlace <a href="' . $urlTicket . '">' . $urlTicket . '</a>'; $mail = new MailController(); $mail->sendMessage($from, $to, $subject, $message); } catch (Exception $e) { } } } return $item; }