# -*- encoding : utf-8 -*-
class Portlet::MapContentsController < ApplicationController
  layout "admin"

  def new
    @map_content = MapContent.new(:zoom => 12, :view => 1)

    respond_to do |format|
      format.html {
        if request.xhr?
          render :layout => false
        end
      }
      format.js { render :template => "portlet/shared/new" }
    end
  end

  def create
    @map_content = MapContent.new(params.require(:map_content).permit!)

    respond_to do |format|
      if @map_content.save
        
        
        @portlet = Portlet.create(:position => params[:position], :block_id => params[:block_id], :content => @map_content)
        
        
        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+" (ajout d'un portlet)")
          end
        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
    @map_content = MapContent.find(params[:id])
    @portlet = @map_content.portlet
    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
    @map_content = MapContent.find(params[:id])
    @portlet = @map_content.portlet
    
    respond_to do |format|
          if @map_content.update_attributes(params.require(:map_content).permit!)
        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+" (modification d'un portlet)")
          end
        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])
    @map_content = MapContent.find(params[:id])
    @map_content.destroy
    
    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+" (suppression d'un portlet)")
      end
    end
    
    respond_to do |format|
      format.html {}
      format.js { render :template => "portlet/shared/destroy" }
    end
  end

 
end