diff --git a/controllers/posts.coffee b/controllers/posts.coffee index a2e336f..1a0948a 100644 --- a/controllers/posts.coffee +++ b/controllers/posts.coffee @@ -38,5 +38,8 @@ class Post callback err else callback null, article + + remove: (id, rev) -> + @db.remove id, rev exports.posts = new Post() \ No newline at end of file diff --git a/main.coffee b/main.coffee index 6bff5aa..83d4753 100644 --- a/main.coffee +++ b/main.coffee @@ -133,6 +133,14 @@ app.post '/admin/settings', users.check, (req, res) -> delete require.cache[require.resolve('./config')] config = require('./config').config +app.get '/admin/delete/:id?', users.check, (req, res) -> + posts.findById req.params.id, (err, docs) -> + if err + renderError res, err + else + posts.remove docs._id, docs._rev + res.redirect '/admin' + app.get '/admin/edit/:id?', users.check, (req, res) -> posts.findById req.params.id, (err, docs) -> if err diff --git a/views/admin/posts.jade b/views/admin/posts.jade index 3cdcd1a..c148c52 100644 --- a/views/admin/posts.jade +++ b/views/admin/posts.jade @@ -10,7 +10,7 @@ form(method= 'post', action= '/admin/new', id= 'newtitle') span.status(class= article.status)= article.status .right a.edit(href= link)= 'Edit' - a.delete(href= 'admin/delete/' + article._id)= 'Delete' + a.delete(href= 'admin/delete/' + article._id, onClick= 'if (!confirm("Are you sure you want to delete this post?")) return false')= 'Delete' span.created= article.created_at + ' by ' + article.user - else .article= "Sorry, no posts found." \ No newline at end of file