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 => [:index, :show, :play, :story_sheets, :stories, :sheet_panels, :panels, :by_story, :by_panel, :by_author]
7 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
8 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
48 @item = Sheet.show(params[:id], @operators)
50 respond_to do |format|
53 @new_panel_items = assist_items('panel', 'private_list')
54 @new_panel_filer = assist_filer 'panel', @new_panel_items
56 @new_story_items = assist_items('story', 'private_list')
57 @new_story_filer = assist_filer 'story', @new_story_items
58 @fresh_story_items = assist_items('story_sheet', 'private_list').map {|ss| ss.story}
59 @fresh_story_filer = assist_filer 'story', @fresh_story_items
63 format.json { render json: @item.to_json(Sheet.show_json_opt) }
70 @item = self.class.model.show(params[:id], @operators)
71 action_name = params[:action]
72 @action = self.class.controller.open(action_name, params, @operators)
73 @items = @action.list.items @item
74 respond_to do |format|
76 @count = @action.list.count @item
77 @prev_offset = @action.list.prev_offset @item
78 @next_offset = @action.list.next_offset @item
80 @new_panel_items = assist_items('panel', 'private_list')
81 @new_panel_filer = assist_filer 'panel', @new_panel_items
84 format.json { render json: @items.to_json(self.class.model.list_json_opt) }
89 @sheet = {:count => Sheet.visible_count}
90 respond_to do |format|
91 format.json { render json: @sheet.to_json }
98 respond_to do |format|
101 format.json { render json: @sheet.to_json(Sheet.show_json_opt) }
106 @sheet = Sheet.edit(params[:id], @operators)
107 respond_to do |format|
115 @sheet.supply_default
118 jsn = JSON.parse_no_except(params[:json])
120 @prm = params[:sheet] || jsn
122 respond_to do |format|
123 if @sheet.store @prm, @operators
124 flash[:notice] = I18n.t('flash.notice.created', :model => Sheet.model_name.human)
125 format.html { redirect_to @sheet }
126 format.json { render json: @sheet.to_json(Sheet.show_json_opt), status: :created, location: @sheet }
128 flash[:notice] = I18n.t('flash.notice.not_created', :model => Sheet.model_name.human)
129 format.html { render action: "new" }
130 format.json { render json: @sheet.errors, status: :unprocessable_entity }
136 @sheet = Sheet.edit(params[:id], @operators)
139 jsn = JSON.parse(params[:json])
141 @prm = params[:sheet] || jsn
142 respond_to do |format|
143 if @sheet.store @prm, @operators
144 flash[:notice] = I18n.t('flash.notice.updated', :model => Sheet.model_name.human)
145 format.html { redirect_to @sheet }
146 format.json { head :ok }
148 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Sheet.model_name.human)
149 format.html { render action: "edit" }
150 format.json { render json: @sheet.errors, status: :unprocessable_entity }
156 @sheet = Sheet.edit(params[:id], @operators)
157 respond_to do |format|
158 if @sheet.destroy_with_sheet_panel
159 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Sheet.model_name.human)
160 format.html { redirect_to '/home/sheets' }
161 format.json { head :ok }
163 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Sheet.model_name.human)
164 format.html { redirect_to @sheet }
165 format.json { render json: @sheet.errors, status: :unprocessable_entity }