user list listing
This commit is contained in:
@@ -23,7 +23,7 @@ type TemplateData struct {
|
||||
func (wc *WebController) newTemplateData(w http.ResponseWriter, r *http.Request) *TemplateData {
|
||||
var t = &TemplateData{
|
||||
Authenticated: false,
|
||||
Username: "Fornax",
|
||||
Username: "",
|
||||
APIEndpoint: template.URL(wc.conf.APIURLExternal),
|
||||
}
|
||||
|
||||
|
@@ -21,5 +21,63 @@ func (wc *WebController) serveLogout(
|
||||
}
|
||||
}
|
||||
|
||||
http.Redirect(w, r, "/", 302)
|
||||
http.Redirect(w, r, "/", http.StatusPermanentRedirect)
|
||||
}
|
||||
|
||||
func (wc *WebController) serveUserHome(
|
||||
w http.ResponseWriter,
|
||||
r *http.Request,
|
||||
p httprouter.Params,
|
||||
) {
|
||||
var key string
|
||||
var err error
|
||||
if key, err = wc.getAPIKey(r); err != nil {
|
||||
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
|
||||
return
|
||||
}
|
||||
|
||||
var api = pixelapi.New(wc.conf.APIURLInternal, key)
|
||||
files, aerr := api.UserFiles(0, 18)
|
||||
if aerr != nil {
|
||||
log.Error("Cannot get user files: %v", aerr)
|
||||
wc.serveNotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
templateData := wc.newTemplateData(w, r)
|
||||
templateData.Other = files
|
||||
|
||||
err = wc.templates.Get().ExecuteTemplate(w, "user_home", templateData)
|
||||
if err != nil {
|
||||
log.Error("Failed to execute template: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (wc *WebController) serveUserFiles(
|
||||
w http.ResponseWriter,
|
||||
r *http.Request,
|
||||
p httprouter.Params,
|
||||
) {
|
||||
var key string
|
||||
var err error
|
||||
if key, err = wc.getAPIKey(r); err != nil {
|
||||
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
|
||||
return
|
||||
}
|
||||
|
||||
var api = pixelapi.New(wc.conf.APIURLInternal, key)
|
||||
files, aerr := api.UserFiles(0, 1000)
|
||||
if aerr != nil {
|
||||
log.Error("Cannot get user files: %v", aerr)
|
||||
wc.serveNotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
templateData := wc.newTemplateData(w, r)
|
||||
templateData.Other = files
|
||||
|
||||
err = wc.templates.Get().ExecuteTemplate(w, "file_manager", templateData)
|
||||
if err != nil {
|
||||
log.Error("Failed to execute template: %s", err)
|
||||
}
|
||||
}
|
||||
|
@@ -50,8 +50,8 @@ func New(r *httprouter.Router, prefix string, conf *conf.PixelWebConfig) *WebCon
|
||||
r.GET(prefix+"/login" /* */, wc.serveTemplate("login"))
|
||||
r.GET(prefix+"/logout" /* */, wc.serveTemplate("logout"))
|
||||
r.POST(prefix+"/logout" /* */, wc.serveLogout)
|
||||
r.GET(prefix+"/user" /* */, wc.serveTemplate("user_home"))
|
||||
r.GET(prefix+"/files" /* */, wc.serveTemplate("file_manager"))
|
||||
r.GET(prefix+"/user" /* */, wc.serveUserHome)
|
||||
r.GET(prefix+"/files" /* */, wc.serveUserFiles)
|
||||
|
||||
r.NotFound = http.HandlerFunc(wc.serveNotFound)
|
||||
|
||||
|
Reference in New Issue
Block a user