mirror of
https://github.com/penpot/penpot.git
synced 2025-03-18 10:41:29 -05:00
🎉 Add better reply-to handling on feedback module.
This commit is contained in:
parent
fe114d2e66
commit
9fb8ba2ff1
4 changed files with 18 additions and 17 deletions
|
@ -1 +1 @@
|
|||
[PENPOT FEEDBACK]: {{subject|abbreviate:19}} (from {% if profile %}{{ profile.email }}{% else %}{{from}}{% endif %})
|
||||
[PENPOT FEEDBACK]: {{subject|abbreviate:19}} (from {{email}})
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
{% if profile %}
|
||||
Feedback from: {{profile.fullname}} <{{profile.email}}>
|
||||
Profile ID: {{profile.id}}
|
||||
Feedback profile: {{profile.fullname}} <{{profile.email}}> / {{profile.id}}
|
||||
{% else %}
|
||||
Feedback from: {{from}}
|
||||
Feedback from: {{email}}
|
||||
{% endif %}
|
||||
|
||||
Subject: {{subject}}
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
(s/def ::error-report-webhook ::us/string)
|
||||
(s/def ::feedback-destination ::us/string)
|
||||
(s/def ::feedback-enabled ::us/boolean)
|
||||
(s/def ::feedback-reply-to ::us/email)
|
||||
(s/def ::feedback-token ::us/string)
|
||||
(s/def ::github-client-id ::us/string)
|
||||
(s/def ::github-client-secret ::us/string)
|
||||
|
@ -163,6 +164,7 @@
|
|||
::error-report-webhook
|
||||
::feedback-destination
|
||||
::feedback-enabled
|
||||
::feedback-reply-to
|
||||
::feedback-token
|
||||
::github-client-id
|
||||
::github-client-secret
|
||||
|
|
|
@ -27,11 +27,8 @@
|
|||
|
||||
(defmethod ig/init-key ::handler
|
||||
[_ {:keys [pool] :as scfg}]
|
||||
(let [ftoken (cfg/get :feedback-token ::no-token)
|
||||
enabled (cfg/get :feedback-enabled)
|
||||
dest (cfg/get :feedback-destination)
|
||||
scfg (assoc scfg :destination dest)]
|
||||
|
||||
(let [ftoken (cfg/get :feedback-token ::no-token)
|
||||
enabled (cfg/get :feedback-enabled)]
|
||||
(fn [{:keys [profile-id] :as request}]
|
||||
(let [token (get-in request [:headers "x-feedback-token"])
|
||||
params (d/merge (:params request)
|
||||
|
@ -47,7 +44,7 @@
|
|||
(let [profile (profile/retrieve-profile-data pool profile-id)
|
||||
params (assoc params :from (:email profile))]
|
||||
(when-not (:is-muted profile)
|
||||
(send-feedback scfg profile params)))
|
||||
(send-feedback pool profile params)))
|
||||
|
||||
(= token ftoken)
|
||||
(send-feedback scfg nil params))
|
||||
|
@ -62,12 +59,15 @@
|
|||
(s/keys :req-un [::from ::subject ::content]))
|
||||
|
||||
(defn send-feedback
|
||||
[{:keys [pool destination]} profile params]
|
||||
(let [params (us/conform ::feedback params)]
|
||||
[pool profile params]
|
||||
(let [params (us/conform ::feedback params)
|
||||
destination (cfg/get :feedback-destination)
|
||||
reply-to (cfg/get :feedback-reply-to)]
|
||||
(emails/send! pool emails/feedback
|
||||
{:to destination
|
||||
:profile profile
|
||||
:from (:from params)
|
||||
:subject (:subject params)
|
||||
:content (:content params)})
|
||||
{:to destination
|
||||
:profile profile
|
||||
:reply-to (:from params)
|
||||
:email (:from params)
|
||||
:subject (:subject params)
|
||||
:content (:content params)})
|
||||
nil))
|
||||
|
|
Loading…
Add table
Reference in a new issue