Add Budget API route

This commit is contained in:
Jan Bader 2017-02-04 21:42:31 +01:00
parent 39bd56a30f
commit caa10ee560
3 changed files with 53 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import "git.javil.eu/jacob1123/budgeteer"
type TemplateData struct {
Token budgeteer.Token
Budget *budgeteer.Budget
budgetService budgeteer.ModelService
}

View File

@ -32,6 +32,7 @@ func (h *Handler) Serve() {
router.GET("/login", h.login)
router.GET("/register", h.register)
router.GET("/dashboard", h.dashboard)
router.GET("/budget/:budgetid", h.budget)
api := router.Group("/api/v1")
{
user := api.Group("/user")
@ -50,6 +51,29 @@ func (h *Handler) Serve() {
router.Run(":1323")
}
func (h *Handler) budget(c *gin.Context) {
token, err := h.verifyLogin(c)
if err != nil {
c.Redirect(http.StatusTemporaryRedirect, "/login")
return
}
budgetID := c.Param("budgetid")
budget, err := h.Service.Budget(budgetID)
if err != nil {
c.AbortWithError(http.StatusUnauthorized, err)
return
}
d := TemplateData{
Token: token,
Budget: budget,
budgetService: h.Service,
}
c.HTML(http.StatusOK, "budget", d)
}
func (h *Handler) newBudget(c *gin.Context) {
token, err := h.verifyLogin(c)
if err != nil {

28
templates/budget.html Normal file
View File

@ -0,0 +1,28 @@
{{define "budget"}}
<!DOCTYPE html>
<html>
<head>
<title>Budgets</title>
{{template "head"}}
</head>
<body>
<div class="container" id="head">
Budgeteer - {{.Token.GetName}}
</div>
<div class="container col-lg-12" id="content">
{{range .GetBudgets}}
<div class="budget-item">
<a href="budgets/{{.ID}}">{{.Name}}</a>
<span class="time"></span>
</div>
{{end}}
<div class="budget-item">
<a href="#newbudgetmodal" data-toggle="modal" data-target="#newbudgetmodal">New Budget</a>
<span class="time"></span>
</div>
</div>
{{template "budget-new"}}
</body>
</html>
{{end}}