1 class ScrollsController < ApplicationController
2 layout 'test' if MagicNumber['test_layout']
3 if MagicNumber['run_mode'] == 0
4 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
5 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
7 before_filter :authenticate_reader, :only => [:top, :index, :show, :play]
8 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
9 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
11 before_filter :authenticate_admin!, :only => [:list, :browse]
17 respond_to do |format|
19 format.json { render json: @items.to_json(@@model.list_json_opt) }
26 @item = Scroll.show(params[:id], @operators)
28 respond_to do |format|
32 @new_panels = Panel.mylist(@operators.author, 1, 5)
35 format.json { render json: @item.to_json(Scroll.show_json_opt) }
43 @scroll = Scroll.show(params[:id], [@user, @admin])
44 cnt = ScrollPanel.count(:conditions => ['scroll_id = ?', @scroll.id]).to_i
45 @offset = ScrollPanel.offset cnt, params[:offset]
46 @panel_count = ScrollPanel.panel_count cnt, params[:count]
47 @scroll_panels = ScrollPanel.play_list(@scroll, @author, @offset, @panel_count)
48 respond_to do |format|
50 @prev_offset = if @offset > 0
51 if @offset - @panel_count < 0
54 @offset - @panel_count
59 @next_offset = if @offset + @panel_count > cnt
62 @offset + @panel_count
65 @new_panels = Panel.mylist(@author, 1, 5)
68 format.json {render text: ScrollPanel.list_as_json_text(@scroll_panels, @author)}
70 render :json => "callback(" + @scroll_panels.to_json_list + ");"
76 @scroll = {:count => Scroll.visible_count}
77 respond_to do |format|
78 format.json { render json: @scroll.to_json }
85 respond_to do |format|
86 format.html { render layout: 'system' }# index.html.erb
87 format.json { render json: @scrolls }
92 @scroll = Scroll.find(params[:id])
94 respond_to do |format|
95 format.html { render layout: 'system' } # show.html.erb
96 format.json { render json: @scroll }
102 @scroll.supply_default
103 respond_to do |format|
104 format.html # new.html.erb
106 format.json { render json: @scroll.to_json(Scroll.show_json_opt) }
111 @scroll = Scroll.edit(params[:id], @author)
112 respond_to do |format|
120 @scroll.supply_default
121 @scroll.attributes = params[:scroll]
122 @scroll.overwrite @author
124 respond_to do |format|
126 flash[:notice] = I18n.t('flash.notice.created', :model => Scroll.model_name.human)
127 format.html { redirect_to @scroll }
128 format.json { render json: @scroll.to_json(Scroll.show_json_opt), status: :created, location: @scroll }
130 flash[:notice] = I18n.t('flash.notice.not_created', :model => Scroll.model_name.human)
131 format.html { render action: "new" }
132 format.json { render json: @scroll.errors, status: :unprocessable_entity }
138 @scroll = Scroll.edit(params[:id], @author)
139 @scroll.attributes = params[:scroll]
140 @scroll.overwrite @author
141 respond_to do |format|
143 flash[:notice] = I18n.t('flash.notice.updated', :model => Scroll.model_name.human)
144 format.html { redirect_to @scroll }
145 format.json { head :ok }
147 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Scroll.model_name.human)
148 format.html { render action: "edit" }
149 format.json { render json: @scroll.errors, status: :unprocessable_entity }
155 @scroll = Scroll.edit(params[:id], @author)
156 respond_to do |format|
157 if @scroll.destroy_with_scroll_panel
158 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Scroll.model_name.human)
159 format.html { redirect_to '/home/scrolls' }
160 format.json { head :ok }
162 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Scroll.model_name.human)
163 format.html { redirect_to @scroll }
164 format.json { render json: @scroll.errors, status: :unprocessable_entity }