From 62700387adea1a5b6cafedc929f07b4b987c7ea4 Mon Sep 17 00:00:00 2001
From: ilya <ilya@laptop.(none)>
Date: Wed, 20 Oct 2010 15:30:30 -0700
Subject: [PATCH] MS IZ added an add to aspect form on the request partial

---
 app/controllers/aspects_controller.rb       | 7 ++++---
 app/views/requests/_new_request.haml        | 8 ++++++++
 spec/controllers/aspects_controller_spec.rb | 2 +-
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb
index 18c8bd12d0..fed5f0aaea 100644
--- a/app/controllers/aspects_controller.rb
+++ b/app/controllers/aspects_controller.rb
@@ -46,6 +46,7 @@ class AspectsController < ApplicationController
 
   def show
     @aspect = current_user.aspect_by_id params[:id]
+    @friends_dropdown_array = current_user.friends.all(:person_id.nin => @aspect.person_ids )
     unless @aspect
       render :file => "#{Rails.root}/public/404.html", :layout => false, :status => 404
     else
@@ -92,13 +93,13 @@ class AspectsController < ApplicationController
   end
 
   def add_to_aspect
-    if current_user.add_person_to_aspect( params[:friend_id], params[:to_aspect_id])
+    if current_user.add_person_to_aspect( params[:friend_id], params[:aspect_id])
       flash[:notice] =  I18n.t 'aspects.add_to_aspect.success'
-      render :nothing => true
     else 
       flash[:notice] =  I18n.t 'aspects.add_to_aspect.success'
-      render :nothing => true, :status => 500
     end
+
+    redirect_to aspects_path(params[:aspect_id])
   end
 
   private
diff --git a/app/views/requests/_new_request.haml b/app/views/requests/_new_request.haml
index 4c12486b82..d973284b4a 100644
--- a/app/views/requests/_new_request.haml
+++ b/app/views/requests/_new_request.haml
@@ -8,6 +8,14 @@
       =t('.add_a_new_friend_to')
       %i= aspect.name
 
+  = form_tag '/aspects/add_to_aspect', :id => 'add_to_aspect' do
+    = select_tag :friend_id, options_from_collection_for_select(@friends_dropdown_array, "id", "real_name"), :include_blank => true
+    = hidden_field_tag :aspect_id, aspect.id
+    = submit_tag "add to #{@aspect.name}"
+
+
+
+
   = form_for Request.new do |fr_request|
     = fr_request.error_messages
 
diff --git a/spec/controllers/aspects_controller_spec.rb b/spec/controllers/aspects_controller_spec.rb
index 14314f8d61..2e50b66798 100644
--- a/spec/controllers/aspects_controller_spec.rb
+++ b/spec/controllers/aspects_controller_spec.rb
@@ -76,7 +76,7 @@ describe AspectsController do
     it 'adds the users to the aspect' do
       @aspect1.reload
       @aspect1.people.include?(@user2.person).should be false
-      post 'add_to_aspect', {'friend_id' => @user2.person.id, 'to_aspect_id' => @aspect1.id }
+      post 'add_to_aspect', {:friend_id => @user2.person.id, :aspect_id => @aspect1.id }
       @aspect1.reload
       @aspect1.people.include?(@user2.person).should be true
     end
-- 
GitLab