mtoros-mega_menus 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -16,6 +16,7 @@ rails_generators/menu/templates/views/edit_menu_form.rjs
16
16
  rails_generators/menu/templates/views/edit_menu.rjs
17
17
  rails_generators/menu/templates/views/up_menu.rjs
18
18
  rails_generators/menu/templates/views/down_menu.rjs
19
+ rails_generators/menu/templates/views/publish_menu.rjs
19
20
  rails_generators/menu/templates/views/_menu.html.erb
20
21
  rails_generators/menu/templates/helpers/menu_helper.rb
21
22
  rails_generators/menu/templates/models/create_menus.rb
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'rake'
4
4
  begin
5
5
  require 'echoe'
6
6
 
7
- Echoe.new('mega_menus', '0.7.3') do |p|
7
+ Echoe.new('mega_menus', '0.7.4') do |p|
8
8
  p.summary = "Treeview menu Gem for Rails"
9
9
  p.description = "Adds a model, controller to perform the tasks in order to have a treeview menu. To use this gem simply install it and write script/generate menu name_of_the_menu"
10
10
  p.author = ['Marko Toros']
@@ -16,6 +16,32 @@ module MegaMenus
16
16
  return FALSE
17
17
  end
18
18
 
19
+ def setPublished
20
+ self.published=TRUE
21
+ self.save!
22
+ parent_id=self.id
23
+ allmenus=self.class.all
24
+ allmenus.each do |m|
25
+ if(m.isChildOf(parent_id))
26
+ m.published=TRUE
27
+ m.save!
28
+ end
29
+ end
30
+ end
31
+
32
+ def setNotPublished
33
+ self.published=FALSE
34
+ self.save!
35
+ parent_id=self.id
36
+ allmenus=self.class.all
37
+ allmenus.each do |m|
38
+ if(m.isChildOf(parent_id))
39
+ m.published=FALSE
40
+ m.save!
41
+ end
42
+ end
43
+ end
44
+
19
45
  def children
20
46
  self.class.children(self.id)
21
47
  end
@@ -61,7 +87,8 @@ module MegaMenus
61
87
  child = self.new( "title" => title,
62
88
  "link" => link,
63
89
  "parent_id" => menu_id,
64
- "position" => position)
90
+ "position" => position,
91
+ "published" => FALSE)
65
92
  child.save!
66
93
  end
67
94
 
data/mega_menus.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{mega_menus}
3
- s.version = "0.7.3"
3
+ s.version = "0.7.4"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Marko Toros"]
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.description = %q{Adds a model, controller to perform the tasks in order to have a treeview menu. To use this gem simply install it and write script/generate menu name_of_the_menu}
9
9
  s.email = %q{mtoros@gmail.com}
10
10
  s.extra_rdoc_files = ["README.rdoc", "lib/mega_menus.rb", "lib/mega_menus/editor.rb", "lib/mega_menus/view_helpers.rb"]
11
- s.files = ["Manifest", "README.rdoc", "init.rb", "Rakefile", "lib/mega_menus.rb", "lib/mega_menus/editor.rb", "lib/mega_menus/view_helpers.rb", "test/test_editor.rb", "rails_generators/menu/USAGE", "rails_generators/menu/menu_generator.rb", "rails_generators/menu/templates/controllers/menu_controller.rb", "rails_generators/menu/templates/views/add_menu_form.rjs", "rails_generators/menu/templates/views/add_menu.rjs", "rails_generators/menu/templates/views/delete_menu.rjs", "rails_generators/menu/templates/views/edit_menu_form.rjs", "rails_generators/menu/templates/views/edit_menu.rjs", "rails_generators/menu/templates/views/up_menu.rjs", "rails_generators/menu/templates/views/down_menu.rjs", "rails_generators/menu/templates/views/_menu.html.erb", "rails_generators/menu/templates/helpers/menu_helper.rb", "rails_generators/menu/templates/models/create_menus.rb", "rails_generators/menu/templates/models/menu.rb", "mega_menus.gemspec"]
11
+ s.files = ["Manifest", "README.rdoc", "init.rb", "Rakefile", "lib/mega_menus.rb", "lib/mega_menus/editor.rb", "lib/mega_menus/view_helpers.rb", "test/test_editor.rb", "rails_generators/menu/USAGE", "rails_generators/menu/menu_generator.rb", "rails_generators/menu/templates/controllers/menu_controller.rb", "rails_generators/menu/templates/views/add_menu_form.rjs", "rails_generators/menu/templates/views/add_menu.rjs", "rails_generators/menu/templates/views/delete_menu.rjs", "rails_generators/menu/templates/views/edit_menu_form.rjs", "rails_generators/menu/templates/views/edit_menu.rjs", "rails_generators/menu/templates/views/up_menu.rjs", "rails_generators/menu/templates/views/down_menu.rjs", "rails_generators/menu/templates/views/publish_menu.rjs", "rails_generators/menu/templates/views/_menu.html.erb", "rails_generators/menu/templates/helpers/menu_helper.rb", "rails_generators/menu/templates/models/create_menus.rb", "rails_generators/menu/templates/models/menu.rb", "mega_menus.gemspec"]
12
12
  s.has_rdoc = true
13
13
  s.homepage = %q{}
14
14
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Mega_menus", "--main", "README.rdoc"]
@@ -12,6 +12,7 @@ class MenuGenerator < Rails::Generator::NamedBase
12
12
  m.template "views/edit_menu.rjs", "app/views/#{file_name}editor/edit_menu.rjs"
13
13
  m.template "views/up_menu.rjs", "app/views/#{file_name}editor/up_menu.rjs"
14
14
  m.template "views/down_menu.rjs", "app/views/#{file_name}editor/down_menu.rjs"
15
+ m.template "views/publish_menu.rjs", "app/views/#{file_name}editor/publish_menu.rjs"
15
16
  m.template "views/_menu.html.erb", "app/views/#{file_name}editor/_#{file_name}.html.erb"
16
17
  #create the helper
17
18
  m.template "helpers/menu_helper.rb", "app/helpers/#{file_name}_helper.rb"
@@ -10,6 +10,15 @@ class <%= "#{file_name.capitalize+ "editor" + "Controller"}" %> < ApplicationCon
10
10
 
11
11
  end
12
12
 
13
+ def publish_menu
14
+ m=<%= file_name.capitalize %>.find(params[:menu_id].to_i)
15
+ if(m.published)
16
+ m.setNotPublished
17
+ else
18
+ m.setPublished
19
+ end
20
+ end
21
+
13
22
  def delete_menu
14
23
  temp=<%= file_name.capitalize %>.find(params[:menu_id]).parent_id
15
24
 
@@ -34,59 +34,75 @@ module <%= "#{file_name.capitalize}Helper" %>
34
34
  firstm=TRUE
35
35
  allmenus.each do |m|
36
36
  #write the actual menu line for each record
37
- if(m.id==1 and m.children.empty? and admin_depth.include?(m.depth))
38
- concat( "<ul id=\"ul_menu_#{m.depth}\" class=\"ul_menu_depth_#{m.depth} ul_menu\">")
39
- if(admin_condition)
40
- concat( "<li id=\"root_add_#{m.id}\" class=\"root_add\">")
41
- concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
42
- add_menu_form(menu_model, menu_controller, m.id)
43
- concat( "</li>")
44
- end
45
- firstm=FALSE
46
- end
47
- if(m.id!=1 and m.isChildOf(admin_parent))
48
- #check if your depth is correct
49
- if(admin_depth.include?(m.depth))
50
- if(m.depth > pmd or firstm)
51
- concat( "<ul id=\"ul_menu_#{m.depth}\" class=\"ul_menu_depth_#{m.depth} ul_menu\">")
37
+ if(m.published==TRUE or admin_condition==TRUE)
38
+ if(m.id==1 and m.children.empty? and admin_depth.include?(m.depth))
39
+ concat( "<ul id=\"ul_menu_#{m.depth}\" class=\"ul_menu_depth_#{m.depth} ul_menu\">")
52
40
  if(admin_condition)
53
- concat( "<li id=\"root_add_#{m.parent_id}\" class=\"root_add\">")
54
- concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.parent_id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
55
- add_menu_form(menu_model, menu_controller, m.parent_id)
56
- concat( "</li>")
57
- end
58
- firstm=FALSE
59
- elsif(m.depth < pmd)
60
- pmd.downto(m.depth+1) {concat( "</ul>")}
61
- end
62
- pmd=m.depth
63
-
64
- #make the selected view appear nicer
65
- if(m.id==menu_id.to_i)
66
- concat( "<li id=\"li_menu_#{m.id}\" class=\"li_menu_class_selected\">")
67
- concat( "<a class=\"selected_menu\", id =\"menu_link_#{m.id}\" href=\"#{m.link}?menu_id=#{m.id}\"> #{m.title} </a>")
68
- session[:menu_id]=menu_id
69
- else
70
- concat( "<li id=\"li_menu_#{m.id}\" class=\"li_menu_class\">")
71
- concat( "<a class=\"menu_link\", id =\"menu_link_#{m.id}\" href=\"#{m.link}?menu_id=#{m.id}\"> #{m.title} </a>")
72
- end
73
- if(admin_condition)
74
- #remove the comment on the following line depending on the view you want to have
75
- #concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
76
- concat( link_to_remote( "<span>Delete</span>", {:url => {:controller => menu_controller, :action => 'delete_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}, :confirm => "Are you sure?"}, {:class => "menu_links_delete", :title=> "Delete",:id => "delete_menu_link_#{m.id}"}))
77
- concat( link_to_remote( "<span>Edit</span>", {:url => {:controller => menu_controller, :action => 'edit_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_edit",:title=> "Edit", :id => "edit_menu_link_#{m.id}"}))
78
- concat( link_to_remote( "<span>Up</span>", {:url => {:controller => menu_controller, :action => 'up_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_up", :title=> "Up",:id => "up_menu_link_#{m.id}"}))
79
- concat( link_to_remote( "<span>Down</span>", {:url => {:controller => menu_controller, :action => 'down_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_down", :title=> "Down", :id => "down_menu_link_#{m.id}"}))
80
- edit_menu_form(menu_model, menu_controller,m)
81
- end
82
- concat( "</li>")
83
- if(admin_condition and m.children.empty? and admin_depth.include?(m.depth+1))
84
- concat( "<ul id=\"ul_menu_#{m.depth+1}\" class=\"ul_menu_depth_#{m.depth+1} ul_menu\">")
85
41
  concat( "<li id=\"root_add_#{m.id}\" class=\"root_add\">")
86
42
  concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
87
43
  add_menu_form(menu_model, menu_controller, m.id)
88
44
  concat( "</li>")
89
- concat( "</ul>")
45
+ end
46
+ firstm=FALSE
47
+ end
48
+ if(m.id!=1 and m.isChildOf(admin_parent))
49
+ #check if your depth is correct
50
+ if(admin_depth.include?(m.depth))
51
+ if(m.depth > pmd or firstm)
52
+ concat( "<ul id=\"ul_menu_#{m.depth}\" class=\"ul_menu_depth_#{m.depth} ul_menu\">")
53
+ if(admin_condition)
54
+ concat( "<li id=\"root_add_#{m.parent_id}\" class=\"root_add\">")
55
+ concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.parent_id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
56
+ add_menu_form(menu_model, menu_controller, m.parent_id)
57
+ concat( "</li>")
58
+ end
59
+ firstm=FALSE
60
+ elsif(m.depth < pmd)
61
+ pmd.downto(m.depth+1) {concat( "</ul>")}
62
+ end
63
+ pmd=m.depth
64
+
65
+ #make the selected view appear nicer
66
+ if(m.id==menu_id.to_i)
67
+ concat( "<li id=\"li_menu_#{m.id}\" class=\"li_menu_class_selected\">")
68
+ concat( "<a class=\"selected_menu\", id =\"menu_link_#{m.id}\" href=\"#{m.link}?menu_id=#{m.id}\"> #{m.title} </a>")
69
+ session[:menu_id]=menu_id
70
+ else
71
+ concat( "<li id=\"li_menu_#{m.id}\" class=\"li_menu_class\">")
72
+ concat( "<a class=\"menu_link\", id =\"menu_link_#{m.id}\" href=\"#{m.link}?menu_id=#{m.id}\"> #{m.title} </a>")
73
+ end
74
+ if(admin_condition)
75
+ #remove the comment on the following line depending on the view you want to have
76
+ #concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
77
+ # DELETE
78
+ concat( link_to_remote( "<span>Delete</span>", {:url => {:controller => menu_controller, :action => 'delete_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}, :confirm => "Are you sure?"}, {:class => "menu_links_delete", :title=> "Delete",:id => "delete_menu_link_#{m.id}"}))
79
+ # EDIT
80
+ concat( link_to_remote( "<span>Edit</span>", {:url => {:controller => menu_controller, :action => 'edit_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_edit",:title=> "Edit", :id => "edit_menu_link_#{m.id}"}))
81
+ # UP
82
+ concat( link_to_remote( "<span>Up</span>", {:url => {:controller => menu_controller, :action => 'up_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_up", :title=> "Up",:id => "up_menu_link_#{m.id}"}))
83
+ # DOWN
84
+ concat( link_to_remote( "<span>Down</span>", {:url => {:controller => menu_controller, :action => 'down_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_down", :title=> "Down", :id => "down_menu_link_#{m.id}"}))
85
+ # PUBLISH
86
+ if(m.published==TRUE)
87
+ mp="menu_links_published"
88
+ mpt="published"
89
+ else
90
+ mp="menu_links_not_published"
91
+ mpt="not published"
92
+ end
93
+ concat( link_to_remote( "<span>Publish</span>", {:url => {:controller => menu_controller, :action => 'publish_menu', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => mp, :title=> mpt, :id => "publish_menu_link_#{m.id}"}))
94
+ # EDIT FORM
95
+ edit_menu_form(menu_model, menu_controller,m)
96
+ end
97
+ concat( "</li>")
98
+ if(admin_condition and m.children.empty? and admin_depth.include?(m.depth+1))
99
+ concat( "<ul id=\"ul_menu_#{m.depth+1}\" class=\"ul_menu_depth_#{m.depth+1} ul_menu\">")
100
+ concat( "<li id=\"root_add_#{m.id}\" class=\"root_add\">")
101
+ concat( link_to_remote( "<span>Add</span>", {:url => {:controller => menu_controller, :action => 'add_menu_form', :menu_id => m.id,:menu_model=>menu_model, :menu_controller=>menu_controller}}, {:class => "menu_links_add", :title=> "Add",:id => "add_menu_link_#{m.id}"}))
102
+ add_menu_form(menu_model, menu_controller, m.id)
103
+ concat( "</li>")
104
+ concat( "</ul>")
105
+ end
90
106
  end
91
107
  end
92
108
  end
@@ -7,10 +7,11 @@ class <%= "#{'Create' + file_name.capitalize + 's'}" %> < ActiveRecord::Migratio
7
7
  t.integer :position
8
8
  t.integer :absolute_position
9
9
  t.integer :depth
10
+ t.bool :published
10
11
  t.timestamps
11
12
  end
12
13
 
13
- <%= file_name.capitalize %>.create :id => 1, :position=>0, :absolute_position=>0, :depth=>1, :parent_id=>0
14
+ <%= file_name.capitalize %>.create :id => 1, :position=>0, :absolute_position=>0, :depth=>1, :parent_id=>0,:published=>FALSE
14
15
  end
15
16
 
16
17
 
@@ -0,0 +1 @@
1
+ page.replace "ul_menu_1", :partial => <%= "'#{file_name}editor/#{file_name}'" %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mtoros-mega_menus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marko Toros
@@ -51,6 +51,7 @@ files:
51
51
  - rails_generators/menu/templates/views/edit_menu.rjs
52
52
  - rails_generators/menu/templates/views/up_menu.rjs
53
53
  - rails_generators/menu/templates/views/down_menu.rjs
54
+ - rails_generators/menu/templates/views/publish_menu.rjs
54
55
  - rails_generators/menu/templates/views/_menu.html.erb
55
56
  - rails_generators/menu/templates/helpers/menu_helper.rb
56
57
  - rails_generators/menu/templates/models/create_menus.rb