beef-pages 0.3.5 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -4,14 +4,14 @@ require 'rake'
4
4
  begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
- gem.name = "pages"
7
+ gem.name = "beef-pages"
8
8
  gem.summary = %Q{Pages engine}
9
9
  gem.email = "steve@wearebeef.co.uk"
10
10
  gem.homepage = "http://github.com/stengland/pages"
11
11
  gem.authors = ["Steve England"]
12
12
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
13
13
  end
14
-
14
+ Jeweler::GemcutterTasks.new
15
15
  rescue LoadError
16
16
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
17
17
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.5
1
+ 0.3.6
data/app/models/page.rb CHANGED
@@ -15,6 +15,12 @@ class Page < ActiveRecord::Base
15
15
  validates_presence_of :title
16
16
  validates_presence_of :body, :tag_list, :description, :if => :publish
17
17
 
18
+ LOCK_LEVEL_DELETE = 1
19
+ LOCK_LEVEL_PERMALINK = 2
20
+ LOCK_LEVEL_TEMPLATE = 3
21
+ LOCK_LEVEL_SUBPAGE = 4
22
+ LOCK_LEVEL_TITLE = 5
23
+
18
24
  def first_child?
19
25
  self == self.self_and_siblings.first
20
26
  end
@@ -43,8 +49,19 @@ class Page < ActiveRecord::Base
43
49
  read_attribute(:lock_level) || 0
44
50
  end
45
51
 
52
+ def permalink=(permalink)
53
+ unless permalink.blank? || lock_level >= LOCK_LEVEL_PERMALINK
54
+ write_attribute :permalink, permalink.parameterize
55
+ @permalink_written = true
56
+ end
57
+ end
58
+
46
59
  private
47
60
 
61
+ def set_url
62
+ write_attribute :permalink, title.parameterize unless permalink_written or !title_changed? || lock_level >= LOCK_LEVEL_PERMALINK
63
+ end
64
+
48
65
  # takes a given array of pages and recursively (or not) reindexes
49
66
  # if departing_child is supplied, it is removed from the array so
50
67
  # that former siblings are reindexed as though it was already
@@ -7,9 +7,10 @@
7
7
  <td class="date"><%= page.published_at.to_formatted_s(:short) unless page.published_at.nil? %></td>
8
8
  <td class="date"><%= page.published_to.to_formatted_s(:short) unless page.published_to.nil? %></td>
9
9
  <td class="action"><%= link_to 'Show', page_path(page.permalink), :class => 'show' if page.published? %></td>
10
- <td class="action"><%= link_to 'Add page', new_admin_page_page_path(page), :class => 'add', :title => "Add a sub-page under #{page.title}" %></td>
10
+ <td class="action"><%= link_to 'Add page', new_admin_page_page_path(page), :class => 'add', :title => "Add a sub-page under #{page.title}" unless page.lock_level >= Page::LOCK_LEVEL_SUBPAGE %></td>
11
+ <% logger.debug Page::LOCK_LEVEL_SUBPAGE.inspect %>
11
12
  <td class="action"><%= link_to 'Edit', [:admin, page], :class => 'edit' %></td>
12
- <td class="action"><%= link_to('Destroy', admin_page_path(page), :confirm => 'Are you sure?', :method => :delete, :class => 'delete') unless page.lock_level >=1 || !current_user.admin? %></td>
13
- <td class="action"><%= link_to 'up', move_up_admin_page_path(page), { :class => "page_up" } if current_user.admin? && !page.first? %></td>
14
- <td class="action"><%= link_to 'down', move_down_admin_page_path(page), { :class => 'page_down' } if current_user.admin? && !page.last? %></td>
13
+ <td class="action"><%= link_to('Destroy', admin_page_path(page), :confirm => 'Are you sure?', :method => :delete, :class => 'delete') unless page.lock_level >= Page::LOCK_LEVEL_DELETE %></td>
14
+ <td class="action"><%= link_to 'up', move_up_admin_page_path(page), { :class => "page_up" } unless page.first? %></td>
15
+ <td class="action"><%= link_to 'down', move_down_admin_page_path(page), { :class => 'page_down' } unless page.last? %></td>
15
16
  </tr>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <ul class="choices">
4
4
  <% unless @parent.nil? %>
5
- <li><%= link_to 'New page', new_admin_page_page_path(@parent), :class => "button", :title => "Add a sub-page under #{@parent.title}" %></li>
5
+ <%= "<li>#{link_to 'New page', new_admin_page_page_path(@parent), :class => 'button', :title => "Add a sub-page under #{@parent.title}"}</li>" unless @parent.lock_level >= Page::LOCK_LEVEL_SUBPAGE %>
6
6
  <% if @parent.parent.nil? %>
7
7
  <li><%= link_to "All top pages", admin_pages_path(), :class => "up button" %></li>
8
8
  <% else %>
@@ -10,7 +10,7 @@
10
10
 
11
11
  <%= f.hidden_field :parent_id %>
12
12
 
13
- <% if @page.lock_level < 3 %>
13
+ <% if @page.lock_level < Page::LOCK_LEVEL_TITLE %>
14
14
  <p>
15
15
  <%= f.label :title, 'Title*' %><br/>
16
16
  <%= f.text_field :title, :class => 'title' %>
@@ -22,7 +22,7 @@
22
22
  </p>
23
23
  <% end %>
24
24
 
25
- <% if @page.lock_level < 2 %>
25
+ <% if @page.lock_level < Page::LOCK_LEVEL_PERMALINK %>
26
26
  <p>
27
27
  <%= f.label :permalink, "URL" %><br/>
28
28
  <%= root_url %><%= f.text_field :permalink %>
@@ -45,14 +45,14 @@
45
45
  <%= f.text_field :tag_list, :class => 'long' %>
46
46
  </p>
47
47
 
48
- <% if @page.lock_level < 3 %>
48
+ <% if @page.lock_level < Page::LOCK_LEVEL_TEMPLATE %>
49
49
  <p>
50
50
  <%= f.label :template %>
51
51
  <%= f.select :template, get_template_names.collect{|t| [ t.titleize, t ] } %>
52
52
  </p>
53
53
  <% else %>
54
54
  <p>
55
- <%= f.label :template %>
55
+ <%= f.label :template %> <%= @page.template.titleize %>
56
56
  (locked)
57
57
  </p>
58
58
  <% end %>
@@ -68,7 +68,7 @@
68
68
  <%= preview_link(@page) %>
69
69
  <%= f.submit 'Publish', :name => 'page[publish]' %>
70
70
  <%= f.submit 'Save as draft', :name => 'page[hide]' %>
71
- or <%= link_to 'Cancel', admin_articles_path %>
71
+ or <%= link_to 'Cancel', admin_pages_path %>
72
72
  </p>
73
73
 
74
74
  <% end %>
@@ -4,12 +4,12 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{pages}
8
- s.version = "0.3.5"
7
+ s.name = %q{beef-pages}
8
+ s.version = "0.3.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steve England"]
12
- s.date = %q{2009-09-25}
12
+ s.date = %q{2009-10-30}
13
13
  s.email = %q{steve@wearebeef.co.uk}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -31,13 +31,13 @@ Gem::Specification.new do |s|
31
31
  "app/views/admin/pages/preview.rjs",
32
32
  "app/views/admin/pages/show.html.erb",
33
33
  "app/views/pages/_naviagtion.html.erb",
34
+ "beef-pages.gemspec",
34
35
  "config/routes.rb",
35
36
  "generators/page_tempate/page_template_generator.rb",
36
37
  "generators/page_tempate/templates/default.html.erb",
37
38
  "generators/pages_migration/pages_migration_generator.rb",
38
39
  "generators/pages_migration/templates/migration.rb",
39
40
  "lib/pages.rb",
40
- "pages.gemspec",
41
41
  "test/pages_test.rb",
42
42
  "test/test_helper.rb"
43
43
  ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beef-pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve England
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-25 00:00:00 -07:00
12
+ date: 2009-10-30 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -38,18 +38,19 @@ files:
38
38
  - app/views/admin/pages/preview.rjs
39
39
  - app/views/admin/pages/show.html.erb
40
40
  - app/views/pages/_naviagtion.html.erb
41
+ - beef-pages.gemspec
41
42
  - config/routes.rb
42
43
  - generators/page_tempate/page_template_generator.rb
43
44
  - generators/page_tempate/templates/default.html.erb
44
45
  - generators/pages_migration/pages_migration_generator.rb
45
46
  - generators/pages_migration/templates/migration.rb
46
47
  - lib/pages.rb
47
- - pages.gemspec
48
48
  - test/pages_test.rb
49
49
  - test/test_helper.rb
50
- has_rdoc: false
50
+ has_rdoc: true
51
51
  homepage: http://github.com/stengland/pages
52
- licenses:
52
+ licenses: []
53
+
53
54
  post_install_message:
54
55
  rdoc_options:
55
56
  - --charset=UTF-8