added "delete all questions" button thing

This commit is contained in:
nilsding 2014-12-21 13:41:57 +01:00
parent 55f1680c18
commit 1ba34c59d0
4 changed files with 53 additions and 12 deletions

View File

@ -14,12 +14,36 @@
complete: (jqxhr, status) -> complete: (jqxhr, status) ->
btn.button "reset" btn.button "reset"
($ document).on "click", "button#ib-delete-all", ->
if confirm 'Are you sure?'
btn = ($ this)
btn.button "loading"
$.ajax
url: '/ajax/delete_all_inbox'
type: 'POST'
dataType: 'json'
success: (data, status, jqxhr) ->
if data.success
entries = ($ "div#entries")
entries.slideUp 400, ->
entries.html("Nothing to see here.")
entries.fadeIn()
btn.attr("disabled", "disabled")
error: (jqxhr, status, error) ->
console.log jqxhr, status, error
showNotification "An error occurred, a developer should check the console for details", false
complete: (jqxhr, status) ->
btn.button "reset"
$(document).on "keydown", "textarea[name=ib-answer]", (evt) -> $(document).on "keydown", "textarea[name=ib-answer]", (evt) ->
iid = $(this)[0].dataset.id iid = $(this)[0].dataset.id
if evt.keyCode == 13 and evt.ctrlKey if evt.keyCode == 13 and evt.ctrlKey
# trigger warning: # trigger warning:
$("button[name=ib-answer][data-ib-id=#{iid}]").trigger 'click' $("button[name=ib-answer][data-ib-id=#{iid}]").trigger 'click'
$(document).on "click", "button[name=ib-answer]", -> $(document).on "click", "button[name=ib-answer]", ->
btn = $(this) btn = $(this)
btn.button "loading" btn.button "loading"
@ -48,6 +72,7 @@ $(document).on "click", "button[name=ib-answer]", ->
btn.button "reset" btn.button "reset"
$("textarea[name=ib-answer][data-id=#{iid}]").removeAttr "readonly" $("textarea[name=ib-answer][data-id=#{iid}]").removeAttr "readonly"
$(document).on "click", "button[name=ib-destroy]", -> $(document).on "click", "button[name=ib-destroy]", ->
if confirm 'Are you sure?' if confirm 'Are you sure?'
btn = $(this) btn = $(this)

View File

@ -85,4 +85,20 @@ class Ajax::InboxController < ApplicationController
@message = "Successfully deleted question." @message = "Successfully deleted question."
@success = true @success = true
end end
def remove_all
begin
Inbox.where(user: current_user).each { |i| i.remove }
rescue
@status = :err
@message = "An error occurred"
@success = false
return
end
@status = :okay
@message = "Successfully deleted questions."
@success = true
render 'ajax/inbox/remove'
end
end end

View File

@ -6,21 +6,20 @@
%h3 Out of questions? %h3 Out of questions?
.panel-body .panel-body
%button.btn.btn-block.btn-info{type: :button, id: 'ib-generate-question'} Get new question %button.btn.btn-block.btn-info{type: :button, id: 'ib-generate-question'} Get new question
/ .panel.panel-default.warning--panel
.panel.panel-default.warning--panel .panel-heading
.panel-heading %h3 Actions
%h3 Actions .panel-body
.panel-body %button.btn.btn-block.btn-danger{type: :button, id: 'ib-delete-all'} Delete all questions
%button.btn.btn-block.btn-danger{type: :button, id: 'ib-delete-all'} Delete all questions
.col-md-9.col-xs-12.col-sm-9 .col-md-9.col-xs-12.col-sm-9
= render 'layouts/messages' = render 'layouts/messages'
#entries #entries
- @inbox.each do |i| - @inbox.each do |i|
= render 'inbox/entry', i: i = render 'inbox/entry', i: i
- if @inbox.empty? - if @inbox.empty?
Nothing to see here. Nothing to see here.
= render "shared/links" = render "shared/links"
- @inbox.update_all(new: false) - @inbox.update_all(new: false)

View File

@ -46,6 +46,7 @@ Rails.application.routes.draw do
match '/answer', to: 'inbox#destroy', via: :post, as: :answer match '/answer', to: 'inbox#destroy', via: :post, as: :answer
match '/generate_question', to: 'inbox#create', via: :post, as: :generate_question match '/generate_question', to: 'inbox#create', via: :post, as: :generate_question
match '/delete_inbox', to: 'inbox#remove', via: :post, as: :delete_inbox match '/delete_inbox', to: 'inbox#remove', via: :post, as: :delete_inbox
match '/delete_all_inbox', to: 'inbox#remove_all', via: :post, as: :delete_all_inbox
match '/destroy_answer', to: 'answer#destroy', via: :post, as: :destroy_answer match '/destroy_answer', to: 'answer#destroy', via: :post, as: :destroy_answer
match '/create_friend', to: 'friend#create', via: :post, as: :create_friend match '/create_friend', to: 'friend#create', via: :post, as: :create_friend
match '/destroy_friend', to: 'friend#destroy', via: :post, as: :destroy_friend match '/destroy_friend', to: 'friend#destroy', via: :post, as: :destroy_friend