cartoonist-pages 0.0.8 → 0.0.9

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.
@@ -1,4 +1,4 @@
1
- class PageAdminController < CartoonistController
1
+ class Admin::PageController < CartoonistController
2
2
  before_filter :preview!, :only => [:preview]
3
3
  before_filter :ensure_ssl!
4
4
  before_filter :check_admin!
@@ -21,13 +21,13 @@ class PageAdminController < CartoonistController
21
21
  path = params[:path].downcase
22
22
  raise "Invalid path" unless path =~ /^[-_a-z0-9]+$/
23
23
  page = Page.create :title => params[:title], :path => path, :content => params[:content], :locked => true
24
- redirect_to "/page_admin/#{page.id}/edit"
24
+ redirect_to "/admin/page/#{page.id}/edit"
25
25
  end
26
26
 
27
27
  def edit
28
28
  @page = Page.find params[:id].to_i
29
29
  rescue ActiveRecord::RecordNotFound
30
- redirect_to "/page_admin/new"
30
+ redirect_to "/admin/page/new"
31
31
  end
32
32
 
33
33
  def update
@@ -49,20 +49,20 @@ class PageAdminController < CartoonistController
49
49
  end
50
50
 
51
51
  page.save!
52
- redirect_to "/page_admin/#{page.id}/edit"
52
+ redirect_to "/admin/page/#{page.id}/edit"
53
53
  end
54
54
 
55
55
  def lock
56
56
  page = Page.find params[:id].to_i
57
57
  page.locked = true
58
58
  page.save!
59
- redirect_to "/page_admin/#{page.id}/edit"
59
+ redirect_to "/admin/page/#{page.id}/edit"
60
60
  end
61
61
 
62
62
  def unlock
63
63
  page = Page.find params[:id].to_i
64
64
  page.locked = false
65
65
  page.save!
66
- redirect_to "/page_admin/#{page.id}/edit"
66
+ redirect_to "/admin/page/#{page.id}/edit"
67
67
  end
68
68
  end
@@ -1,4 +1,4 @@
1
- module PageAdminHelper
1
+ module Admin::PageHelper
2
2
  def lock_toggle_target
3
3
  if @page.locked
4
4
  "unlock"
data/app/models/page.rb CHANGED
@@ -1,6 +1,20 @@
1
1
  class Page < ActiveRecord::Base
2
+ include Postable
3
+ include Entity
4
+ entity_type :page
5
+ entity_url &:url
6
+ entity_edit_url &:edit_url
7
+ entity_description &:title
2
8
  attr_accessible :title, :path, :posted_at, :content, :locked, :comments, :in_sitemap
3
9
 
10
+ def url
11
+ "/#{path}"
12
+ end
13
+
14
+ def edit_url
15
+ "/admin/page/#{id}/edit"
16
+ end
17
+
4
18
  def has_comments?
5
19
  comments
6
20
  end
@@ -18,14 +32,6 @@ class Page < ActiveRecord::Base
18
32
  where :in_sitemap => true
19
33
  end
20
34
 
21
- def posted
22
- where "posted_at IS NOT NULL"
23
- end
24
-
25
- def unposted
26
- where "posted_at IS NULL"
27
- end
28
-
29
35
  def ordered
30
36
  order "pages.title ASC"
31
37
  end
@@ -1,14 +1,19 @@
1
+ <% Cartoonist::Entity.hooks_with(:edit_entity_before_partial).each do |hook| %>
2
+ <%= render :partial => hook.edit_entity_before_partial, :locals => { :entity => @page } %>
3
+ <hr />
4
+ <% end %>
5
+
1
6
  <p>
2
- <a href="/page_admin/<%= @page.path %>/preview">Preview this page</a>
7
+ <a href="/admin/page/<%= @page.path %>/preview">Preview this page</a>
3
8
  </p>
4
9
 
5
10
  <p>
6
- <%= form_tag "/page_admin/#{@page.id}/#{lock_toggle_target}", :method => :post do %>
11
+ <%= form_tag "/admin/page/#{@page.id}/#{lock_toggle_target}", :method => :post do %>
7
12
  <input type="submit" value="<%= lock_toggle_target %>" />
8
13
  <% end %>
9
14
  </p>
10
15
 
11
- <%= form_tag "/page_admin/#{@page.id}", :method => :put do %>
16
+ <%= form_tag "/admin/page/#{@page.id}", :method => :put do %>
12
17
  <p>
13
18
  <label>
14
19
  <input type="checkbox" name="posted" value="true" <%= checked="checked".html_safe if @page.posted_at %> <%= lock_disabled %> />
@@ -65,7 +70,7 @@
65
70
  $(".preview-content").click(function() {
66
71
  var $this = $(this).attr("disabled", "disabled");
67
72
  $.ajax({
68
- url: "/page_admin/preview_content",
73
+ url: "/admin/page/preview_content",
69
74
  type: "post",
70
75
  data: {
71
76
  authenticity_token: $("form input[name='authenticity_token']").val(),
@@ -85,3 +90,8 @@
85
90
  });
86
91
  });
87
92
  <% end %>
93
+
94
+ <% Cartoonist::Entity.hooks_with(:edit_entity_after_partial).each do |hook| %>
95
+ <hr />
96
+ <%= render :partial => hook.edit_entity_after_partial, :locals => { :entity => @page } %>
97
+ <% end %>
@@ -3,8 +3,8 @@
3
3
  <ul>
4
4
  <% @unposted.each do |page| %>
5
5
  <li>
6
- <a href="/page_admin/<%= page.id %>/edit"><%= page.title %></a>
7
- (<a href="/page_admin/<%= page.path %>/preview"><%= t "admin.page.index.preview" %></a>)
6
+ <a href="/admin/page/<%= page.id %>/edit"><%= page.title %></a>
7
+ (<a href="/admin/page/<%= page.path %>/preview"><%= t "admin.page.index.preview" %></a>)
8
8
  </li>
9
9
  <% end %>
10
10
  </ul>
@@ -14,8 +14,8 @@
14
14
  <ul>
15
15
  <% @posted.each do |page| %>
16
16
  <li>
17
- <a href="/page_admin/<%= page.id %>/edit"><%= page.title %></a>
18
- (<a href="/page_admin/<%= page.path %>/preview"><%= t "admin.page.index.preview" %></a>)
17
+ <a href="/admin/page/<%= page.id %>/edit"><%= page.title %></a>
18
+ (<a href="/admin/page/<%= page.path %>/preview"><%= t "admin.page.index.preview" %></a>)
19
19
  (<a href="/<%= page.path %>"><%= t "admin.page.index.show" %></a>)
20
20
  </li>
21
21
  <% end %>
@@ -1,4 +1,4 @@
1
- <%= form_tag "/page_admin", :method => :post do %>
1
+ <%= form_tag "/admin/page", :method => :post do %>
2
2
  <p>
3
3
  Path: <input type="text" name="path" autofocus="autofocus" size="20" /><br />
4
4
  </p>
@@ -29,7 +29,7 @@
29
29
  $(".preview-content").click(function() {
30
30
  var $this = $(this).attr("disabled", "disabled");
31
31
  $.ajax({
32
- url: "/page_admin/preview_content",
32
+ url: "/admin/page/preview_content",
33
33
  type: "post",
34
34
  data: {
35
35
  authenticity_token: $("form input[name='authenticity_token']").val(),
@@ -1,6 +1,6 @@
1
1
  <% content_for :subtabs do %>
2
- <a class="subtab" href="/page_admin"><%= t "admin.page.layout.list" %></a>
3
- <a class="subtab" href="/page_admin/new"><%= t "admin.page.layout.new" %></a>
2
+ <a class="subtab" href="/admin/page"><%= t "admin.page.layout.list" %></a>
3
+ <a class="subtab" href="/admin/page/new"><%= t "admin.page.layout.new" %></a>
4
4
  <% end %>
5
5
 
6
6
  <% content_for :page_title, t("admin.page.layout.section") %>
@@ -13,3 +13,6 @@ en:
13
13
  list: List
14
14
  new: New Page
15
15
  section: Pages
16
+ cartoonist:
17
+ entity:
18
+ page: Page
@@ -1,6 +1,7 @@
1
1
  module CartoonistPages
2
2
  class Engine < ::Rails::Engine
3
- Cartoonist::Admin::Tab.add :pages, :url => "/page_admin", :order => 2
3
+ Cartoonist::Entity.add :page, "Page"
4
+ Cartoonist::Admin::Tab.add :pages, :url => "/admin/page", :order => 2
4
5
  Cartoonist::Migration.add_for self
5
6
 
6
7
  Cartoonist::Backup.for :pages do
@@ -9,7 +10,7 @@ module CartoonistPages
9
10
 
10
11
  Cartoonist::Sitemap.add do
11
12
  Page.sitemap.map do |page|
12
- SitemapEntry.new "/#{page.path}", page.posted_at, :monthly, "0.4"
13
+ SitemapEntry.new page.entity_relative_url, page.posted_at, :monthly, "0.4"
13
14
  end
14
15
  end
15
16
 
@@ -18,17 +19,19 @@ module CartoonistPages
18
19
  end
19
20
 
20
21
  Cartoonist::Routes.add do
21
- resources :page_admin do
22
- member do
23
- post "lock"
24
- post "post"
25
- get "preview"
26
- post "unlock"
27
- post "unpost"
28
- end
22
+ namespace :admin do
23
+ resources :page do
24
+ member do
25
+ post "lock"
26
+ post "post"
27
+ get "preview"
28
+ post "unlock"
29
+ post "unpost"
30
+ end
29
31
 
30
- collection do
31
- post "preview_content"
32
+ collection do
33
+ post "preview_content"
34
+ end
32
35
  end
33
36
  end
34
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cartoonist-pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,19 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-24 00:00:00.000000000 Z
12
+ date: 2012-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cartoonist
16
- requirement: &8217840 !ruby/object:Gem::Requirement
16
+ requirement: &13672880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
20
20
  - !ruby/object:Gem::Version
21
- version: 0.0.8
21
+ version: 0.0.9
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *8217840
24
+ version_requirements: *13672880
25
25
  description: This core plugin for Cartoonist adds arbitrary pages.
26
26
  email: reasonnumber@gmail.com
27
27
  executables: []
@@ -29,16 +29,16 @@ extensions: []
29
29
  extra_rdoc_files: []
30
30
  files:
31
31
  - .gitignore
32
- - app/controllers/page_admin_controller.rb
32
+ - app/controllers/admin/page_controller.rb
33
33
  - app/controllers/page_controller.rb
34
- - app/helpers/page_admin_helper.rb
34
+ - app/helpers/admin/page_helper.rb
35
35
  - app/models/page.rb
36
+ - app/views/admin/page/edit.html.erb
37
+ - app/views/admin/page/index.html.erb
38
+ - app/views/admin/page/new.html.erb
39
+ - app/views/layouts/admin/page.html.erb
36
40
  - app/views/layouts/page.html.erb
37
- - app/views/layouts/page_admin.html.erb
38
41
  - app/views/page/show.html.erb
39
- - app/views/page_admin/edit.html.erb
40
- - app/views/page_admin/index.html.erb
41
- - app/views/page_admin/new.html.erb
42
42
  - cartoonist-pages.gemspec
43
43
  - config/locales/en.yml
44
44
  - db/migrate/20120316072549_create_pages.rb