OSDN Git Service

t#31056:add diff import
[pettanr/pettanr.git] / app / controllers / balloons_controller.rb
index eb8025c..d3c6727 100644 (file)
@@ -1,18 +1,34 @@
 class BalloonsController < ApplicationController
-  before_filter :authenticate_user!, :only => [:index, :show]
+  layout 'test' if MagicNumber['test_layout']
+  if MagicNumber['run_mode'] == 0
+    before_filter :authenticate_user, :only => []
+    before_filter :authenticate_author, :only => []
+  else
+    before_filter :authenticate_reader, :only => [:index, :show]
+    before_filter :authenticate_user, :only => []
+    before_filter :authenticate_author, :only => []
+  end
   before_filter :authenticate_admin!, :only => [:list, :browse]
   
-  # GET /balloons
-  # GET /balloons.json
   def index
-    @balloons = Balloon.all
+    @page = Balloon.page params[:page]
+    @page_size = Balloon.page_size params[:page_size]
+    @balloons = Balloon.list(@page, @page_size)
 
     respond_to do |format|
       format.html # index.html.erb
-      format.json { render json: @balloons }
+      format.json { render json: @balloons.to_json(Balloon.list_json_opt) }
     end
   end
-
+  
+  def show
+    @balloon = Balloon.show(params[:id], [@user, @admin])
+    respond_to do |format|
+      format.html # show.html.erb
+      format.json { render json: @balloon.to_json(Balloon.show_json_opt) }
+    end
+  end
+  
   def list
     @balloons = Balloon.all
 
@@ -21,4 +37,14 @@ class BalloonsController < ApplicationController
       format.json { render json: @balloons }
     end
   end
+
+  def browse
+    @balloon = Balloon.find(params[:id])
+
+    respond_to do |format|
+      format.html { render layout: 'system' }
+      format.json { render json: @balloon }
+    end
+  end
+
 end