From 905f667a1e055ca4f8f494e0e7ab275d0391149c Mon Sep 17 00:00:00 2001 From: Mihai Parparita Date: Sat, 22 Nov 2014 14:42:13 -0800 Subject: [PATCH] Add option to disable emails. --- app/retrogit.go | 21 ++++++++++++++------- app/templates/index.html | 23 ++++++++++++++++------- app/templates/settings.html | 2 ++ 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/app/retrogit.go b/app/retrogit.go index fafbedc..d162021 100644 --- a/app/retrogit.go +++ b/app/retrogit.go @@ -295,13 +295,17 @@ func sendDigestHandler(w http.ResponseWriter, r *http.Request) { return } - _, err = sendDigestForAccount(account, c) + sent, err := sendDigestForAccount(account, c) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } - session.AddFlash("Digest emailed!") + if sent { + session.AddFlash("Digest emailed!") + } else { + session.AddFlash("No digest was sent, it was empty or disabled.") + } session.Save(r, w) indexUrl, _ := router.Get("index").URL() http.Redirect(w, r, indexUrl.String(), http.StatusFound) @@ -355,6 +359,14 @@ func sendDigestForAccount(account *Account, c appengine.Context) (bool, error) { oauthTransport.Token = &account.OAuthToken githubClient := github.NewClient(oauthTransport.Client()) + emailAddress, err := account.GetDigestEmailAddress(githubClient) + if err != nil { + return false, err + } + if emailAddress == "disabled" { + return false, nil + } + digest, err := newDigest(c, githubClient, account) if err != nil { return false, err @@ -371,11 +383,6 @@ func sendDigestForAccount(account *Account, c appengine.Context) (bool, error) { return false, err } - emailAddress, err := account.GetDigestEmailAddress(githubClient) - if err != nil { - return false, err - } - digestMessage := &mail.Message{ Sender: "RetroGit ", To: []string{emailAddress}, diff --git a/app/templates/index.html b/app/templates/index.html index eaf4813..61ed5ff 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -10,24 +10,33 @@ You're signed in as {{template "user" .User}} (
). - You'll be getting a {{.SettingsSummary.Frequency}} digest of your past - GitHub activity in {{.SettingsSummary.RepositoryCount}} repositories sent to - {{.SettingsSummary.EmailAddress}} + {{if eq .SettingsSummary.EmailAddress "disabled"}} + You've disabled emails, but you can still view your digest for your + GitHub activity in {{.SettingsSummary.RepositoryCount}} repositories below + {{else}} + You'll be getting a {{.SettingsSummary.Frequency}} digest of your past + GitHub activity in {{.SettingsSummary.RepositoryCount}} repositories sent to + {{.SettingsSummary.EmailAddress}} + {{end}} (change settings). +{{if ne .SettingsSummary.EmailAddress "disabled"}}
If you just can't wait, you can get your digest now:
+{{end}}
- or -
- -
+ {{if ne .SettingsSummary.EmailAddress "disabled"}} + or +
+ +
+ {{end}}
{{if .DetectTimezone }} diff --git a/app/templates/settings.html b/app/templates/settings.html index a4ca2dd..a68ef4b 100644 --- a/app/templates/settings.html +++ b/app/templates/settings.html @@ -69,6 +69,8 @@ {{range .EmailAddresses}} {{end}} + +