1 class PanelsController < ApplicationController
2 layout 'test' if MagicNumber['test_layout']
3 if MagicNumber['run_mode'] == 0
4 before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy, :catch]
5 before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy, :catch]
7 before_filter :authenticate_reader, :only => [:index, :show]
8 before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy, :catch]
9 before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy, :catch]
21 @item = Panel.show(params[:id], @operators)
23 respond_to do |format|
27 @new_scroll_items = assist_items('scroll', 'private_list')
28 @new_scroll_filer = assist_filer 'scroll', @new_scroll_items
29 @fresh_scroll_items = assist_items('scroll_panel', 'private_list').map {|sp| sp.scroll}
30 @fresh_scroll_filer = assist_filer 'scroll', @fresh_scroll_items
32 @new_sheet_items = assist_items('sheet', 'private_list')
33 @new_sheet_filer = assist_filer 'sheet', @new_sheet_items
34 @fresh_sheet_items = assist_items('sheet_panel', 'private_list').map {|sp| sp.sheet}
35 @fresh_sheet_filer = assist_filer 'sheet', @fresh_sheet_items
39 format.json { render json: @item.panel_elements_as_json }
44 @panel = {:count => Panel.visible_count}
45 respond_to do |format|
46 format.json { render json: @panel.to_json }
54 respond_to do |format|
57 format.json { render json: @panel.panel_elements_as_json }
62 @panel = Panel.edit(params[:id], @operators)
63 respond_to do |format|
74 jsn = JSON.parse_no_except(params[:json])
76 @prm = params[:panel] || jsn
77 respond_to do |format|
78 if @panel.store @prm, @operators
79 flash[:notice] = I18n.t('flash.notice.created', :model => Panel.model_name.human)
80 format.html { redirect_to @panel }
81 format.json { render json: @panel.panel_elements_as_json, status: :created, location: @panel }
83 format.html { render action: "new" }
84 format.json { render json: @panel.errors, status: :unprocessable_entity }
90 @panel = Panel.edit(params[:id], @operators)
93 jsn = JSON.parse(params[:json])
95 @prm = params[:panel] || jsn
96 respond_to do |format|
97 if @panel.store @prm, @operators
98 flash[:notice] = I18n.t('flash.notice.updated', :model => Panel.model_name.human)
99 format.html { redirect_to @panel }
100 format.json { head :ok }
102 format.html { render action: "edit" }
103 format.json { render json: @panel.errors, status: :unprocessable_entity }
109 @panel = Panel.edit(params[:id], @operators)
110 respond_to do |format|
112 if @panel.destroy_with_elements
113 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Panel.model_name.human)
114 format.html { redirect_to '/home/panels' }
115 format.json { head :ok }
117 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Panel.model_name.human)
118 format.html { redirect_to @panel }
119 format.json { render json: @panel.errors, status: :unprocessable_entity }
126 @panel = Panel.edit(params[:id], @operators)
128 respond_to do |format|
129 @operators.author.working_panel_id = @panel.id
130 if @operators.author.save
131 format.html { redirect_to @panel }