]> git.openstreetmap.org Git - rails.git/commitdiff
merge upstream/master and resolve conflicts from https://github.com/openstreetmap...
authorMikel Maron <mikel_maron@yahoo.com>
Wed, 12 Oct 2016 14:52:05 +0000 (10:52 -0400)
committerMikel Maron <mikel_maron@yahoo.com>
Wed, 12 Oct 2016 14:52:05 +0000 (10:52 -0400)
1  2 
app/controllers/diary_entry_controller.rb
config/locales/en.yml
test/controllers/diary_entry_controller_test.rb

index fdc0e9d242214bddbfa3065d93c22878e2e472da,38436236486ba2d75f7f792bc8ad5af44eeae20c..bf9f2a9a24975ffaad3f40e6a9da1a880f40d940
@@@ -24,11 -24,7 +24,11 @@@ class DiaryEntryController < Applicatio
          else
            @user.preferences.create(:k => "diary.default_language", :v => @diary_entry.language_code)
          end
-         redirect_to :controller => "diary_entry", :action => "list", :display_name => @user.display_name
 +
 +        # Subscribe user to diary comments
 +        @diary_entry.subscriptions.create(:user => @user)
 +
+         redirect_to :action => "list", :display_name => @user.display_name
        else
          render :action => "edit"
        end
      @diary_comment = @entry.comments.build(comment_params)
      @diary_comment.user = @user
      if @diary_comment.save
 -      if @diary_comment.user != @entry.user
 -        Notifier.diary_comment_notification(@diary_comment).deliver_now
 +
 +      # Notify current subscribers of the new comment
 +      @entry.subscribers.visible.each do |user|
 +        if @user != user
 +          Notifier.diary_comment_notification(@diary_comment, user).deliver_now
 +        end
        end
  
-       redirect_to :controller => "diary_entry", :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
 +      # Add the commenter to the subscribers if necessary
 +      @entry.subscriptions.create(:user => @user) unless @entry.subscribers.exists?(@user.id)
 +
+       redirect_to :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
      else
        render :action => "view"
      end
    rescue ActiveRecord::RecordNotFound
      render :action => "no_such_entry", :status => :not_found
    end
-     redirect_to :controller => "diary_entry", :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
 +
 +  def subscribe
 +    diary_entry = DiaryEntry.find(params[:id])
 +
 +    diary_entry.subscriptions.create(:user => @user) unless diary_entry.subscribers.exists?(@user.id)
 +
-     redirect_to :controller => "diary_entry", :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
++    redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
 +  rescue ActiveRecord::RecordNotFound
 +    render :action => "no_such_entry", :status => :not_found
 +  end
 +
 +  def unsubscribe
 +    diary_entry = DiaryEntry.find(params[:id])
 +
 +    diary_entry.subscriptions.where(:user => @user).delete_all if diary_entry.subscribers.exists?(@user.id)
 +
++    redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
 +  rescue ActiveRecord::RecordNotFound
 +    render :action => "no_such_entry", :status => :not_found
 +  end
  
    def list
      if params[:display_name]
Simple merge