# -*- encoding : utf-8 -*- class Portlet::BlockContentsController < ApplicationController layout "admin" def new @block_content = BlockContent.new(:nbr_columns => 2) respond_to do |format| format.html { if request.xhr? render :layout => false end } format.js { render :template => "portlet/shared/new" } end end def create @block_content = BlockContent.new(params.require(:block_content).permit!) respond_to do |format| if @block_content.save @block_content.nbr_columns.times do @block = Block.new(:block_name => "") @block.blockable = @block_content @block.save end @portlet = Portlet.create(:position => params[:position], :block_id => params[:block_id], :content => @block_content) if @portlet.block and @portlet.block.blockable @portlet.block.blockable.updated_at = Time.now @portlet.block.blockable.save end format.html { redirect_to([:admin, @portlet.block.blockable], :notice => 'Elément ajouté avec succès.') } format.js { render :template => "portlet/shared/create" } else format.html { render :action => "new" } format.js { render :template => "portlet/shared/new" } end end end def edit @block_content = BlockContent.find(params[:id]) @portlet = Portlet.find(params[:portlet_id]) respond_to do |format| format.html { if request.xhr? render :template => "portlet/shared/edit", :layout => false end } format.js { render :template => "portlet/shared/edit" } end end def show end def update @block_content = BlockContent.find(params[:id]) @portlet = @block_content.portlet respond_to do |format| if @block_content.update_attributes(params.require(:block_content).permit!) if @portlet.block and @portlet.block.blockable @portlet.block.blockable.updated_at = Time.now @portlet.block.blockable.save end format.html { redirect_to([:admin, @portlet.block.blockable], :notice => 'Titre mis à jour.') } format.js { render :template => "portlet/shared/update" } else format.html { render :action => "portlet/shared/edit" } format.js { render :template => "portlet/shared/edit" } end end end def destroy @portlet = Portlet.find(params[:portlet_id]) @block_content = BlockContent.find(params[:id]) @block_content.destroy if @portlet.block and @portlet.block.blockable @portlet.block.blockable.updated_at = Time.now @portlet.block.blockable.save end respond_to do |format| format.html {} format.js { render :template => "portlet/shared/destroy" } end end end