From ef7dc1c0174477132279c920e98d65b5d52a7762 Mon Sep 17 00:00:00 2001 From: Steven Fuchs Date: Fri, 3 Feb 2012 08:37:35 -0500 Subject: [PATCH] update aspect name in page listing after editing. --- app/controllers/aspects_controller.rb | 2 +- public/javascripts/aspect-edit-pane.js | 4 ++++ spec/controllers/aspects_controller_spec.rb | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb index d858b90c9..330dd1401 100644 --- a/app/controllers/aspects_controller.rb +++ b/app/controllers/aspects_controller.rb @@ -107,7 +107,7 @@ class AspectsController < ApplicationController else flash[:error] = I18n.t 'aspects.update.failure', :name => @aspect.name end - render :json => { :name => @aspect.name } + render :json => { :id => @aspect.id, :name => @aspect.name } end def toggle_contact_visibility diff --git a/public/javascripts/aspect-edit-pane.js b/public/javascripts/aspect-edit-pane.js index f179c1561..c2b44f513 100644 --- a/public/javascripts/aspect-edit-pane.js +++ b/public/javascripts/aspect-edit-pane.js @@ -12,6 +12,9 @@ function updateAspectName(new_name) { $('#aspect_name_title .name').html(new_name); $('input#aspect_name').val(new_name); } +function updatePageAspectName( an_id, new_name) { + $('ul#aspect_nav [data-guid="'+an_id+'"]').html(new_name); +} $(document).ready(function() { $('#rename_aspect_link').live('click', function(){ @@ -20,6 +23,7 @@ $(document).ready(function() { $('form.edit_aspect').live('ajax:success', function(evt, data, status, xhr) { updateAspectName(data['name']); + updatePageAspectName( data['id'], data['name'] ); toggleAspectTitle(); }); }); diff --git a/spec/controllers/aspects_controller_spec.rb b/spec/controllers/aspects_controller_spec.rb index bcb07d779..6b0a7928a 100644 --- a/spec/controllers/aspects_controller_spec.rb +++ b/spec/controllers/aspects_controller_spec.rb @@ -104,6 +104,14 @@ describe AspectsController do put('update', :id => @alices_aspect_1.id, "aspect" => params) Aspect.find(@alices_aspect_1.id).user_id.should == alice.id end + + it "should return the name and id of the updated item" do + params = {"name" => "Bruisers"} + put('update', :id => @alices_aspect_1.id, "aspect" => params) + + puts( response.inspect ) + response.body.should == { :id => @alices_aspect_1.id, :name => "Bruisers" }.to_json + end end describe '#edit' do