X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fspeech_balloons_controller.rb;h=3b8e40025e2e8d8b920e4ef791bfa828007c4221;hb=091b085aa054691dfe37d6f55f699dcb80f63ee5;hp=9350511927d13d51c6fc599902a8f35fcf343d4e;hpb=10d7d403b74c06dcbf42a132b9712c3817547284;p=pettanr%2Fpettanr.git diff --git a/app/controllers/speech_balloons_controller.rb b/app/controllers/speech_balloons_controller.rb index 93505119..3b8e4002 100644 --- a/app/controllers/speech_balloons_controller.rb +++ b/app/controllers/speech_balloons_controller.rb @@ -1,160 +1,44 @@ class SpeechBalloonsController < ApplicationController - layout 'test' if MagicNumber['test_layout'] - if MagicNumber['run_mode'] == 0 - before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy] - before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] + if Manifest.manifest.magic_numbers['run_mode'] == 0 + before_filter :authenticate_user, :only => [] + before_filter :authenticate_author, :only => [] else - before_filter :authenticate_reader, :only => [:index, :show] - before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy] - before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] + before_filter :authenticate_reader, :only => [ + :index, :show, :by_panel, :by_author, :by_speech_balloon_template + ] + before_filter :authenticate_user, :only => [] + before_filter :authenticate_author, :only => [] end - before_filter :authenticate_admin!, :only => [:list, :browse] - + def index - @page = SpeechBalloon.page params[:page] - @page_size = SpeechBalloon.page_size params[:page_size] - @speech_balloons = SpeechBalloon.list(@page, @page_size) - - respond_to do |format| - format.html { - @paginate = SpeechBalloon.list_paginate(@page, @page_size) - } - format.json { render json: @speech_balloons.to_json(SpeechBalloon.list_json_opt) } - end + filer_list end - def show - @speech_balloon = SpeechBalloon.show(params[:id], [@user, @admin]) - respond_to do |format| - format.html # show.html.erb - format.prof { render :template => 'top/prof', :layout => true } - format.prof { render :template => 'top/prof', :layout => true } - format.json { render json: @speech_balloon.to_json(SpeechBalloon.show_json_opt) } - end + def by_panel + filer_list end - def list - @speech_balloons = SpeechBalloon.all - - respond_to do |format| - format.html { render layout: 'system' } - format.json { render json: @speech_balloons } - end - end - - def browse - @speech_balloon = SpeechBalloon.find(params[:id]) - - respond_to do |format| - format.html { render layout: 'system' } - format.json { render json: @speech_balloon } - end + def by_author + filer_list end - - def new - raise Pettanr::NotWork unless @author.working_panel - @speech_balloon_template = SpeechBalloonTemplate.show params[:speech_balloon_template_id], @author - - @panel = Panel.edit(@author.working_panel, @author) - @speech_balloon = SpeechBalloon.new :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id - @speech_balloon.boost - @speech_balloon.supply_default - @speech_balloon.get_balloon.supply_default - @speech_balloon.get_speech.supply_default - - respond_to do |format| - format.html { - render @speech_balloon_template.engine_name + '/speech_balloons/new' - } - format.json { render :json => @speech_balloon.to_json(SpeechBalloon.show_json_opt) } - end - end - - def edit - @speech_balloon = SpeechBalloon.show(params[:id], @author) - @speech_balloon_template = @speech_balloon.speech_balloon_template - @panel = Panel.edit(@speech_balloon.panel.id, @author) - - @speech_balloon.boost - - respond_to do |format| - format.html { - render @speech_balloon_template.engine_name + '/speech_balloons/edit' - } - end - end - - def create - raise Pettanr::NotWork unless @author.working_panel - SpeechBalloon.fold_extend_settings params - @panel = Panel.edit(@author.working_panel, @author) - @speech_balloon = SpeechBalloon.new - @speech_balloon.attributes = params[:speech_balloon] - - @speech_balloon_template = @speech_balloon.speech_balloon_template - @speech_balloon.boost - - params[:speech_balloon][:balloon_attributes][:system_picture_id] = @speech_balloon.get_balloon.select_system_picture - - @speech_balloon.overwrite @panel.id - - respond_to do |format| - if @speech_balloon.valid? and @speech_balloon.store(@author, params[:speech_balloon]) - flash[:notice] = I18n.t('flash.notice.created', :model => Panel.model_name.human) - format.html { redirect_to @panel } - format.json { render json: @panel.panel_elements_as_json, status: :created, location: @panel } - else - flash[:notice] = I18n.t('flash.notice.not_created', :model => SpeechBalloon.model_name.human) - format.html { - render @speech_balloon_template.engine_name + '/speech_balloons/new' - } - format.json { render json: @speech_balloon.errors, status: :unprocessable_entity } - end - end + + def by_speech_balloon_template + filer_list end - - def update - SpeechBalloon.fold_extend_settings params - @speech_balloon = SpeechBalloon.show(params[:id], @author) - @speech_balloon.attributes = params[:speech_balloon] - - @speech_balloon_template = @speech_balloon.speech_balloon_template - @speech_balloon.boost - - params[:speech_balloon][:balloon_attributes][:system_picture_id] = @speech_balloon.get_balloon.select_system_picture - - @panel = Panel.edit(@speech_balloon.panel.id, @author) - @speech_balloon.overwrite @panel.id - - respond_to do |format| - if @speech_balloon.valid? and @speech_balloon.store(@author, params[:speech_balloon]) - flash[:notice] = I18n.t('flash.notice.updated', :model => SpeechBalloon.model_name.human) - format.html { redirect_to @speech_balloon } - format.json { head :ok } - else - flash[:notice] = I18n.t('flash.notice.not_updated', :model => SpeechBalloon.model_name.human) - format.html { - render @speech_balloon.speech_balloon_template.engine_name + '/speech_balloons/edit' - } - format.json { render json: @speech_balloon.errors, status: :unprocessable_entity } - end - end + + def show_html_format format + format.html { + @item.boosts 'post' + @speech_balloon = @item + } end - - def destroy - @speech_balloon = SpeechBalloon.show(params[:id], @author) - @panel = Panel.edit(@speech_balloon.panel.id, @author) - + + def show + set_show respond_to do |format| - if @speech_balloon.remove @author - flash[:notice] = I18n.t('flash.notice.destroyed', :model => SpeechBalloon.model_name.human) - format.html { redirect_to @panel } - format.json { head :ok } - else - flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => SpeechBalloon.model_name.human) - format.html { redirect_to @speech_balloon } - format.json { render json: @speech_balloon.errors, status: :unprocessable_entity } - end + show_html_format format + show_prof_format format + show_json_format format end end