Push to multiple groups
This commit is contained in:
parent
5a02f92448
commit
76f2aa98ac
4 changed files with 12 additions and 14 deletions
|
|
@ -9,7 +9,7 @@ class StatusMessagesController < ApplicationController
|
|||
end
|
||||
|
||||
def create
|
||||
puts params.inspect
|
||||
params[:status_message][:group_ids] = params[:group_ids]
|
||||
@status_message = current_user.post(:status_message, params[:status_message])
|
||||
|
||||
if @status_message.created_at
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ class User
|
|||
def post(class_name, options = {})
|
||||
options[:person] = self.person
|
||||
|
||||
group_id = options[:group_id]
|
||||
options.delete(:group_id)
|
||||
group_ids = options[:group_ids]
|
||||
options.delete(:group_ids)
|
||||
|
||||
model_class = class_name.to_s.camelize.constantize
|
||||
|
||||
|
|
@ -52,14 +52,15 @@ class User
|
|||
post.save
|
||||
|
||||
|
||||
if group_id
|
||||
group = self.groups.find_by_id(group_id)
|
||||
groups = self.groups.find_all_by_id(group_ids)
|
||||
target_people = []
|
||||
|
||||
groups.each{ |group|
|
||||
group.posts << post
|
||||
group.save
|
||||
post.push_to( group.people.all )
|
||||
else
|
||||
post.push_to( self.friends.all )
|
||||
end
|
||||
target_people = target_people | group.people
|
||||
}
|
||||
post.push_to( target_people )
|
||||
|
||||
post.socket_to_uid(id) if post.respond_to?(:socket_to_uid)
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@
|
|||
= form_for StatusMessage.new, :remote => true do |f|
|
||||
= f.error_messages
|
||||
|
||||
-if group_id
|
||||
= f.hidden_field :group_id, :value => group_id
|
||||
|
||||
.span-15.last
|
||||
.span-2.last
|
||||
.user_image
|
||||
|
|
@ -21,7 +18,7 @@
|
|||
going to...
|
||||
- for group in current_user.groups
|
||||
%li
|
||||
= check_box_tag("groups_id[]", group.id, current_group?(group))
|
||||
= check_box_tag("group_ids[]", group.id, current_group?(group))
|
||||
= group.name
|
||||
.span-1.last
|
||||
= f.submit "Post"
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ describe Group do
|
|||
it 'should add post to group via post method' do
|
||||
group = @user.group(:name => 'losers', :people => [@friend])
|
||||
|
||||
status_message = @user.post( :status_message, :message => "hey", :group_id => group.id )
|
||||
status_message = @user.post( :status_message, :message => "hey", :group_ids => [group.id] )
|
||||
|
||||
group.reload
|
||||
group.posts.include?(status_message).should be true
|
||||
|
|
|
|||
Loading…
Reference in a new issue