Merge pull request #617 from statping/features-fixes-2

Features fixes 2
pull/623/head
Hunter Long 2020-06-01 19:27:52 -07:00 committed by GitHub
commit bb9eacc522
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 2 deletions

View File

@ -9,6 +9,7 @@ COPY --from=base /usr/local/bin/sass /usr/local/bin/
COPY --from=base /usr/local/share/ca-certificates /usr/local/share/
WORKDIR /app
VOLUME /app
ENV IS_DOCKER=true
ENV SASS=/usr/local/bin/sass

View File

@ -71,6 +71,22 @@
<input @keyup="canSubmit" v-model="setup.confirm_password" id="password_confirm" type="password" class="form-control" placeholder="password" required>
</div>
<div class="form-group">
<div class="row">
<div class="col-8">
<label>Email Address</label>
<input @keyup="canSubmit" v-model="setup.email" id="email" type="text" class="form-control" placeholder="myemail@domain.com">
</div>
<div class="col-4">
<label class="d-none d-sm-block">Newsletter</label>
<span @click="setup.newsletter = !!setup.newsletter" class="switch">
<input v-model="setup.newsletter" type="checkbox" name="using_cdn" class="switch" id="send_newsletter" :checked="setup.newsletter">
<label for="send_newsletter"></label>
</span>
</div>
</div>
<small>We will not share your email, emails are only for major updates.</small>
</div>
</div>
<div v-if="error" class="col-12 alert alert-danger">
@ -111,7 +127,9 @@
username: "",
password: "",
confirm_password: "",
sample_data: true
sample_data: true,
newsletter: true,
email: "",
}
}
},

View File

@ -9,6 +9,9 @@ import (
"github.com/statping/statping/types/services"
"github.com/statping/statping/utils"
"net/http"
"net/url"
"strconv"
"strings"
"time"
)
@ -29,6 +32,8 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
project := r.PostForm.Get("project")
description := r.PostForm.Get("description")
domain := r.PostForm.Get("domain")
newsletter := r.PostForm.Get("newsletter")
sendNews, _ := strconv.ParseBool(newsletter)
log.WithFields(utils.ToFields(core.App, confgs)).Debugln("new configs posted")
@ -96,6 +101,13 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
core.App = c
if sendNews {
log.Infof("Sending email address %s to newsletter server", confgs.Email)
if err := registerNews(confgs.Email, confgs.Domain); err != nil {
log.Errorln(err)
}
}
log.Infoln("Initializing new Statping instance")
if _, err := services.SelectAllServices(true); err != nil {
@ -110,7 +122,7 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
CacheStorage.Delete("/")
resetCookies()
time.Sleep(1 * time.Second)
time.Sleep(2 * time.Second)
out := struct {
Message string `json:"message"`
Config *configs.DbConfig `json:"config"`
@ -120,3 +132,16 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
}
returnJson(out, w, r)
}
func registerNews(email, domain string) error {
v := url.Values{}
v.Set("email", email)
v.Set("domain", domain)
v.Set("timezone", "UTC")
rb := strings.NewReader(v.Encode())
resp, err := http.Post("https://news.statping.com/new", "application/x-www-form-urlencoded", rb)
if err != nil {
return err
}
return resp.Body.Close()
}