X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fspeech_balloons_controller.rb;h=688d8cd51c61b50cd917bbc5fe7cbd1dc28bacc1;hb=cb811687cd15adff98b30f841617e35b8e3ccb85;hp=bc5aea82b212501f28ec314975a354389be25d63;hpb=9f5258607f0be5c8c6f4f8f9efb85ec462f33b68;p=pettanr%2Fpettanr.git diff --git a/app/controllers/speech_balloons_controller.rb b/app/controllers/speech_balloons_controller.rb index bc5aea82..688d8cd5 100644 --- a/app/controllers/speech_balloons_controller.rb +++ b/app/controllers/speech_balloons_controller.rb @@ -1,159 +1,65 @@ 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, :count, :count_by_panel, :count_by_author, :count_by_speech_balloon_template + ] + before_filter :authenticate_user, :only => [] + before_filter :authenticate_author, :only => [] end - before_filter :authenticate_admin!, :only => [:list, :browse] - + + def self.model + SpeechBalloon + end + 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.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 + def by_author + filer_list 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_speech_balloon_template + 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 + + def show_html_format format + format.html { + @item.boosts 'post' + @speech_balloon = @item + } 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 - + + def show + set_show respond_to do |format| - format.html { - render @speech_balloon_template.engine_name + '/speech_balloons/edit' - } + show_html_format format + show_prof_format format + show_json_format format 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 count + list_count 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 count_by_panel + list_count end - - def destroy - @speech_balloon = SpeechBalloon.show(params[:id], @author) - @panel = Panel.edit(@speech_balloon.panel.id, @author) - - 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 - end + + def count_by_author + list_count + end + + def count_by_speech_balloon_template + list_count end end