1 class PanelsController < ApplicationController
2 layout 'test' if Pettanr::TestLayout
3 before_filter :authenticate_user!, :only => [:index, :show, :new, :edit, :create, :update, :destroy]
4 before_filter :authenticate_admin!, :only => [:list, :browse]
11 @page = Panel.page params[:page]
12 @page_size = Panel.page_size params[:page_size]
13 @panels = Panel.list(@page, @page_size)
15 respond_to do |format|
16 format.html # index.html.erb
17 format.json { render text: '[' + @panels.map {|i| i.panel_elements_as_json }.join(',') + ']' }
24 @panel = Panel.show(params[:id], @author)
26 respond_to do |format|
27 format.html # show.html.erb
28 format.json { render json: @panel.panel_elements_as_json }
30 render :json => "callback(" + @panel.panel_elements_as_json + ");"
36 @panel = {:count => Panel.visible_count}
37 respond_to do |format|
38 format.json { render json: @panel.to_json }
43 @panels = Panel.all :order => 'updated_at'
45 respond_to do |format|
46 format.html { render layout: 'system' }
47 format.json { render json: @panels }
52 @panel = Panel.find(params[:id])
54 respond_to do |format|
55 format.html { render layout: 'system' }
63 respond_to do |format|
64 format.html # new.html.erb
66 format.json { render json: @panel.panel_elements_as_json }
71 @panel = Panel.edit(params[:id], @author)
72 respond_to do |format|
85 jsn = JSON.parse_no_except(params[:json])
87 @prm = params[:panel] || jsn
88 respond_to do |format|
89 if @panel.store @prm, @author
90 format.html { redirect_to @panel, notice: 'Panel was successfully created.' }
91 format.json { render json: @panel.panel_elements_as_json, status: :created, location: @panel }
93 format.html { render action: "new" }
94 format.json { render json: @panel.errors, status: :unprocessable_entity }
102 @panel = Panel.edit(params[:id], @author)
105 jsn = JSON.parse(params[:json])
107 @prm = params[:panel] || jsn
108 respond_to do |format|
109 if @panel.store @prm, @author
110 format.html { redirect_to @panel, notice: 'Panel was successfully updated.' }
111 format.json { head :ok }
113 format.html { render action: "edit" }
114 format.json { render json: @panel.errors, status: :unprocessable_entity }
120 # DELETE /panels/1.json
122 @panel = Panel.edit(params[:id], @author)
123 respond_to do |format|
126 format.html { redirect_to panels_url }
127 format.json { head :ok }