# -*- encoding : utf-8 -*- class Admin::AnnonceCatsController < ApplicationController before_filter :auth_admin layout "admin" before_filter :find_annonce_cats def index end def reorder i = 1 params[:annonce_cats_ids].each do |id| annonce_cat = AnnonceCat.find(id) annonce_cat.position = i puts i annonce_cat.update_attributes :position => i i = i + 1 end if params[:menu_id] and params[:menu_id] != "" and @menu = Menu.find(params[:menu_id]) find_annonce_cats end flash[:success] = "Menus réorganisés avec succcès." end def cible @annonce_cats = AnnonceCat.all render :layout => false end def new @annonce_cat = AnnonceCat.new(:parent_id => params[:parent_id]) end def edit @annonce_cat = AnnonceCat.find(params[:id]) end def create @annonce_cat = AnnonceCat.new(params.require(:annonce_cat).permit!) if @annonce_cat.save params[:parent_id] =@annonce_cat.parent_id self.find_annonce_cats flash[:notice] = "La catégorie à été ajouté avec succès." else render :action => "new" end end def update @annonce_cat = AnnonceCat.find(params[:id]) if request.xhr? @annonce_cat_parent = @annonce_cat.parent if @annonce_cat.parent @annonce_cats = AnnonceCat.where(:parent_id => @annonce_cat.parent_id).order(:position) end if params[:annonce_cat][:parent_id] and params[:annonce_cat][:parent_id] == "no-menu-selected" params[:annonce_cat][:parent_id] = nil end @reorder = true if params[:reorder] respond_to do |format| if @annonce_cat.update_attributes(params.require(:annonce_cat).permit!) #AnnonceCat.all.each do |mi| # mi.set_permalink #end flash[:notice] = "Le menu à été modifié avec succès." format.html { redirect_to(admin_annonce_cats_path(:parent_id => @annonce_cat.parent_id)) } if @reorder format.js { render :action => "update" } else format.js { @annonce_cat = AnnonceCat.find(@annonce_cat.id) render :action => "update_row" } end else flash[:error] = "Cet élément de menu n'a pas pu être déplacé. Vérifiez que son lien permanent n'éxiste pas déjà dans l'élément cible." if @reorder format.js { render :action => "update_reorder_failled" } else format.html { render :action => "edit" } format.js { render :action => "edit" } end end end end def destroy @annonce_cat = AnnonceCat.find(params[:id]) params[:parent_id] = @annonce_cat.parent_id @annonce_cat.destroy find_annonce_cats flash[:notice] = "La catégorie à bien été supprimée." end protected def find_annonce_cats params[:parent_id] = nil if !params[:parent_id] or params[:parent_id] == "" @annonce_cat_parent = AnnonceCat.find(params[:parent_id]) if params[:parent_id] @annonce_cats = AnnonceCat.where(:parent_id => params[:parent_id]).order("position ASC") end end