1 class SheetsController < ApplicationController
2 if Manifest.manifest.magic_numbers['run_mode'] == 0
3 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
4 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
6 before_filter :authenticate_reader, :only => [
7 :index, :show, :play, :by_story, :by_panel, :by_author
9 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
10 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
29 def show_html_format format
32 @new_panel_items = assist_items('home', 'panels')
34 @new_story_items = assist_items('home', 'stories')
35 @fresh_story_items = assist_items('home', 'story_sheets').map {|ss| ss.story}
42 respond_to do |format|
43 show_html_format format
44 show_prof_format format
45 show_json_format_for_root format
50 @item = self.class.model.show(params[:id], @operators)
52 list_result = @list.open(@operators, params[:id])
53 @items = list_result.items
54 respond_to do |format|
57 @new_panel_items = assist_items('panel', 'private')
60 format.json { render json: @items.to_json(self.class.model.list_json_opt) }
66 respond_to do |format|
68 @editor = Editor::SheetEditor.new @item, @operators
69 render :template => @editor.template_name, :locals => {
73 format.json { render json: @item.to_json }
79 respond_to do |format|
81 @editor = Editor::SheetEditor.new @item, @operators
82 render :template => @editor.template_name, :locals => {
86 format.json { render json: @item.to_json }
95 jsn = JSON.parse_no_except(params[:json])
97 @prm = params[:sheet] || jsn
99 respond_to do |format|
100 if @sheet.store @prm, @operators
101 created_html_format format
102 created_json_format format
105 flash[:notice] = I18n.t('flash.notice.not_created', :model => @my_model_class.model_name.human)
106 @editor = Editor::PanelEditor.new @item, @operators
107 render :template => @editor.template_name, :locals => {
111 not_created_json_format format
117 @sheet = Sheet.edit(params[:id], @operators)
120 jsn = JSON.parse(params[:json])
122 @prm = params[:sheet] || jsn
123 respond_to do |format|
124 if @sheet.store @prm, @operators
125 updated_html_format format
126 updated_json_format format
129 flash[:notice] = I18n.t('flash.notice.not_updated', :model => @my_model_class.model_name.human)
130 @editor = Editor::PanelEditor.new @item, @operators
131 render :template => @editor.template_name, :locals => {
135 not_updated_json_format format
141 @sheet = Sheet.edit(params[:id], @operators)
142 respond_to do |format|
143 if @sheet.destroy_with_sheet_panel
144 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Sheet.model_name.human)
145 format.html { redirect_to '/home/sheets' }
146 format.json { head :ok }
148 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Sheet.model_name.human)
149 format.html { redirect_to @sheet }
150 format.json { render json: @sheet.errors, status: :unprocessable_entity }