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, :count, :count_by_story, :count_by_panel, :count_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) }
82 respond_to do |format|
84 @editor = Editor::SheetEditor.new @item, @operators
85 render :template => @editor.template_name, :locals => {
89 format.json { render json: @item.to_json }
95 respond_to do |format|
97 @editor = Editor::SheetEditor.new @item, @operators
98 render :template => @editor.template_name, :locals => {
102 format.json { render json: @item.to_json }
108 @sheet.supply_default
111 jsn = JSON.parse_no_except(params[:json])
113 @prm = params[:sheet] || jsn
115 respond_to do |format|
116 if @sheet.store @prm, @operators
117 created_html_format format
118 created_json_format format
121 flash[:notice] = I18n.t('flash.notice.not_created', :model => @my_model_class.model_name.human)
122 @editor = Editor::PanelEditor.new @item, @operators
123 render :template => @editor.template_name, :locals => {
127 not_created_json_format format
133 @sheet = Sheet.edit(params[:id], @operators)
136 jsn = JSON.parse(params[:json])
138 @prm = params[:sheet] || jsn
139 respond_to do |format|
140 if @sheet.store @prm, @operators
141 updated_html_format format
142 updated_json_format format
145 flash[:notice] = I18n.t('flash.notice.not_updated', :model => @my_model_class.model_name.human)
146 @editor = Editor::PanelEditor.new @item, @operators
147 render :template => @editor.template_name, :locals => {
151 not_updated_json_format format
157 @sheet = Sheet.edit(params[:id], @operators)
158 respond_to do |format|
159 if @sheet.destroy_with_sheet_panel
160 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Sheet.model_name.human)
161 format.html { redirect_to '/home/sheets' }
162 format.json { head :ok }
164 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Sheet.model_name.human)
165 format.html { redirect_to @sheet }
166 format.json { render json: @sheet.errors, status: :unprocessable_entity }