diff --git a/app/controllers/gridfs_controller.rb b/app/controllers/gridfs_controller.rb deleted file mode 100644 index 538eb5b79..000000000 --- a/app/controllers/gridfs_controller.rb +++ /dev/null @@ -1,15 +0,0 @@ -class GridfsController < ActionController::Metal - def serve - gridfs_path = env["PATH_INFO"].gsub("/images/", "") - begin - gridfs_file = Mongo::GridFileSystem.new(MongoMapper.database).open(gridfs_path, 'r') - self.response_body = gridfs_file.read - self.content_type = gridfs_file.content_type - rescue - self.status = :file_not_found - self.content_type = 'text/plain' - self.response_body = "File totally imaginary #{gridfs_path}" - end - end - -end diff --git a/app/controllers/status_messages_controller.rb b/app/controllers/status_messages_controller.rb index 786b15007..863deb137 100644 --- a/app/controllers/status_messages_controller.rb +++ b/app/controllers/status_messages_controller.rb @@ -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 diff --git a/app/models/post.rb b/app/models/post.rb index 8f30586a0..0ab355968 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -29,11 +29,6 @@ class Post self.create params end -#Querying - def self.newest_for(person) - self.where(:person_id => person.id, :order => '_id desc') - end - #ENCRYPTION xml_accessor :creator_signature key :creator_signature, String diff --git a/app/models/user.rb b/app/models/user.rb index 38dde280a..3ed7d5d67 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -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) @@ -336,8 +337,8 @@ class User end def setup_person - self.person.serialized_key = generate_key.export - self.person.email = email + self.person.serialized_key ||= generate_key.export + self.person.email ||= email self.person.save! end diff --git a/app/uploaders/image_uploader.rb b/app/uploaders/image_uploader.rb index 3fd36c6a6..732367ffa 100644 --- a/app/uploaders/image_uploader.rb +++ b/app/uploaders/image_uploader.rb @@ -11,9 +11,9 @@ class ImageUploader < CarrierWave::Uploader::Base %w(jpg jpeg gif png) end -# def filename -# model.id.to_s + File.extname(@filename) -# end + def filename + model.id.to_s + File.extname(@filename) if @filename + end version :thumb_small do process :resize_to_fill => [30,30] diff --git a/app/views/shared/_publisher.haml b/app/views/shared/_publisher.haml index 88fc20443..ef261c1f1 100644 --- a/app/views/shared/_publisher.haml +++ b/app/views/shared/_publisher.haml @@ -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" diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index 6bfce5434..36773fd98 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -4,7 +4,7 @@ describe GroupsController do render_views before do @user = Factory.create(:user) - @user.person.save + @user.group(:name => "lame-os") @person = Factory.create(:person) request.env['warden'] = mock_model(Warden, :authenticate? => @user, :authenticate! => @user, :authenticate => @user) end diff --git a/spec/controllers/people_controller_spec.rb b/spec/controllers/people_controller_spec.rb index f039e0101..0bca73e18 100644 --- a/spec/controllers/people_controller_spec.rb +++ b/spec/controllers/people_controller_spec.rb @@ -7,6 +7,7 @@ describe PeopleController do request.env['warden'] = mock_model(Warden, :authenticate? => @user, :authenticate! => @user, :authenticate => @user) sign_in :user, @user + @user.group(:name => "lame-os") end it "index should yield search results for substring of person name" do diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index dc0920a66..93bc9f949 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -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 diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index c6196b0f0..608c17ba7 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -5,27 +5,6 @@ describe Post do @user = Factory.create(:user, :email => "bob@aol.com") @user.person.save end - - describe "newest" do - before do - @person_one = Factory.create(:person, :email => "some@dudes.com") - @person_two = Factory.create(:person, :email => "other@dudes.com") - (2..4).each { |n| Factory.create(:status_message, :message => "test #{n}", :person => @person_one) } - (5..8).each { |n| Factory.create(:status_message, :message => "test #{n}", :person => @user.person)} - (9..11).each { |n| Factory.create(:status_message, :message => "test #{n}", :person => @person_two) } - - Factory.create(:status_message, :person => @user) - Factory.create(:status_message, :person => @user) - end - - it "should give the most recent status_message title and body from owner" do - status_message = StatusMessage.newest_for(@user.person) - status_message.person.email.should == @user.person.email - status_message.class.should == StatusMessage - status_message.message.should == "test 8" - end - - end describe 'xml' do it 'should serialize to xml with its person' do