From e446dcaeb50b0ad2323ef87dec0e005ad081c95e Mon Sep 17 00:00:00 2001 From: maxwell Date: Tue, 22 Feb 2011 22:21:48 -0800 Subject: [PATCH] make sm_controller show the error in the js --- app/controllers/status_messages_controller.rb | 4 ++-- public/javascripts/stream.js | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/status_messages_controller.rb b/app/controllers/status_messages_controller.rb index a6b32c314..3a9245637 100644 --- a/app/controllers/status_messages_controller.rb +++ b/app/controllers/status_messages_controller.rb @@ -18,7 +18,7 @@ class StatusMessagesController < ApplicationController public_flag.to_s.match(/(true)|(on)/) ? public_flag = true : public_flag = false params[:status_message][:public] = public_flag - @status_message = current_user.build_post(:status_message, params[:status_message]) + @status_message = current_user.build_post(:status_message, params[:status_message].merge!(:message => '')) aspects = current_user.aspects_from_ids(params[:aspect_ids]) if @status_message.save @@ -59,7 +59,7 @@ class StatusMessagesController < ApplicationController end else respond_to do |format| - format.js { render :text => @status_message.errors.full_messages, :status => 406 } + format.js { render :json =>{:errors => @status_message.errors.full_messages}, :status => 406 } format.html {redirect_to :back} end end diff --git a/public/javascripts/stream.js b/public/javascripts/stream.js index 2464d3ad2..fc2390494 100644 --- a/public/javascripts/stream.js +++ b/public/javascripts/stream.js @@ -59,8 +59,13 @@ var Stream = { Publisher.clear(); }); - $(".new_status_message").bind('ajax:failure', function(data, html, xhr) { - Diaspora.widgets.alert.alert('Failed to post message!'); + $(".new_status_message").bind('ajax:failure', function(data, html , xhr) { + json = $.parseJSON(html.response); + if(json.errors.length != 0){ + Diaspora.widgets.alert.alert(json.errors); + }else{ + Diaspora.widgets.alert.alert('Failed to post message!'); + } }); $(".new_comment").live('ajax:success', function(data, json, xhr) {