diff --git a/assets/button.png b/assets/button.png new file mode 100644 index 0000000..c94631b Binary files /dev/null and b/assets/button.png differ diff --git a/config/cfg.go b/config/cfg.go index 59082f4..7048cc4 100644 --- a/config/cfg.go +++ b/config/cfg.go @@ -4,26 +4,28 @@ import "os" type ( Config struct { - DatabaseURL string - SessionKey string - Env string - CertFile string - KeyFile string - AssetsDir string - EmailUsername string - EmailPassword string - EmailHost string - EmailHostAddr string + DatabaseURL string + SessionKey string + Env string + CertFile string + KeyFile string + AssetsDir string + EmailUsername string + EmailPassword string + EmailHost string + EmailHostAddr string + ManualRegistration bool } ) func New() *Config { return &Config{ - DatabaseURL: os.Getenv("DATABASE_URL"), - SessionKey: os.Getenv("SESSION_KEY"), - Env: os.Getenv("ENV"), - CertFile: os.Getenv("CERT_FILE"), - KeyFile: os.Getenv("CERT_KEY_FILE"), - AssetsDir: os.Getenv("ASSETS_DIR"), + DatabaseURL: os.Getenv("DATABASE_URL"), + SessionKey: os.Getenv("SESSION_KEY"), + Env: os.Getenv("ENV"), + CertFile: os.Getenv("CERT_FILE"), + KeyFile: os.Getenv("CERT_KEY_FILE"), + AssetsDir: os.Getenv("ASSETS_DIR"), + ManualRegistration: len(os.Getenv("MANUAL_REGISTRATION")) > 0, } } diff --git a/storage/user.go b/storage/user.go index e1b29f2..ad45da0 100644 --- a/storage/user.go +++ b/storage/user.go @@ -41,12 +41,12 @@ func (s *Storage) CreateUser(user model.User) error { if err != nil { return err } - insertUser := `INSERT INTO users (name, hash, email, signup_email, signup_msg) VALUES (lower($1), $2, $3, $4, $5)` + insertUser := `INSERT INTO users (name, hash, email, signup_email, signup_msg, active) VALUES (lower($1), $2, $3, $4, $5, $6)` statement, err := s.db.Prepare(insertUser) if err != nil { return err } - _, err = statement.Exec(user.Name, hash, user.Email, user.SignupEmail, user.SignupMsg) + _, err = statement.Exec(user.Name, hash, user.Email, user.SignupEmail, user.SignupMsg, user.Active) return err } diff --git a/web/handler/form/register.go b/web/handler/form/register.go index 82e7d94..507bbb4 100644 --- a/web/handler/form/register.go +++ b/web/handler/form/register.go @@ -24,6 +24,9 @@ func (f *RegisterForm) Validate() error { if len(f.Username) < 3 { return errors.New("username needs to be at least 3 characters") } + if len(f.Username) > 20 { + return errors.New("username should be 20 characters or less") + } match, _ := regexp.MatchString("^[a-z0-9-_]+$", f.Username) if !match { return errors.New("only lowercase letters and digits are accepted for username") diff --git a/web/handler/handler.go b/web/handler/handler.go index 6eaf24e..8726542 100644 --- a/web/handler/handler.go +++ b/web/handler/handler.go @@ -82,8 +82,8 @@ func New(cfg *config.Config, sess *session.Session, data *storage.Storage) (http router.HandleFunc("/users/{user}/status", h.showUserStatusView).Methods(http.MethodGet) router.HandleFunc("/users/{user}/status.json", h.showUserStatusJSONView).Methods(http.MethodGet) - router.HandleFunc("/users/{user}/status.png", h.showUserStatusImageView).Methods(http.MethodGet) - router.HandleFunc("/users/{user}/badge.png", h.showUserStatusBadgeView).Methods(http.MethodGet) + //router.HandleFunc("/users/{user}/status.png", h.showUserStatusImageViewEmoji).Methods(http.MethodGet) + //router.HandleFunc("/users/{user}/badge.png", h.showUserStatusBadgeView).Methods(http.MethodGet) router.PathPrefix("/assets/").Handler( http.StripPrefix("/assets/", http.FileServer( diff --git a/web/handler/html.go b/web/handler/html.go index d7f80da..303d524 100644 --- a/web/handler/html.go +++ b/web/handler/html.go @@ -165,6 +165,7 @@ var TplMap = map[string]string{
status.cafe is a place to share your current status.
{{ end }} +
Registrations are manually approved to prevent spam and keep this little cafe a cool place to hang out.
-You should receive a confirmation within a few hours at the email you have provided. Make sure to enter a valid address!
-{{ .form.Error }}
+ {{ end }} + {{ end }}`, "register-success": `{{ define "content" }} diff --git a/web/handler/html/index.html b/web/handler/html/index.html index 2a4405e..402a4eb 100644 --- a/web/handler/html/index.html +++ b/web/handler/html/index.html @@ -17,6 +17,7 @@status.cafe is a place to share your current status.
{{ end }} +
Registrations are manually approved to prevent spam and keep this little cafe a cool place to hang out.
-You should receive a confirmation within a few hours at the email you have provided. Make sure to enter a valid address!
-{{ .form.Error }}
+ {{ end }} +{{ .form.Error }}
- {{ end }} -