/**
  * Delete specific comment
  *
  * @param void
  * @return null
  */
 function delete()
 {
     $redirect_to = active_project() instanceof Project ? active_project()->getOverviewUrl() : get_url('dashboard');
     $comment = Comments::findById(get_id());
     if (!$comment instanceof Comment) {
         flash_error(lang('comment dnx'));
         $this->redirectToUrl($redirect_to);
     }
     // if
     $object = $comment->getObject();
     if (!$object instanceof ProjectDataObject) {
         flash_error(lang('object dnx'));
         $this->redirectToUrl($redirect_to);
     }
     // if
     if (trim($object->getObjectUrl())) {
         $redirect_to = $object->getObjectUrl();
     }
     if (!$comment->canDelete(logged_user())) {
         flash_error(lang('no access permissions'));
         $this->redirectToUrl($redirect_to);
     }
     // if
     try {
         DB::beginWork();
         $comment->delete();
         ApplicationLogs::createLog($comment, active_project(), ApplicationLogs::ACTION_DELETE);
         $object->onDeleteComment($comment);
         DB::commit();
         flash_success(lang('success delete comment'));
     } catch (Exception $e) {
         DB::rollback();
         flash_error(lang('error delete comment'));
     }
     // try
     $this->redirectToUrl($redirect_to);
 }
 function view()
 {
     $comment = Comments::findById(get_id());
     if (!$comment instanceof Comment) {
         flash_error(lang('comment dnx'));
         ajx_current("empty");
         return;
     }
     if (!$comment->canView(logged_user())) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     $object = $comment->getRelObject();
     if (!$object instanceof ContentDataObject) {
         flash_error(lang('object dnx'));
         ajx_current("empty");
         return;
     }
     redirect_to($object->getViewUrl());
 }
 /**
  * Delete specific comment
  *
  * @param void
  * @return null
  */
 function delete()
 {
     $comment = Comments::findById(get_id());
     if (!$comment instanceof Comment) {
         flash_error(lang('comment dnx'));
         ajx_current("empty");
         return;
     }
     // if
     $object = $comment->getObject();
     if (!$object instanceof ProjectDataObject) {
         flash_error(lang('object dnx'));
         ajx_current("empty");
         return;
     }
     // if
     if (trim($object->getObjectUrl())) {
         $redirect_to = $object->getObjectUrl();
     }
     if (!$comment->canDelete(logged_user())) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     // if
     try {
         DB::beginWork();
         $comment->trash();
         ApplicationLogs::createLog($comment, $object->getWorkspaces(), ApplicationLogs::ACTION_TRASH);
         DB::commit();
         flash_success(lang('success delete comment'));
         ajx_current("reload");
     } catch (Exception $e) {
         DB::rollback();
         flash_error(lang('error delete comment'));
         ajx_current("empty");
     }
     // try
 }