Skip to content
Extraits de code Groupes Projets
comments_controller.rb 1,55 ko
Newer Older
  • Learn to ignore specific revisions
  • Raphael's avatar
    Raphael a validé
    #   Copyright (c) 2010, Diaspora Inc.  This file is
    
    Raphael's avatar
    Raphael a validé
    #   licensed under the Affero General Public License version 3 or later.  See
    
    Raphael's avatar
    Raphael a validé
    #   the COPYRIGHT file.
    
    class CommentsController < ApplicationController
    
      before_filter :authenticate_user!
    
      respond_to :html
      respond_to :json, :only => :show
    
    
        target = current_user.find_visible_post_by_id params[:post_id]
        text = params[:text]
    
        @comment = current_user.build_comment(text, :on => target)
    
        if @comment.save(:safe => true)
          raise 'MongoMapper failed to catch a failed save' unless @comment.id
    
    Raphael's avatar
    Raphael a validé
          Rails.logger.info("event=comment_create user=#{current_user.diaspora_handle} status=success comment=#{@comment.id}")
    
    Raphael's avatar
    Raphael a validé
            format.js{ 
              json = { :post_id => @comment.post_id,
    
    Raphael's avatar
    Raphael a validé
                                         :html => render_to_string(
                                           :partial => 'comments/comment',
    
                                           :locals => { :hash => {
    
    Raphael's avatar
    Raphael a validé
                                             :comment => @comment,
                                             :person => current_user,
    
    Raphael's avatar
    Raphael a validé
                                          )
                                        }
              render(:json => json, :status => 201)
            }
    
            format.html{ render :nothing => true, :status => 201 }
          end
    
    Raphael's avatar
    Raphael a validé
        else
    
          render :nothing => true, :status => 406
    
    Raphael's avatar
    Raphael a validé
        end