OSDN Git Service

t#31282:add appender
[pettanr/pettanr.git] / app / controllers / speeches_controller.rb
index 7e53b73..1095fdb 100644 (file)
@@ -1,18 +1,34 @@
 class SpeechesController < 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 /speeches
-  # GET /speeches.json
   def index
-    @speeches = Speech.all
+    @page = Speech.page params[:page]
+    @page_size = Speech.page_size params[:page_size]
+    @speeches = Speech.list(@page, @page_size)
 
     respond_to do |format|
       format.html # index.html.erb
-      format.json { render json: @speeches }
+      format.json { render json: @speeches.to_json(Speech.list_json_opt) }
     end
   end
-
+  
+  def show
+    @speech = Speech.show(params[:id], [@user, @admin])
+    respond_to do |format|
+      format.html # show.html.erb
+      format.json { render json: @speech.to_json(Speech.show_json_opt) }
+    end
+  end
+  
   def list
     @speeches = Speech.all
 
@@ -21,4 +37,14 @@ class SpeechesController < ApplicationController
       format.json { render json: @speeches }
     end
   end
+
+  def browse
+    @speech = Speech.find(params[:id])
+
+    respond_to do |format|
+      format.html { render layout: 'system' }
+      format.json { render json: @speech }
+    end
+  end
+
 end