1 class PanelsController < ApplicationController
2 if Manifest.manifest.magic_numbers['run_mode'] == 0
3 before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy, :catch]
4 before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy, :catch]
6 before_filter :authenticate_reader, :only => [:index, :show, :scroll_panels, :scrolls, :sheet_panels, :sheets, :panel_pictures, :speech_balloons, :ground_pictures, :ground_colors, :by_scroll, :by_sheet, :by_author]
7 before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy, :catch]
8 before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy, :catch]
65 @item = Panel.show(params[:id], @operators)
67 respond_to do |format|
71 @new_scroll_items = assist_items('scroll', 'private_list')
72 @new_scroll_filer = assist_filer 'scroll', @new_scroll_items
73 @fresh_scroll_items = assist_items('scroll_panel', 'private_list').map {|sp| sp.scroll}
74 @fresh_scroll_filer = assist_filer 'scroll', @fresh_scroll_items
76 @new_sheet_items = assist_items('sheet', 'private_list')
77 @new_sheet_filer = assist_filer 'sheet', @new_sheet_items
78 @fresh_sheet_items = assist_items('sheet_panel', 'private_list').map {|sp| sp.sheet}
79 @fresh_sheet_filer = assist_filer 'sheet', @fresh_sheet_items
83 format.json { render json: @item.panel_elements_as_json }
88 @panel = {:count => Panel.visible_count}
89 respond_to do |format|
90 format.json { render json: @panel.to_json }
97 respond_to do |format|
99 @editor = Editor::Editor.new @panel, @operators
100 render :template => 'templates/r/editor/editor', :locals => {
105 format.json { render json: @panel.panel_elements_as_json }
110 @panel = Panel.edit(params[:id], @operators)
111 respond_to do |format|
120 @panel.supply_default
123 jsn = JSON.parse_no_except(params[:json])
125 @prm = params[:panel] || jsn
126 respond_to do |format|
127 if @panel.store @prm, @operators
128 flash[:notice] = I18n.t('flash.notice.created', :model => Panel.model_name.human)
129 format.html { redirect_to @panel }
130 format.json { render json: @panel.panel_elements_as_json, status: :created, location: @panel }
132 format.html { render action: "new" }
133 format.json { render json: @panel.errors, status: :unprocessable_entity }
139 @panel = Panel.edit(params[:id], @operators)
142 jsn = JSON.parse(params[:json])
144 @prm = params[:panel] || jsn
145 respond_to do |format|
146 if @panel.store @prm, @operators
147 flash[:notice] = I18n.t('flash.notice.updated', :model => Panel.model_name.human)
148 format.html { redirect_to @panel }
149 format.json { head :ok }
151 format.html { render action: "edit" }
152 format.json { render json: @panel.errors, status: :unprocessable_entity }
158 @panel = Panel.edit(params[:id], @operators)
159 respond_to do |format|
161 if @panel.destroy_with_elements
162 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Panel.model_name.human)
163 format.html { redirect_to '/home/panels' }
164 format.json { head :ok }
166 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Panel.model_name.human)
167 format.html { redirect_to @panel }
168 format.json { render json: @panel.errors, status: :unprocessable_entity }
175 @panel = Panel.edit(params[:id], @operators)
177 respond_to do |format|
178 @operators.author.working_panel_id = @panel.id
179 if @operators.author.save
180 format.html { redirect_to @panel }