feat(web/panettone): Log when users change issue statuses

Log in the database, in a way that will generalize to tracking edit
history as well, when users change the status of an issue. To facilitate
easily knowing who is currently authenticated (without introducing a
circular dependency) the authentication-relaated code has also been
factored out into its own package, which is nice because we want to
replace that sooner rather than later anyway.

Fixes: #13
Change-Id: I65a544fab660ed1c295ee8f6b293e0d4945a8203
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1496
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
Griffin Smith 2020-07-28 00:31:55 -04:00 committed by glittershark
parent 14a8142f76
commit 8e7ba41a34
7 changed files with 215 additions and 112 deletions

View file

@ -7,6 +7,16 @@
(:use :cl :lass)
(:export :styles))
(defpackage :panettone.authentication
(:nicknames :authn)
(:use :cl :panettone.util :klatre)
(:import-from :defclass-std :defclass/std)
(:import-from :alexandria :when-let)
(:export
:*user* :*ldap*
:user :cn :dn :mail :displayname
:connect-ldap :find-user :find-user-by-dn :authenticate-user))
(defpackage panettone.model
(:nicknames :model)
(:use :cl :panettone.util :klatre :postmodern)
@ -19,12 +29,14 @@
:id :subject :body :author-dn :issue-id :status :created-at
:get-issue :issue-exists-p :list-issues :create-issue :set-issue-status
:delete-issue
:delete-issue :issue-not-found
:issue-comments :num-comments :create-issue-comment))
(defpackage panettone
(:use :cl :panettone.util :klatre :easy-routes :iterate)
(:use :cl :klatre :easy-routes :iterate
:panettone.util
:panettone.authentication)
(:import-from :defclass-std :defclass/std)
(:import-from :alexandria :if-let :when-let)
(:import-from