selecting the group from the ask followers modal works now.
This commit is contained in:
parent
9b0b2df18e
commit
a05d763b75
|
@ -3,11 +3,18 @@ $(document).on "click", "button[name=qb-all-ask]", ->
|
||||||
btn.button "loading"
|
btn.button "loading"
|
||||||
$("textarea[name=qb-all-question]").attr "readonly", "readonly"
|
$("textarea[name=qb-all-question]").attr "readonly", "readonly"
|
||||||
|
|
||||||
|
rcptSelect = ($ 'select[name=qb-all-rcpt]')
|
||||||
|
|
||||||
|
rcpt = if rcptSelect.length > 0
|
||||||
|
rcptSelect.first().val()
|
||||||
|
else
|
||||||
|
'followers'
|
||||||
|
|
||||||
$.ajax
|
$.ajax
|
||||||
url: '/ajax/ask'
|
url: '/ajax/ask'
|
||||||
type: 'POST'
|
type: 'POST'
|
||||||
data:
|
data:
|
||||||
rcpt: "followers"
|
rcpt: rcpt
|
||||||
question: $("textarea[name=qb-all-question]").val()
|
question: $("textarea[name=qb-all-question]").val()
|
||||||
anonymousQuestion: false
|
anonymousQuestion: false
|
||||||
success: (data, status, jqxhr) ->
|
success: (data, status, jqxhr) ->
|
||||||
|
|
|
@ -25,6 +25,19 @@ class Ajax::QuestionController < ApplicationController
|
||||||
Inbox.create!(user_id: f.id, question_id: question.id, new: true)
|
Inbox.create!(user_id: f.id, question_id: question.id, new: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
elsif params[:rcpt].start_with? 'grp:'
|
||||||
|
unless current_user.nil?
|
||||||
|
begin
|
||||||
|
current_user.groups.find_by_name!(params[:rcpt].sub 'grp:', '').members.each do |m|
|
||||||
|
Inbox.create!(user_id: m.user.id, question_id: question.id, new: true)
|
||||||
|
end
|
||||||
|
rescue ActiveRecord::RecordNotFound
|
||||||
|
@status = :not_found
|
||||||
|
@message = "Group not found"
|
||||||
|
@success = false
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
else
|
else
|
||||||
Inbox.create!(user_id: params[:rcpt], question_id: question.id, new: true)
|
Inbox.create!(user_id: params[:rcpt], question_id: question.id, new: true)
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,6 +4,7 @@ class Group < ActiveRecord::Base
|
||||||
|
|
||||||
before_validation do
|
before_validation do
|
||||||
self.name = self.display_name.downcase.sub(/\s+/, '-')
|
self.name = self.display_name.downcase.sub(/\s+/, '-')
|
||||||
|
self.name = 'group-followers' if self.name == 'followers'
|
||||||
end
|
end
|
||||||
|
|
||||||
alias members group_members
|
alias members group_members
|
||||||
|
|
|
@ -12,10 +12,10 @@
|
||||||
- if current_user.groups.count > 0
|
- if current_user.groups.count > 0
|
||||||
%label
|
%label
|
||||||
Choose group:
|
Choose group:
|
||||||
%select{name: 'qb-all-target', class: 'form-control', autocomplete: 'off'}
|
%select{name: 'qb-all-rcpt', class: 'form-control', autocomplete: 'off'}
|
||||||
%option{value: '_followers', selected: true} Followers
|
%option{value: 'followers', selected: true} Followers
|
||||||
%optgroup{label: 'Groups'}
|
%optgroup{label: 'Groups'}
|
||||||
- current_user.groups.each do |group|
|
- current_user.groups.each do |group|
|
||||||
%option{value: group.name}= group.display_name
|
%option{value: "grp:#{group.name}"}= group.display_name
|
||||||
%button.btn.btn-default{"data-dismiss" => "modal", :type => "button"} Cancel
|
%button.btn.btn-default{"data-dismiss" => "modal", :type => "button"} Cancel
|
||||||
%button.btn.btn-primary{name: 'qb-all-ask', :type => "button", data: {loading_text: 'Asking...' }} Ask
|
%button.btn.btn-primary{name: 'qb-all-ask', :type => "button", data: {loading_text: 'Asking...' }} Ask
|
Loading…
Reference in New Issue