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