gestion des cibles
This commit is contained in:
parent
cc4bbc24e3
commit
55bdbb93b8
@ -3,6 +3,11 @@ class Admin::CiblesController < ApplicationController
|
||||
before_filter :authenticate_admin!
|
||||
|
||||
|
||||
def index
|
||||
@cible_type = params[:cible_type] || "MenuItem"
|
||||
@cible_id = params[:cible_id] || nil
|
||||
end
|
||||
|
||||
def new
|
||||
@resource = params[:resource_type].to_s.constantize.new()
|
||||
|
||||
|
@ -77,4 +77,10 @@ class Admin::FoldersController < ApplicationController
|
||||
|
||||
flash[:notice] = "Le dossier à bien été supprimé."
|
||||
end
|
||||
|
||||
def cible
|
||||
@folders = Folder.all
|
||||
|
||||
render :layout => false
|
||||
end
|
||||
end
|
||||
|
@ -171,4 +171,37 @@ class Admin::MenuItemsController < ApplicationController
|
||||
@menu_item= MenuItem.find(params[:id])
|
||||
end
|
||||
|
||||
def cible
|
||||
|
||||
params[:menu_id] = params[:menu_id] || 1
|
||||
|
||||
if params[:menu_id] and params[:menu_id] != "" and @menu = Menu.find(params[:menu_id])
|
||||
|
||||
|
||||
params[:parent_id] = nil if !params[:parent_id]
|
||||
|
||||
@menu_parent = MenuItem.find(params[:parent_id]) if params[:parent_id]
|
||||
|
||||
|
||||
|
||||
@order = "position ASC"
|
||||
|
||||
@menu_items = @menu.menu_items.where(:parent_id => params[:parent_id]).order(@order).page(magick_page()).per(magick_per_page())
|
||||
|
||||
if @menu_items.num_pages.to_i < magick_page().to_i
|
||||
params[:page] = @menu_items.num_pages
|
||||
@menu_items = @menu.menu_items.where(:parent_id => params[:parent_id]).order(@order).page(magick_page()).per(magick_per_page())
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
redirect_to admin_root_path, :alert => "Un menu doit être séléctionné."
|
||||
end
|
||||
|
||||
render :layout => false
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -1,7 +1,9 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
class Article < ActiveRecord::Base
|
||||
include Rails.application.routes.url_helpers
|
||||
|
||||
belongs_to :image_file
|
||||
belongs_to :folder
|
||||
belongs_to :folder
|
||||
|
||||
|
||||
after_create :after_creation
|
||||
@ -15,6 +17,19 @@ belongs_to :folder
|
||||
validates :title, :presence => true
|
||||
validates :slug, :presence => true, :uniqueness => {:scope => :folder_id}
|
||||
|
||||
|
||||
def cible_url
|
||||
|
||||
article_path(:slug => self.slug, :folder_slug => self.folder.slug)
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
def cible_name
|
||||
"Article : #{self.title}"
|
||||
end
|
||||
|
||||
def after_creation
|
||||
@block = Block.new(:block_name => "Contenu")
|
||||
@block.blockable = self
|
||||
|
@ -1,5 +1,7 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
class Folder < ActiveRecord::Base
|
||||
include Rails.application.routes.url_helpers
|
||||
|
||||
belongs_to :image_file
|
||||
|
||||
|
||||
@ -14,6 +16,19 @@ class Folder < ActiveRecord::Base
|
||||
validates :title, :presence => true
|
||||
validates :slug, :presence => true, :uniqueness => true
|
||||
|
||||
|
||||
|
||||
def cible_url
|
||||
|
||||
folder_path(:slug => self.slug)
|
||||
|
||||
|
||||
end
|
||||
|
||||
def cible_name
|
||||
"Dossier : #{self.title}"
|
||||
end
|
||||
|
||||
def after_creation
|
||||
@block = Block.new(:block_name => "en tête")
|
||||
@block.blockable = self
|
||||
@ -21,9 +36,7 @@ class Folder < ActiveRecord::Base
|
||||
|
||||
ContentType.all.each do |content_type|
|
||||
@block.content_types << content_type
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
before_validation do
|
||||
|
@ -1,6 +1,8 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
class MenuItem < ActiveRecord::Base
|
||||
|
||||
include Rails.application.routes.url_helpers
|
||||
|
||||
belongs_to :menu_content, :polymorphic => true
|
||||
belongs_to :menu
|
||||
validates :name, :presence => true
|
||||
@ -23,6 +25,10 @@ class MenuItem < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def cible_url
|
||||
menu_item_path(:url => self.permalink)
|
||||
end
|
||||
|
||||
before_validation do
|
||||
self.slug = self.slug.to_slug
|
||||
|
||||
@ -88,7 +94,9 @@ class MenuItem < ActiveRecord::Base
|
||||
end
|
||||
|
||||
|
||||
|
||||
def cible_name
|
||||
"Elément de menu : #{self.name}"
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
7
app/views/admin/cibles/_cible_place.html.haml
Normal file
7
app/views/admin/cibles/_cible_place.html.haml
Normal file
@ -0,0 +1,7 @@
|
||||
#select_cible_type_bar.bar.dark_blue
|
||||
-CibleType.all.each do |cible_type|
|
||||
=link_to cible_type.name, admin_cibles_path(:cible_type => cible_type.slug, :i_cible_type => params[:i_cible_type], :i_cible_id => params[:i_cible_id],:manager => params[:manager] ), :remote => true, :class => ("active" if cible_type.slug == @cible_type).to_s
|
||||
|
||||
|
||||
|
||||
=auto_load_div(eval("cible_admin_#{@cible_type.tableize}_path(:i_cible_type => params[:i_cible_type], :i_cible_id => params[:i_cible_id],:manager => params[:manager])"),"cible_#{@cible_type}")
|
1
app/views/admin/cibles/index.html.haml
Normal file
1
app/views/admin/cibles/index.html.haml
Normal file
@ -0,0 +1 @@
|
||||
#cible_place= render :partial => "cible_place"
|
2
app/views/admin/cibles/index.js.erb
Normal file
2
app/views/admin/cibles/index.js.erb
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
$('#cible_place').html("<%=escape_javascript(render(:partial => "cible_place"))%>");
|
11
app/views/admin/folders/cible.html.haml
Normal file
11
app/views/admin/folders/cible.html.haml
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
-Folder.all.each do |folder|
|
||||
|
||||
%h4
|
||||
=folder.title
|
||||
= link_to i(:check_alt, :gray_light,12), "#",:onclick => "manager_send_cible("+folder.id.to_s+", 'Folder', '#{escape_javascript(folder.cible_name)}');return false;" if params[:manager]
|
||||
|
||||
-folder.articles.each do |article|
|
||||
%p
|
||||
=article.title
|
||||
= link_to i(:check_alt, :gray_light,12), "#",:onclick => "manager_send_cible("+article.id.to_s+", 'Article', '#{escape_javascript(article.cible_name)}');return false;" if params[:manager]
|
6
app/views/admin/menu_items/cible.html.haml
Normal file
6
app/views/admin/menu_items/cible.html.haml
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
-@menu_items.each do |menu_item|
|
||||
.menu_item_cible_line
|
||||
=menu_item.name
|
||||
= link_to i(:check_alt, :gray_light,12), "#",:onclick => "manager_send_cible("+menu_item.id.to_s+", 'MenuItem', '#{escape_javascript(menu_item.cible_name)}');return false;" if params[:manager]
|
||||
|
Loading…
x
Reference in New Issue
Block a user