# -*- 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