summaryrefslogtreecommitdiff
path: root/app/controllers/app.go
blob: 2b8945cb5487bba0380e5e4ff9b2139488f9ecc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package controllers

import (
	_ "github.com/jinzhu/gorm"
	_ "github.com/mattn/go-sqlite3"
	"github.com/revel/revel"
)

type App struct {
	//*revel.Controller
	GormController
}

func (c App) Index() revel.Result {
	return c.Render()
}

func (c App) DoRegister(name, email, confirmEmail, password, confirmPassword string) revel.Result {
	c.Validation.Required(name).Message("Please provide a user  name.")
	c.Validation.Required(email).Message("Please provide a mail adress.")
	c.Validation.Required(email == confirmEmail).Message("Mail adresses do not match.")
	c.Validation.Required(password).Message("Please provide a password.")
	c.Validation.Required(password == confirmPassword).Message("Passwords do not match.")

	if c.Validation.HasErrors() {
		c.Validation.Keep()
		c.FlashParams()
		return c.Redirect(App.Register)
	}

	hash := HashPassword(password)
	revel.INFO.Printf("%s \n", hash)
	user := User{Name: name, Email: email, Password: hash}

	//c.Validation.Required(c.Db.NewRecord(user)).Message("User name already used.")
	/*
		if !c.Db.NewRecord(user) {
			revel.ERROR.Println("User name already in use.")
		}
	*/

	revel.INFO.Printf("%s", c.Gdb)
	c.Gdb.Debug().NewRecord(user)
	c.Gdb.Debug().Save(&user)
	//c.Db.Debug().NewRecord(user)
	//c.Db.Debug().Save(&user)
	//c.Db.Create(&user)

	/*
		if c.Validation.HasErrors() {
			c.Validation.Keep()
			c.FlashParams()
			return c.Redirect(App.Register)
		}
	*/

	//return c.Render()
	return c.Redirect(App.Register)
}

func (c App) Register() revel.Result {
	return c.Render()
}