<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,5 @@
+$:.reject! { |e| e.include? 'TextMate' }
 require File.join(File.dirname(__FILE__), 'config', 'boot.rb')
-
 require 'rake'
 require 'rake/testtask'
 require 'rake/rdoctask'</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 class ForumsController &lt; ApplicationController
-  before_filter :is_visible?, :only =&gt; :show
   before_filter :store_location, :only =&gt; :show
   
   def index
@@ -19,19 +18,16 @@ class ForumsController &lt; ApplicationController
   end
   
   def show
-    @topics = @forum.topics.sorted.paginate :page =&gt; params[:page], :per_page =&gt; 30, :order =&gt; &quot;sticky DESC&quot;
-    @forums = @forum.children
-    @all_forums = Forum.all(:select =&gt; &quot;id, title&quot;, :order =&gt; &quot;title ASC&quot;) - [@forum] if is_moderator?
-    @moderated_topics_count = @forum.moderations.topics.for_user(current_user).count
-  end
-  
-  private
-  def is_visible?
     @forum = Forum.find(params[:id], :include =&gt; [{ :topics =&gt; :posts }, :moderations])
     if !@forum.viewable?(logged_in?, current_user)
       flash[:notice] = t(:forum_permission_denied)
       redirect_to forums_path
     else
+      @topics = @forum.topics.sorted.paginate :page =&gt; params[:page], :per_page =&gt; 30, :order =&gt; &quot;sticky DESC&quot;
+      @forums = @forum.children
+      @all_forums = Forum.all(:select =&gt; &quot;id, title&quot;, :order =&gt; &quot;title ASC&quot;) - [@forum] if is_moderator?
+      @moderated_topics_count = @forum.moderations.topics.for_user(current_user).count
     end
   end
+  
 end</diff>
      <filename>app/controllers/forums_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -47,11 +47,11 @@ class Moderator::TopicsController &lt; Moderator::ApplicationController
   end
   
   def merge
-    if params[:moderated_topics]
-      @topics = Topic.find(params[:moderated_topics])
-      session[:moderated_topics] = params[:moderated_topics]
+    if params[:moderation_ids]
+      @topics = Topic.find(params[:moderation_ids])
+      session[:moderation_ids] = params[:moderated_ids]
     end
-    @topics ||= Topic.find(session[:moderated_topics])
+    @topics ||= Topic.find(session[:moderated_ids])
     if @topics.size == 1
       flash[:notice] = t(:only_one_topic_for_merge)
       redirect_back_or_default forums_path
@@ -63,7 +63,7 @@ class Moderator::TopicsController &lt; Moderator::ApplicationController
         redirect_back_or_default forums_path
       end
       @topic = Topic.find(params[:master_topic_id])
-      @topic.merge!(session[:moderated_topics], params[:new_subject])
+      @topic.merge!(session[:moderation_ids], params[:new_subject])
       flash[:notice] = t(:topics_merged)
       redirect_back_or_default forums_path
     end    </diff>
      <filename>app/controllers/moderator/topics_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -78,7 +78,7 @@ class TopicsController &lt; ApplicationController
   
   def find_forum
     @forum = Forum.find(params[:forum_id], :include =&gt; [:topics, :posts]) if params[:forum_id]
-    if @forum.viewable?(logged_in?, current_user)
+    if @forum.viewable?(current_user)
       @topic = @forum.topics.find(params[:id], :joins =&gt; :posts) if params[:id]
     else
       flash[:notice] = t(:not_allowed_to_view_topics)</diff>
      <filename>app/controllers/topics_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -52,11 +52,11 @@ class Forum &lt; ActiveRecord::Base
     !parent_id.nil?
   end
   
-  def viewable?(logged_in=true, user=nil)
-    (logged_in &amp;&amp; is_visible_to_id &lt;= user.user_level.position) || (!logged_in &amp;&amp; is_visible_to == UserLevel.find_by_name(&quot;User&quot;))
+  def viewable?(user=nil)
+    (user != :false &amp;&amp; is_visible_to_id &lt;= user.user_level.position) || (user == :false &amp;&amp; is_visible_to == UserLevel.find_by_name(&quot;User&quot;))
   end
   
-  def topics_creatable_by?(logged_in=true, user=nil)
+  def topics_creatable_by?(user=nil)
     (logged_in &amp;&amp; topics_created_by_id &lt;= user.user_level.position) || (!logged_in &amp;&amp; topics_created_by == UserLevel.find_by_name(&quot;User&quot;))
   end
 end</diff>
      <filename>app/models/forum.rb</filename>
    </modified>
    <modified>
      <diff>@@ -122,6 +122,13 @@ describe Moderator::TopicsController do
       flash[:notice].should eql(I18n.t(:topics_moved))
       response.should redirect_to(forum_path(1))
     end
+    
+    it &quot;should be able to merge for moderations selected on the moderations page&quot; do
+      Topic.should_receive(:find).and_return(@topics)
+      put 'moderate', { :commit =&gt; &quot;Merge&quot;, :moderation_ids =&gt; [1,2,3] }
+      flash[:notice].should eql(I18n.t(:topics_merged))
+      response.should redirect_to(forums_path)
+    end
       
     it &quot;should not be able to act on moderations that don't belong to them&quot; do
       Moderation.should_receive(:for_user).and_return(@moderations)</diff>
      <filename>spec/controllers/moderator_topics_controller_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -61,7 +61,7 @@ describe TopicsController do
     
     it &quot;should not show a restricted topic&quot; do
       Forum.should_receive(:find).and_return(@forum)
-      @forum.should_receive(:viewable?).with(false, :false).and_return(false)
+      @forum.should_receive(:viewable?).with(:false).and_return(false)
       get 'show', { :id =&gt; @admin_topic.id, :forum_id =&gt; @admin_forum.id }
       response.should redirect_to(root_path)
       flash[:notice].should eql(&quot;You are not allowed to view topics in that forum.&quot;)</diff>
      <filename>spec/controllers/topics_controller_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>89313f6250784500362978c97855dbf8b58c1846</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Bigg</name>
    <email>radarlistener@gmail.com</email>
  </author>
  <url>http://github.com/radar/rboard/commit/a2a7f1f5b5a6de826f5338ab04a0992c917cf1ee</url>
  <id>a2a7f1f5b5a6de826f5338ab04a0992c917cf1ee</id>
  <committed-date>2008-11-30T05:34:49-08:00</committed-date>
  <authored-date>2008-11-30T05:34:49-08:00</authored-date>
  <message>Tidy up the code a little more</message>
  <tree>ab821f6a8f54d4580347a8f246fed035bae7d9d0</tree>
  <committer>
    <name>Ryan Bigg</name>
    <email>radarlistener@gmail.com</email>
  </committer>
</commit>
