Skip to content
Extraits de code Groupes Projets
comments_controller.rb 1,3 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}")
    
          respond_to do |format|
            format.js{ render :json => { :post_id => @comment.post_id,
                                         :comment_id => @comment.id,
    
                                         :html => render_to_string(:partial => type_partial(@comment), :locals => {:comment => @comment, :person => current_user, :current_user => current_user})},
    
                                         :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