This repository has been archived on 2025-03-01. You can view files and clone it, but cannot push or open issues or pull requests.
trantor/news.go
Las Zenow 5f612a36ad Simple news implementation
Is missing some proper design and to show up the news on the front page.
2013-07-17 01:08:44 +02:00

51 lines
976 B
Go

package main
import (
"net/http"
)
type newsData struct {
S Status
News []news
}
type news struct {
Date string
Text string
}
func newsHandler(w http.ResponseWriter, r *http.Request, sess *Session) {
var data newsData
data.S = GetStatus(w, r)
data.S.News = true
newsEntries, _ := db.GetNews(NUM_NEWS)
data.News = make([]news, len(newsEntries))
for i, n := range newsEntries {
data.News[i].Text = n.Text
data.News[i].Date = n.Date.Format("Jan 31, 2006")
}
loadTemplate(w, "news", data)
}
func editNewsHandler(w http.ResponseWriter, r *http.Request, sess *Session) {
if sess.User == "" {
notFound(w, r)
return
}
var data statusData
data.S = GetStatus(w, r)
data.S.News = true
loadTemplate(w, "edit_news", data)
}
func postNewsHandler(w http.ResponseWriter, r *http.Request, sess *Session) {
if sess.User == "" {
notFound(w, r)
return
}
text := r.FormValue("text")
db.AddNews(text)
http.Redirect(w, r, "/news/", http.StatusFound)
}