# -*- encoding : utf-8 -*- class Portlet::PortletsController < ApplicationController layout "admin" def new @portlet = Portlet.new(:block_id => params[:block_id]) respond_to do |format| format.html { if request.xhr? render :layout => false end } format.js end end def show @portlet = Portlet.find(params[:id]) render :template => "portlet/shared/update" end def edit @portlet = Portlet.find(params[:id]) if request.xhr? render :layout => false end end def update @portlet = Portlet.find(params[:id]) flash[:notice] = "Le contenu à été mis à jour avec succès." if @portlet.update_attributes(params[:portlet]) if @portlet.block and @portlet.block.blockable @portlet.block.blockable.updated_at = Time.now @portlet.block.blockable.save if @portlet.block.blockable_type == "Page" #to_my_log("[Page_"+@portlet.block.blockable.id.to_s+"] "+"Modification de la page "+@portlet.block.blockable.title.to_s) end end render :action => "update" else render :action => "edit" end end def destroy @portlet = Portlet.find(params[:id]) @portlet.destroy flash[:notice] = "Le contenu à été supprimé avec succès." if @portlet.block and @portlet.block.blockable @portlet.block.blockable.updated_at = Time.now @portlet.block.blockable.save end end def ajax_create @t = params[:type] if @t == "Title" @content = TitleContent.new() elsif @t == "Text" @content = TextContent.new() elsif @t == "Image" @content = ImageContent.new() elsif @t == "Gallery" @content = GalleryContent.new() elsif @t == "Link" @content = LinkContent.new() elsif @t == "Break" @content = BreakContent.new() elsif @t == "Html" @content = HtmlContent.new() elsif @t == "Download" @content = DownloadContent.new() elsif @t == "DynamicContent" @content = DynamicContent.new() end @portlet = Portlet.new(:block_id => params[:block_id]) @content.portlets << @portlet @content.save! if @portlet.block and @portlet.block.blockable @portlet.block.blockable.updated_at = Time.now @portlet.block.blockable.save end flash[:notice] = "Le contenu à été créé avec succès." end def reorder params[:blocks].each do |index, block| block_id = block["block_id"].to_i i = 0 if block["block_portlet_ids"].kind_of?(Array) block["block_portlet_ids"].each do |portlet_id| i += 1 Portlet.find(portlet_id.to_i).update_attributes(:position => i, :block_id => block_id) end end end render :inline => "ok" end end