Merge remote-tracking branch 'origin/inbox'

This commit is contained in:
nilsding 2014-12-21 15:33:03 +01:00
commit aa9bd028db
5 changed files with 78 additions and 13 deletions

View File

@ -14,12 +14,39 @@
complete: (jqxhr, status) ->
btn.button "reset"
($ document).on "click", "button#ib-delete-all", ->
if confirm 'Are you sure?'
btn = ($ this)
btn.button "loading"
succ = no
$.ajax
url: '/ajax/delete_all_inbox'
type: 'POST'
dataType: 'json'
success: (data, status, jqxhr) ->
if data.success
succ = yes
entries = ($ "div#entries")
entries.slideUp 400, ->
entries.html("Nothing to see here.")
entries.fadeIn()
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"
if succ
btn.attr "disabled", "disabled" # this doesn't really work like I wanted it to…
$(document).on "keydown", "textarea[name=ib-answer]", (evt) ->
iid = $(this)[0].dataset.id
if evt.keyCode == 13 and evt.ctrlKey
# trigger warning:
$("button[name=ib-answer][data-ib-id=#{iid}]").trigger 'click'
$(document).on "click", "button[name=ib-answer]", ->
btn = $(this)
btn.button "loading"
@ -48,6 +75,7 @@ $(document).on "click", "button[name=ib-answer]", ->
btn.button "reset"
$("textarea[name=ib-answer][data-id=#{iid}]").removeAttr "readonly"
$(document).on "click", "button[name=ib-destroy]", ->
if confirm 'Are you sure?'
btn = $(this)

View File

@ -44,4 +44,18 @@
.profile--panel .panel-body {
padding-top: 0px;
}
.inbox--panel .panel-heading {
color: $brand-info;
border-bottom: 2px solid $brand-info;
background-color: #fff;
text-transform: uppercase;
}
.warning--panel .panel-heading {
color: $brand-danger;
border-bottom: 2px solid $brand-danger;
background-color: #fff;
text-transform: uppercase;
}

View File

@ -85,4 +85,20 @@ class Ajax::InboxController < ApplicationController
@message = "Successfully deleted question."
@success = true
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

View File

@ -1,19 +1,25 @@
.container.j2-page
= render 'layouts/messages'
.alert.alert-info
.row
.col-md-9.col-sm-8.col-xs-12
Out of questions?
.col-md-3.col-sm-5.col-xs-12
%button.btn.btn-block.btn-info{type: :button, id: 'ib-generate-question'} Get new question
.row
.col-md-3.col-xs-12.col-sm-3
.panel.panel-default.inbox--panel
.panel-heading
%h3.panel-title Out of questions?
.panel-body
%button.btn.btn-block.btn-info{type: :button, id: 'ib-generate-question'} Get new question
.panel.panel-default.warning--panel
.panel-heading
%h3.panel-title Actions
.panel-body
%button.btn.btn-block.btn-danger{type: :button, id: 'ib-delete-all', disabled: (@inbox.empty? ? 'disabled' : nil)} Delete all questions
.col-md-9.col-xs-12.col-sm-9
= render 'layouts/messages'
#entries
- @inbox.each do |i|
= render 'inbox/entry', i: i
#entries
- @inbox.each do |i|
= render 'inbox/entry', i: i
- if @inbox.empty?
- if @inbox.empty?
Nothing to see here.
Nothing to see here.
= render "shared/links"
- @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 '/generate_question', to: 'inbox#create', via: :post, as: :generate_question
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 '/create_friend', to: 'friend#create', via: :post, as: :create_friend
match '/destroy_friend', to: 'friend#destroy', via: :post, as: :destroy_friend