OSDN Git Service

temp
[pettanr/pettanr.git] / app / controllers / sheets_controller.rb
index 6ab261d..ab093eb 100644 (file)
@@ -10,30 +10,32 @@ class SheetsController < ApplicationController
   end
   before_filter :authenticate_admin!, :only => [:list, :browse]
 
+  @@model = Sheet
   def index
-    @page = Sheet.page params[:page]
-    @page_size = Sheet.page_size params[:page_size]
-    @sheets = Sheet.list(@page, @page_size)
+    set_filer
+
     respond_to do |format|
-      format.html {
-        @paginate = Sheet.list_paginate(@page, @page_size)
-      }
-      format.json { render json: @sheets.to_json(Sheet.list_json_opt) }
+      format_filer format
+      format.json { render json: @items.to_json(@@model.list_json_opt) }
       format.atom 
       format.rss
     end
   end
 
   def show
-    @sheet = Sheet.show(params[:id], [@user, @admin])
+    @item = Sheet.show(params[:id], @operators)
 
     respond_to do |format|
       format.html {
-        if @author
-          @new_panels = Panel.mylist(@author, 1, 5)
+        @sheet = @item
+        if @operators.author
+          @new_panels = Panel.mylist(@operators.author, 1, 5)
+          @new_stories = Story.mylist(@operators.author, 1, 5)
+          @fresh_stories = StorySheet.mylist(@operators.author, 1, 5).map {|ss| ss.story}
         end
       }
-      format.json { render json: @sheet.to_json(Sheet.show_json_opt) }
+      format_prof format
+      format.json { render json: @item.to_json(Sheet.show_json_opt) }
       format.atom 
       format.rss 
     end
@@ -41,14 +43,13 @@ class SheetsController < ApplicationController
 
   def play
     @sheet = Sheet.show(params[:id], [@user, @admin])
-    @sheet_panels = SheetPanel.play_list(@sheet, @author)
     respond_to do |format|
       format.html {
         if @author
           @new_panels = Panel.mylist(@author, 1, 5)
         end
       }
-      format.json {render text: SheetPanel.list_as_json_text(@sheet_panels, @author)}
+      format.json {render json: @sheet.to_json(Sheet.show_json_opt)}
       format.jsonp {
         render :json => "callback(" + @sheet_panels.to_json_list + ");"
       }
@@ -101,11 +102,14 @@ class SheetsController < ApplicationController
   def create
     @sheet = Sheet.new
     @sheet.supply_default 
-    @sheet.attributes = params[:sheet]
-    @sheet.overwrite @author
+    jsn = nil
+    if params[:json]
+      jsn = JSON.parse_no_except(params[:json])
+    end
+    @prm = params[:sheet] || jsn
 
     respond_to do |format|
-      if @sheet.save
+      if @sheet.store @prm, @author
         flash[:notice] = I18n.t('flash.notice.created', :model => Sheet.model_name.human)
         format.html { redirect_to @sheet }
         format.json { render json: @sheet.to_json(Sheet.show_json_opt), status: :created, location: @sheet }
@@ -119,10 +123,13 @@ class SheetsController < ApplicationController
 
   def update
     @sheet = Sheet.edit(params[:id], @author)
-    @sheet.attributes = params[:sheet]
-    @sheet.overwrite @author
+    jsn = nil
+    if params[:json]
+      jsn = JSON.parse(params[:json])
+    end
+    @prm = params[:sheet] || jsn
     respond_to do |format|
-      if @sheet.save
+      if @sheet.store @prm, @author
         flash[:notice] = I18n.t('flash.notice.updated', :model => Sheet.model_name.human)
         format.html { redirect_to @sheet }
         format.json { head :ok }