-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlfms_ctrl.go
115 lines (92 loc) · 2.33 KB
/
lfms_ctrl.go
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package main
import (
"github.com/c0gent/unframed/log"
"net/http"
//"github.com/c0gent/unframed"
)
func lfmsReg() {
lfmsTemplates()
lfmsRoutes()
lfmsStmts()
net.RegType(&lfm{})
}
func lfmsTemplates() {
net.TemplateFiles(
"tmpl/lfms.html.tmpl",
)
//log.Message("lfmsTemplates run")
}
func lfmsRoutes() {
sr := net.Subrouter("/lfms")
sr.Get("/list", home)
sr.Get("/form/{Id}", lfmsForm)
sr.Post("/save", lfmsSave)
sr.Get("/delete/{Id}", lfmsDelete)
}
/*
func lfmsPage(w http.ResponseWriter, r *http.Request) {
da := new(lfmsAdapter).list()
net.SetSession(r)
//log.Message(len(dataModel.Lfgs))
net.ExeTmpl(w, "lfmsPage", da)
}
func lfmsList(w http.ResponseWriter, r *http.Request) {
da := new(lfmsAdapter).list()
net.SetSession(r)
//log.Message(len(dataModel.Lfms))
if flashes := net.Session.Flashes(); len(flashes) > 0 {
// Just print the flash values.
log.Message(flashes)
} else {
net.Session.AddFlash("Hello, flash messages world!")
log.Message("No flashes found.")
}
net.Session.Save(r,w)
net.ExeTmpl(w, "lfmsList", da)
}
*/
func lfmsForm(w http.ResponseWriter, r *http.Request) {
da := new(lfmsAdapter)
id := 0
net.SetSession(r)
if val, ok := net.Session.Values["lfm_id"]; ok {
id = val.(int)
log.Message("Loading LFM, Id:", id)
}
if id == 0 {
_ = da.newLfm()
} else {
da.show(id)
}
net.ExeTmpl(w, "lfmsForm", da)
}
func lfmsSave(w http.ResponseWriter, r *http.Request) {
dm := new(lfm)
net.DecodeForm(dm, r)
lastId := new(lfmsAdapter).save(dm)
net.SetSession(r)
net.Session.Values["lfm_id"] = lastId
net.Session.AddFlash("new LFM Saved: ")
net.Session.AddFlash(net.Session.Values["lfm_id"].(int))
net.Session.Save(r, w)
http.Redirect(w, r, "/lfms/list", http.StatusFound)
}
func lfmsDelete(w http.ResponseWriter, r *http.Request) {
net.SetSession(r)
if val, ok := net.Session.Values["lfm_id"]; ok {
id := val.(int)
ss := new(lfmsAdapter)
ss.delete(id)
net.Session.AddFlash("LFM Listing Deleted: ")
net.Session.AddFlash(net.Session.Values["lfm_id"].(int))
} else {
net.Session.AddFlash("Could Not Delete LFM Listing: ")
net.Session.AddFlash(net.Session.Values["lfm_id"].(int))
}
net.Session.Values["lfm_id"] = 0
net.Session.Save(r, w)
http.Redirect(w, r, "/", http.StatusFound)
}
func GetLfmsList() *lfmsAdapter {
return new(lfmsAdapter).list()
}