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