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]
33 def show_html_format format
36 @new_panel_items = assist_items('panel', 'private')
38 @new_story_items = assist_items('story', 'private')
39 @fresh_story_items = assist_items('story_sheet', 'private').map {|ss| ss.story}
46 respond_to do |format|
47 show_html_format format
48 show_prof_format format
49 show_json_format_for_root format
54 @item = self.class.model.show(params[:id], @operators)
56 list_result = @list.open(@operators,
59 @items = list_result.items
60 respond_to do |format|
63 @new_panel_items = assist_items('panel', 'private')
66 format.json { render json: @items.to_json(self.class.model.list_json_opt) }
88 respond_to do |format|
90 @editor = Editor::SheetEditor.new @item, @operators
91 render :template => @editor.template_name, :locals => {
95 format.json { render json: @item.to_json }
101 respond_to do |format|
103 @editor = Editor::SheetEditor.new @item, @operators
104 render :template => @editor.template_name, :locals => {
108 format.json { render json: @item.to_json }
114 @sheet.supply_default
117 jsn = JSON.parse_no_except(params[:json])
119 @prm = params[:sheet] || jsn
121 respond_to do |format|
122 if @sheet.store @prm, @operators
123 created_html_format format
124 created_json_format format
127 flash[:notice] = I18n.t('flash.notice.not_created', :model => @my_model_class.model_name.human)
128 @editor = Editor::PanelEditor.new @item, @operators
129 render :template => @editor.template_name, :locals => {
133 not_created_json_format format
139 @sheet = Sheet.edit(params[:id], @operators)
142 jsn = JSON.parse(params[:json])
144 @prm = params[:sheet] || jsn
145 respond_to do |format|
146 if @sheet.store @prm, @operators
147 updated_html_format format
148 updated_json_format format
151 flash[:notice] = I18n.t('flash.notice.not_updated', :model => @my_model_class.model_name.human)
152 @editor = Editor::PanelEditor.new @item, @operators
153 render :template => @editor.template_name, :locals => {
157 not_updated_json_format format
163 @sheet = Sheet.edit(params[:id], @operators)
164 respond_to do |format|
165 if @sheet.destroy_with_sheet_panel
166 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Sheet.model_name.human)
167 format.html { redirect_to '/home/sheets' }
168 format.json { head :ok }
170 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Sheet.model_name.human)
171 format.html { redirect_to @sheet }
172 format.json { render json: @sheet.errors, status: :unprocessable_entity }