From add588e634a3ddd798710e9f95fec271903db441 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Thu, 23 Jul 2020 18:56:25 -0400 Subject: [PATCH] feat(web/panettone): Disallow comments with an empty body Change-Id: Ic77a0caf419389e8460bf7e5688293f3a588caa4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1405 Tested-by: BuildkiteCI Reviewed-by: kanepyork --- web/panettone/src/panettone.lisp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/web/panettone/src/panettone.lisp b/web/panettone/src/panettone.lisp index 5c8afc2ca..87c7b0659 100644 --- a/web/panettone/src/panettone.lisp +++ b/web/panettone/src/panettone.lisp @@ -429,16 +429,20 @@ updated issue" ("/issues/:id/comments" :decorators (@auth) :method :post) (&path (id 'integer) &post body) - (handler-case - (progn - (cl-prevalence:execute-transaction - (add-comment *p-system* id - :body body - :author-dn (dn *user*))) - (cl-prevalence:snapshot *p-system*) - (hunchentoot:redirect (format nil "/issues/~A" id))) - (issue-not-found (_) - (render/not-found "Issue")))) + (flet ((redirect-to-issue () + (hunchentoot:redirect (format nil "/issues/~A" id)))) + (if (string= body "") + (redirect-to-issue) + (handler-case + (progn + (cl-prevalence:execute-transaction + (add-comment *p-system* id + :body body + :author-dn (dn *user*))) + (cl-prevalence:snapshot *p-system*) + (redirect-to-issue)) + (issue-not-found (_) + (render/not-found "Issue")))))) (defroute close-issue ("/issues/:id/close" :decorators (@auth)