Edit post works
This commit is contained in:
parent
e0575939c3
commit
11a50e973c
|
@ -53,6 +53,15 @@ func (news *News) Insert(db *sql.DB) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update updatable parts of news itemn in DB
|
||||||
|
func (news *News) Update(db *sql.DB) error {
|
||||||
|
_, err := db.Exec("UPDATE news SET title=$1, url=$2, category_id=$3, notes=$4 WHERE id=$5", news.Title, news.Url, news.Category_id, news.Notes, news.id)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Error updating news: ", err)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func Delete(db *sql.DB, id int) error {
|
func Delete(db *sql.DB, id int) error {
|
||||||
_, err := db.Exec("DELETE FROM news WHERE id = $1", id)
|
_, err := db.Exec("DELETE FROM news WHERE id = $1", id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -146,7 +146,7 @@ func addFormHandler(w http.ResponseWriter, r *http.Request, user *user.User, ses
|
||||||
|
|
||||||
popup := r.URL.Query().Get("popup")
|
popup := r.URL.Query().Get("popup")
|
||||||
|
|
||||||
ShowTemplate("post", w, map[string]interface{}{"user": user, "flashes": flashes, "link": url, "categories": categories.CategoriesTree, "title": title, "popup": popup})
|
ShowTemplate("post", w, map[string]interface{}{"mode": "add", "user": user, "flashes": flashes, "link": url, "categories": categories.CategoriesTree, "title": title, "popup": popup, "category_id": -1})
|
||||||
}
|
}
|
||||||
|
|
||||||
func addPostHandler(w http.ResponseWriter, r *http.Request, user *user.User, session *sessions.Session) {
|
func addPostHandler(w http.ResponseWriter, r *http.Request, user *user.User, session *sessions.Session) {
|
||||||
|
@ -160,7 +160,7 @@ func addPostHandler(w http.ResponseWriter, r *http.Request, user *user.User, ses
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var flashes = make(map[string]interface{})
|
var flashes = make(map[string]interface{})
|
||||||
flashes["error"] = []string{ "Category required: " +err.Error() }
|
flashes["error"] = []string{ "Category required: " +err.Error() }
|
||||||
ShowTemplate("post", w, map[string]interface{}{"user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": popup, "notes": news.Notes, "category_id": news.Category_id})
|
ShowTemplate("post", w, map[string]interface{}{"mode": "add", "user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": popup, "notes": news.Notes, "category_id": news.Category_id})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
news.Category_id = category_id
|
news.Category_id = category_id
|
||||||
|
@ -169,7 +169,7 @@ func addPostHandler(w http.ResponseWriter, r *http.Request, user *user.User, ses
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var flashes = make(map[string]interface{})
|
var flashes = make(map[string]interface{})
|
||||||
flashes["error"] = []string{ "Error saving news: "+err.Error() }
|
flashes["error"] = []string{ "Error saving news: "+err.Error() }
|
||||||
ShowTemplate("post", w, map[string]interface{}{"user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": popup, "notes": news.Notes, "category_id": news.Category_id})
|
ShowTemplate("post", w, map[string]interface{}{"mode": "add", "user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": popup, "notes": news.Notes, "category_id": news.Category_id})
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
session.AddFlash("Added news \""+news.Title+"\"", flash_info)
|
session.AddFlash("Added news \""+news.Title+"\"", flash_info)
|
||||||
|
@ -204,7 +204,7 @@ func editFormHandler(w http.ResponseWriter, r *http.Request, user *user.User, se
|
||||||
}
|
}
|
||||||
|
|
||||||
session.Save(r, w)
|
session.Save(r, w)
|
||||||
ShowTemplate("post", w, map[string]interface{}{"user": user, "flashes": flashes, "categories": categories.CategoriesTree, "link": newsItem.Url, "title": newsItem.Title, "notes": newsItem.Notes, "popup": false, "category_id": newsItem.Category_id, "id": newsItem.Id()})
|
ShowTemplate("post", w, map[string]interface{}{"mode": "edit", "user": user, "flashes": flashes, "categories": categories.CategoriesTree, "link": newsItem.Url, "title": newsItem.Title, "notes": newsItem.Notes, "popup": false, "category_id": newsItem.Category_id, "id": newsItem.Id()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -234,7 +234,7 @@ func editPostHandler(w http.ResponseWriter, r *http.Request, user *user.User, se
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var flashes = make(map[string]interface{})
|
var flashes = make(map[string]interface{})
|
||||||
flashes["error"] = []string{ "Category required: " +err.Error() }
|
flashes["error"] = []string{ "Category required: " +err.Error() }
|
||||||
ShowTemplate("post", w, map[string]interface{}{"user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": false, "notes": news.Notes, "category_id": news.Category_id})
|
ShowTemplate("post", w, map[string]interface{}{"mode": "edit", "user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": false, "notes": news.Notes, "category_id": news.Category_id, "id": news.Id()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
news.Category_id = category_id
|
news.Category_id = category_id
|
||||||
|
@ -243,7 +243,7 @@ func editPostHandler(w http.ResponseWriter, r *http.Request, user *user.User, se
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var flashes = make(map[string]interface{})
|
var flashes = make(map[string]interface{})
|
||||||
flashes["error"] = []string{ "Error saving news: "+err.Error() }
|
flashes["error"] = []string{ "Error saving news: "+err.Error() }
|
||||||
ShowTemplate("post", w, map[string]interface{}{"user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": false, "notes": news.Notes, "category_id": news.Category_id})
|
ShowTemplate("post", w, map[string]interface{}{"mode": "edit", "user": user, "flashes": flashes, "link": news.Url, "categories": categories.CategoriesTree, "title": news.Title, "popup": false, "notes": news.Notes, "category_id": news.Category_id, "id": news.Id()})
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
session.AddFlash("Updated news \""+news.Title+"\"", flash_info)
|
session.AddFlash("Updated news \""+news.Title+"\"", flash_info)
|
||||||
|
|
|
@ -2,37 +2,20 @@
|
||||||
<h2 class="list-heading">List</h2>
|
<h2 class="list-heading">List</h2>
|
||||||
{{template "flashes" .}}
|
{{template "flashes" .}}
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2">
|
|
||||||
<a class="btn btn-lg btn-primary btn-block" href="{{template "launch-add" .}}">Add to transmet</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4"></div>
|
|
||||||
<div class="col-xs-4"></div>
|
|
||||||
|
|
||||||
<div class="col-xs-2">
|
|
||||||
<button class="confirm-export btn btn-lg btn-primary btn-block" type="submit">Export</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-xs-6">
|
|
||||||
Drag this link to bookmark bar and click anywhere to add a link
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-6">
|
|
||||||
Click this to mark the current queue of news items as exported (clearing them)
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-xs-12"> </div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<textarea class="form-control" name="template" placeholder="Template" rows="16" cols="80">{{.template}}</textarea>
|
<textarea class="form-control" name="template" placeholder="Template" rows="16" cols="80">{{.template}}</textarea>
|
||||||
|
|
||||||
<div class="ros">
|
<div class="row">
|
||||||
<div class="col-xs-10"></div>
|
<div class="col-xs-2">
|
||||||
<div class="col-xs-2"><b>{{.count}}</b> news items</div>
|
<button class="confirm-export btn btn-lg btn-primary btn-block" type="submit">Export</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xs-6">
|
||||||
|
Click this to mark the current queue of news items as exported (clearing them)
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-2"></div>
|
||||||
|
<div class="col-xs-2"><b>{{.count}}</b> news items</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{define "launch-add"}}
|
|
||||||
javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='{{.url}}add',l=d.location,e=encodeURIComponent,u=f+'?popup=1&url='+e(l.href)+'&title='+e(d.title);a=function(){if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=720,height=410'))l.href=u;};if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); else a();void(0)
|
|
||||||
{{end}}
|
|
|
@ -1,6 +1,17 @@
|
||||||
{{define "body"}}
|
{{define "body"}}
|
||||||
<h2 class="news-heading">News</h2>
|
<h2 class="news-heading">News</h2>
|
||||||
{{template "flashes" .}}
|
{{template "flashes" .}}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2">
|
||||||
|
<a class="btn btn-lg btn-primary btn-block" href="{{template "launch-add" .}}">Add to transmet</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xs-6">
|
||||||
|
Drag this link to bookmark bar and click anywhere to add a link
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-4"></div>
|
||||||
|
<div class="col-xs-12"> </div>
|
||||||
|
</div>
|
||||||
<div class="news-posts">
|
<div class="news-posts">
|
||||||
{{range $news_post := .news}}
|
{{range $news_post := .news}}
|
||||||
{{template "row-news" dict "post" $news_post "categories" $.categories}}
|
{{template "row-news" dict "post" $news_post "categories" $.categories}}
|
||||||
|
@ -37,3 +48,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
|
<!-- JS for the launcher of the add bookmarklet -->
|
||||||
|
{{define "launch-add"}}
|
||||||
|
javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='{{.url}}add',l=d.location,e=encodeURIComponent,u=f+'?popup=1&url='+e(l.href)+'&title='+e(d.title);a=function(){if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=720,height=410'))l.href=u;};if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); else a();void(0)
|
||||||
|
{{end}}
|
|
@ -1,7 +1,7 @@
|
||||||
{{define "body"}}
|
{{define "body"}}
|
||||||
<h2 class="form-add-heading">Add Link</h2>
|
<h2 class="form-add-heading">{{if eq .mode "add"}}Add Link{{else}}Edit News{{end}}</h2>
|
||||||
{{template "flashes" .}}
|
{{template "flashes" .}}
|
||||||
<form class="form-add" action="/add" method="post" role="form" class="container col-form">
|
<form class="form-add" action="{{if eq "add" .mode}}/add{{else}}/edit{{end}}" method="post" role="form" class="container col-form">
|
||||||
<input type="hidden" name="popup" value="{{.popup}}" />
|
<input type="hidden" name="popup" value="{{.popup}}" />
|
||||||
<input type="hidden" name="id" value="{{.id}}" />
|
<input type="hidden" name="id" value="{{.id}}" />
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">Notes:</div><div class="col-xs-10"><textarea class="form-control" name="notes" placeholder="Notes" rows="5" cols="80">{{.notes}}</textarea></div>
|
<div class="col-xs-2">Notes:</div><div class="col-xs-10"><textarea class="form-control" name="notes" placeholder="Notes" rows="5" cols="80">{{.notes}}</textarea></div>
|
||||||
<div class="col-xs-2"></div><div class="col-xs-10"><input class="add-submit btn btn-lg btn-primary btn-block" type="submit" value="Add Link" /></div>
|
<div class="col-xs-2"></div><div class="col-xs-10"><input class="add-submit btn btn-lg btn-primary btn-block" type="submit" value="{{if eq .mode "add"}}Add Link{{else}}Commit Edit{{end}}" /></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
Loading…
Reference in New Issue