pages_cms 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +28 -18
- data/app/views/pages_cms/admin/pages/edit.html.haml +0 -5
- data/app/views/pages_cms/pages/_main.html.haml +2 -1
- data/lib/generators/pages_cms/Install_generator.rb +31 -19
- data/lib/pages_cms/version.rb +1 -1
- data/test/dummy/app/assets/javascripts/application.js +1 -1
- data/test/dummy/app/assets/stylesheets/pages_cms/pages_cms.scss +16 -0
- data/test/dummy/app/controllers/application_controller.rb +0 -8
- data/test/dummy/app/helpers/application_helper.rb +0 -5
- data/test/dummy/app/views/layouts/pages_cms/_header.html.erb +35 -0
- data/test/dummy/app/views/layouts/pages_cms/application.html.erb +34 -0
- data/test/dummy/app/views/pages_cms/admin/articles/_form.html.haml +12 -0
- data/test/dummy/app/views/pages_cms/admin/articles/edit.html.haml +3 -0
- data/test/dummy/app/views/pages_cms/admin/articles/index.html.haml +38 -0
- data/test/dummy/app/views/pages_cms/admin/articles/new.html.haml +3 -0
- data/test/dummy/app/views/pages_cms/admin/images/index.html.haml +15 -0
- data/test/dummy/app/views/pages_cms/admin/pages/_jumbotron_fields.html.haml +9 -0
- data/test/dummy/app/views/pages_cms/admin/pages/_page_block_fields.html.haml +19 -0
- data/test/dummy/app/views/pages_cms/admin/pages/_text_box_fields.html.haml +7 -0
- data/test/dummy/app/views/pages_cms/admin/pages/_thumbnail_fields.html.haml +8 -0
- data/test/dummy/app/views/pages_cms/admin/pages/edit.html.haml +45 -0
- data/test/dummy/app/views/pages_cms/admin/pages/index.html.haml +35 -0
- data/test/dummy/app/views/pages_cms/articles/index.html.erb +25 -0
- data/test/dummy/app/views/pages_cms/articles/show.html.haml +10 -0
- data/test/dummy/app/views/pages_cms/pages/_main.html.haml +21 -0
- data/test/dummy/app/views/pages_cms/pages/show.html.haml +15 -0
- data/test/dummy/config/routes.rb +0 -1
- data/test/dummy/db/migrate/20150616171349_create_initial_db.pages_cms.rb +95 -0
- data/test/dummy/db/schema.rb +122 -0
- data/test/dummy/log/development.log +286 -0
- metadata +42 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0694257868bb654ec40d1c90d6b94cffae5f2dc
|
4
|
+
data.tar.gz: 3454c415c9954566bf3f68d08fe8c46e07447e41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86450ff8b6936215eedacb550b7afb98a9bf645fc5ac5548ea3bd5062dac13e79e011da26b447129fe110750c05fbfd0409b9468c28bad18525a2801e7b3cc76
|
7
|
+
data.tar.gz: 62260a4f133a1402f76ce8e63d11b0b297ed7ac12dbf528d32244b07bb7f50480bcbc897c2741062849bed085721987eec77817ec7946b8004dbf9f70b14a53d
|
data/README.md
CHANGED
@@ -1,33 +1,42 @@
|
|
1
1
|
#PagesCms
|
2
2
|
|
3
|
-
|
3
|
+
> [Try out a demo](https://fierce-atoll-4068.herokuapp.com/)
|
4
4
|
|
5
|
-
|
5
|
+
Pages CMS uses nested forms and draggable items to allow the user to build a site within the predefined layout from a designer. It incorporates an image management system as well as a page management system. It's like a wordpress page builder on rails.
|
6
6
|
|
7
|
-
|
7
|
+
####Advantages
|
8
|
+
- Get hacking right away with out of the box support for bootstrap.
|
9
|
+
- Easily drag page layouts into the position you want them.
|
10
|
+
- Built in blog.
|
11
|
+
- Limited dependencies.
|
12
|
+
- Easily customized.
|
13
|
+
- Lightweight and easy to understand: Built with simple rails techniques everyone can understand.
|
8
14
|
|
9
|
-
|
15
|
+
## Installation
|
10
16
|
|
11
|
-
|
17
|
+
1. Add: `gem 'pages_cms'` to your `Gemfile`
|
18
|
+
2. Run: `$ rails generate pages_cms:install`
|
19
|
+
3. Add: `//= require cocoon` to your `application.js` file
|
12
20
|
|
13
|
-
|
21
|
+
This has built everything that PagesCMS needs to work, but to get hacking with some default styling and layout included, follow the next steps:
|
14
22
|
|
15
|
-
|
23
|
+
1. Run: `rails generate pages_cms:views`
|
24
|
+
2. Add: `gem "bootstrap-sass"` to your `Gemfile`
|
25
|
+
3. Add: `//= require bootstrap` to your `application.js`
|
26
|
+
4. Add: `*= require pages_cms/pages_cms` to your `application.css`
|
27
|
+
5. Run: `$ bundle install`
|
16
28
|
|
17
|
-
To get hacking immediately:
|
18
29
|
|
19
|
-
|
20
|
-
2. Add: `gem "bootstrap-sass"` to your gemfile
|
21
|
-
3. Add: `//= require cocoon` to your application.js
|
22
|
-
4. Add: `//= require bootstrap` to your application.js
|
23
|
-
5. Add: `*= require pages_cms/pages_cms` to your application.css
|
30
|
+
> You should now be able to go to `/admin/pages` and start building pages!
|
24
31
|
|
32
|
+
#### The generator has added three methods to your App:
|
25
33
|
|
26
|
-
|
34
|
+
| Method | Usage |
|
35
|
+
| ------------------------- | ------------------------------------------------------- |
|
36
|
+
| `logged_in_admin` | Authorizes controllers in the `PagesCms` engine |
|
37
|
+
| `current_user_is_admin?` | Verifies that the current user is an admin in the views |
|
38
|
+
| `slugged_path` | Creates a slug of the path for user generated pages |
|
27
39
|
|
28
|
-
This generator has added a `logged_in_admin` method to your application controller which will authorize the controllers in pages_cms/admin.
|
29
|
-
It has also added a helper method `current_user_is_admin?` to your application helper, this verifies in the view that a user is an admin.
|
30
|
-
It has also added a `slugged_path` helper method to your application helper, this provides a path helper to link to user pages.
|
31
40
|
Make sure to fill these methods out to secure your application.
|
32
41
|
|
33
42
|
##Contributing
|
@@ -38,4 +47,5 @@ More than welcome!
|
|
38
47
|
3. Submit Pull Request
|
39
48
|
|
40
49
|
##Decorators and Customization
|
41
|
-
|
50
|
+
|
51
|
+
Coming soon.
|
@@ -36,11 +36,6 @@
|
|
36
36
|
$( document ).ready(function() {
|
37
37
|
$('.sortable').sortable({items: '.nested-fields', handle: 'span'});
|
38
38
|
});
|
39
|
-
$('.sortable').sortable().bind('sortupdate', function(e, ui) {
|
40
|
-
$('.block-order').each(function(i){
|
41
|
-
$(this).val(i+1);
|
42
|
-
})
|
43
|
-
});
|
44
39
|
window.setInterval(function(){
|
45
40
|
$('.block-order').each(function(i){
|
46
41
|
$(this).val(i+1);
|
@@ -14,7 +14,8 @@
|
|
14
14
|
%div.jumbotron
|
15
15
|
%p
|
16
16
|
= raw jumbo.content_rendered
|
17
|
-
|
17
|
+
- unless jumbo.link.nil?
|
18
|
+
= link_to(PagesCms::Page.find_by_slug(jumbo.link).title, slugged_path(jumbo.link), class: 'btn btn-primary')
|
18
19
|
|
19
20
|
- block.text_boxes.each do |box|
|
20
21
|
%p
|
@@ -4,6 +4,9 @@ module PagesCms
|
|
4
4
|
class InstallGenerator < Rails::Generators::Base
|
5
5
|
|
6
6
|
def copy_migrations
|
7
|
+
puts ' '
|
8
|
+
puts ' Installing PagesCMS'
|
9
|
+
puts ' -------------------'
|
7
10
|
puts ' installing migrations'
|
8
11
|
`rake pages_cms:install:migrations`
|
9
12
|
end
|
@@ -14,10 +17,12 @@ module PagesCms
|
|
14
17
|
end
|
15
18
|
|
16
19
|
def create_home
|
17
|
-
puts ' create homepage'
|
18
|
-
page = Page.
|
19
|
-
page.
|
20
|
-
|
20
|
+
puts ' create initial homepage'
|
21
|
+
page = Page.new(title: 'Home')
|
22
|
+
if page.valid?
|
23
|
+
page.save
|
24
|
+
page.build_sidebar(show: true)
|
25
|
+
end
|
21
26
|
end
|
22
27
|
|
23
28
|
def add_route
|
@@ -31,10 +36,6 @@ module PagesCms
|
|
31
36
|
# Do something if admin
|
32
37
|
# is not logged in
|
33
38
|
# ie: redirect_to root_path unless current_user.admin
|
34
|
-
end
|
35
|
-
# added by PagesCMS. Use this helper to link to user created pages.
|
36
|
-
def slugged_path(page)
|
37
|
-
"/#{page.slug}"
|
38
39
|
end
|
39
40
|
RUBY
|
40
41
|
end
|
@@ -45,28 +46,39 @@ module PagesCms
|
|
45
46
|
# added by PagesCMS. Fill out this helper to protect your views.
|
46
47
|
def current_user_is_admin?
|
47
48
|
true
|
49
|
+
end
|
50
|
+
# added by PagesCMS. Use this helper to link to user created pages.
|
51
|
+
def slugged_path(page)
|
52
|
+
"/#{page.slug}"
|
48
53
|
end
|
49
54
|
RUBY
|
50
55
|
end
|
51
56
|
end
|
52
57
|
|
58
|
+
def add_javascript
|
59
|
+
js_manifest = 'app/assets/javascripts/application.js'
|
60
|
+
js_require_block = " //= require cocoon\n"
|
61
|
+
insert_into_file js_manifest, js_require_block, :after => "//= require jquery\n"
|
62
|
+
end
|
63
|
+
|
53
64
|
def instructions
|
54
65
|
puts ' '
|
55
|
-
puts ' To get hacking immediately:'
|
56
|
-
puts ' 1. Run: rails generate pages_cms:views'
|
57
|
-
puts ' 2. Add: gem "bootstrap-sass" to your
|
58
|
-
puts ' 3. Add: `//= require
|
59
|
-
puts ' 4. Add:
|
60
|
-
puts ' 5.
|
66
|
+
puts ' To get hacking immediately: '
|
67
|
+
puts ' 1. Run: `rails generate pages_cms:views` '
|
68
|
+
puts ' 2. Add: `gem "bootstrap-sass"` to your `Gemfile` '
|
69
|
+
puts ' 3. Add: `//= require bootstrap` to your `application.js` '
|
70
|
+
puts ' 4. Add: `*= require pages_cms/pages_cms` to your `application.css`'
|
71
|
+
puts ' 5. Run: `$ bundle install` '
|
61
72
|
puts ' '
|
62
73
|
puts ' You should now be able to go to /admin/pages and start building pages!'
|
63
|
-
puts ' '
|
64
|
-
puts ' This generator has added a `logged_in_admin` method to your application controller which will authorize the controllers in pages_cms/admin.'
|
65
|
-
puts ' It has also added a helper method `current_user_is_admin?` to your application helper, this verifies in the view that a user is an admin.'
|
66
|
-
puts ' It has also added a `slugged_path` helper method to your application helper, this provides a path helper to link to user pages.'
|
67
|
-
puts ' Make sure to fill these methods out to secure your application.'
|
68
74
|
end
|
69
75
|
|
70
76
|
end
|
71
77
|
end
|
72
78
|
end
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
data/lib/pages_cms/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
@import "bootstrap-sprockets";
|
2
|
+
@import "bootstrap";
|
3
|
+
.inline-form { display: inline-block; max-width: 200px; }
|
4
|
+
.indent-1 { margin-left: 2em; }
|
5
|
+
.indent-2 { margin-left: 3.5em; }
|
6
|
+
.small-text-area { width: 400px; }
|
7
|
+
.big { font-size: 3em; height: auto !important; }
|
8
|
+
.container-fluid { max-width: 1100px; }
|
9
|
+
.navbar { height: 50px; margin: 0; }
|
10
|
+
.gallery { height: 300px !important; width: auto; overflow: hidden;}
|
11
|
+
.center { text-align: center;}
|
12
|
+
.content { width: 700px; margin: auto;}
|
13
|
+
.block { border: #ccc thin solid; padding: 1em; margin-top: 1em; border-radius: 10px; position: relative; }
|
14
|
+
.med { font-size: 2em !important; height: auto !important; }
|
15
|
+
.right { width: auto; position: absolute; bottom: 1em; right: 1em; }
|
16
|
+
.sortable-placeholder { border: 1px dashed #CCC; background: none; height: 200px; }
|
@@ -3,12 +3,4 @@ class ApplicationController < ActionController::Base
|
|
3
3
|
# For APIs, you may want to use :null_session instead.
|
4
4
|
protect_from_forgery with: :exception
|
5
5
|
|
6
|
-
# added by PagesCMS. Fill out this helper to protect your controllers."
|
7
|
-
def logged_in_admin
|
8
|
-
# Do something if admin
|
9
|
-
# is not logged in
|
10
|
-
# ie: redirect_to root_path unless current_user.admin
|
11
|
-
end
|
12
|
-
|
13
|
-
|
14
6
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<nav class="navbar navbar-default">
|
2
|
+
<div class="container-fluid">
|
3
|
+
<!-- Brand and toggle get grouped for better mobile display -->
|
4
|
+
<div class="navbar-header">
|
5
|
+
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
6
|
+
<span class="sr-only">Toggle navigation</span>
|
7
|
+
<span class="icon-bar"></span>
|
8
|
+
<span class="icon-bar"></span>
|
9
|
+
<span class="icon-bar"></span>
|
10
|
+
</button>
|
11
|
+
<a class="navbar-brand" href="/">Brand</a>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<ul class="nav navbar-nav navbar-right">
|
15
|
+
<% PagesCms::Page.where(navbar_show: true).each do |page| %>
|
16
|
+
<% if page.children.exists? %>
|
17
|
+
<li class="dropdown">
|
18
|
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><%= page.title %><span class="caret"></span></a>
|
19
|
+
<ul class="dropdown-menu" role="menu">
|
20
|
+
<li><%= link_to page.title, slugged_path(page) %></li>
|
21
|
+
<% page.children.each do |child| %>
|
22
|
+
<li><%= link_to child.title, slugged_path(child) %></li>
|
23
|
+
<% end %>
|
24
|
+
</ul>
|
25
|
+
</li>
|
26
|
+
<% else %>
|
27
|
+
<li><%= link_to page.title, slugged_path(page) %></li>
|
28
|
+
<% end %>
|
29
|
+
<% end %>
|
30
|
+
<li><%= link_to 'Blog', articles_path %></li>
|
31
|
+
</ul>
|
32
|
+
|
33
|
+
</div><!-- /.navbar-collapse -->
|
34
|
+
</div><!-- /.container-fluid -->
|
35
|
+
</nav>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Coldogms</title>
|
5
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
6
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= render 'layouts/pages_cms/header' %>
|
12
|
+
|
13
|
+
<% flash.each do |message_type, message| %>
|
14
|
+
<div class="message alert alert-<%= message_type %>"><%= message %></div>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<div class="container-fluid">
|
18
|
+
<%= yield %>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<hr>
|
22
|
+
|
23
|
+
<% if current_user_is_admin? %>
|
24
|
+
<footer>
|
25
|
+
<ul>
|
26
|
+
<li><%= link_to 'Admin Pages', admin_pages_path %></li>
|
27
|
+
<li><%= link_to 'Admin Images', admin_images_path %></li>
|
28
|
+
<li><%= link_to 'Admin Articles', admin_articles_path %></li>
|
29
|
+
</ul>
|
30
|
+
</footer>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
</body>
|
34
|
+
</html>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
= form_for article, url: url, method: method do |f|
|
2
|
+
= f.text_field :title, placeholder: 'article title', class: 'form-control big'
|
3
|
+
= f.select(:image_id, PagesCms::Image.all.collect {|p| [p.name, p.id] }, {include_blank: 'Choose a picture'}, class: 'form-control inline-form')
|
4
|
+
= f.text_field :tags, placeholder: 'tags comma separated', class: 'form-control'
|
5
|
+
= f.text_area :content, placeholder: 'the content', class: 'form-control', rows: 20
|
6
|
+
= f.label :draft
|
7
|
+
= f.check_box :draft, value: false
|
8
|
+
= f.label :archived
|
9
|
+
= f.check_box :archived, value: false
|
10
|
+
= f.submit 'Submit', class: 'btn btn-primary'
|
11
|
+
|
12
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
%h1 Articles
|
2
|
+
|
3
|
+
= link_to 'New Article', new_admin_article_path, class: 'btn btn-default'
|
4
|
+
|
5
|
+
<hr>
|
6
|
+
|
7
|
+
= form_tag '#', method: :get, class: 'inline-form' do
|
8
|
+
= text_field_tag :search, params[:search], class: 'form-control inline-form', placeholder: 'search'
|
9
|
+
= select_tag(:status, options_for_select(%w"Archived Published Drafts", params[:status]), include_blank: 'Status', class: 'form-control inline-form')
|
10
|
+
<button class="btn btn-default btn-sm inline-form" type="submit">Search</button>
|
11
|
+
|
12
|
+
<hr>
|
13
|
+
|
14
|
+
%table.table
|
15
|
+
%thead
|
16
|
+
%tr
|
17
|
+
%th
|
18
|
+
Article
|
19
|
+
%th
|
20
|
+
Tags
|
21
|
+
%th
|
22
|
+
Created At
|
23
|
+
%th
|
24
|
+
Actions
|
25
|
+
- @articles.each do |article|
|
26
|
+
%tr
|
27
|
+
%th
|
28
|
+
= article.title
|
29
|
+
%th
|
30
|
+
- article.tags.each do |tag|
|
31
|
+
= link_to tag, articles_path(search: tag)
|
32
|
+
%th
|
33
|
+
= article.created_at.strftime("%B %d")
|
34
|
+
%th
|
35
|
+
= article.draft ? link_to( 'Publish',admin_article_path(article, article: { draft: false }), method: :put, class: 'btn btn-xs btn-default') : link_to( 'Make Draft',admin_article_path(article, article: { draft: true }), method: :put, class: 'btn btn-xs btn-default')
|
36
|
+
= link_to 'Archive', admin_article_path(article, article: { archived: false } ), method: :put, class: 'btn btn-xs btn-default'
|
37
|
+
= link_to 'Delete', admin_article_path(article), method: :delete, class: 'btn btn-xs btn-default'
|
38
|
+
= link_to 'Edit', edit_admin_article_path(article), class: 'btn btn-xs btn-default'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
%h1 Images
|
2
|
+
= form_for @image, url: admin_images_path, method: :post, multipart: true do |f|
|
3
|
+
= f.text_field :name, placeholder: 'give your image a title'
|
4
|
+
= f.file_field :file
|
5
|
+
= f.submit 'Upload', class: 'btn btn-primary'
|
6
|
+
|
7
|
+
<hr>
|
8
|
+
|
9
|
+
%div.row
|
10
|
+
- @images.each do |image|
|
11
|
+
%div.col-md-3.col-sm-4.col-xs-6.thumbnail
|
12
|
+
= raw "<img class='gallery' src='/images/#{image.file}' />"
|
13
|
+
%p
|
14
|
+
= link_to "/images/#{image.file}", "/images/#{image.file}"
|
15
|
+
= link_to 'delete', admin_image_path(image), method: :delete, class: 'btn btn-xs btn-default'
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.row
|
2
|
+
.nested-fields
|
3
|
+
%hr
|
4
|
+
%h5
|
5
|
+
Jumbotron
|
6
|
+
= link_to_remove_association 'remove', f
|
7
|
+
= f.text_area :content, placeholder: 'content', class: 'form-control', rows: 8
|
8
|
+
= f.label :link
|
9
|
+
= f.select(:link, PagesCms::Page.all.collect {|p| [p.title, p.slug] }, {include_blank: 'None'}, class: 'form-control inline-form')
|
@@ -0,0 +1,19 @@
|
|
1
|
+
.nested-fields
|
2
|
+
%div.block
|
3
|
+
<span style="cursor: crosshair">Reorder</span>
|
4
|
+
= f.text_field :name, placeholder: 'page block title (leave blank for no title)', class: 'form-control med'
|
5
|
+
= f.hidden_field :order, class: 'block-order'
|
6
|
+
%div
|
7
|
+
= f.fields_for :jumbotrons do |jumbotron|
|
8
|
+
= render 'jumbotron_fields', f: jumbotron
|
9
|
+
= f.fields_for :text_boxes do |text_box|
|
10
|
+
= render 'text_box_fields', f: text_box
|
11
|
+
%div.row
|
12
|
+
= f.fields_for :thumbnails do |thumbnail|
|
13
|
+
= render 'thumbnail_fields', f: thumbnail
|
14
|
+
%hr
|
15
|
+
= link_to_add_association 'Add Jumbotron', f, :jumbotrons, class: 'btn btn-default btn-xs'
|
16
|
+
= link_to_add_association 'Add Text Box', f, :text_boxes, class: 'btn btn-default btn-xs'
|
17
|
+
= link_to_add_association 'Add Thumbnail', f, :thumbnails, class: 'btn btn-default btn-xs'
|
18
|
+
%div.right
|
19
|
+
= link_to_remove_association 'Remove Block', f
|
@@ -0,0 +1,8 @@
|
|
1
|
+
.nested-fields
|
2
|
+
%div.col-md-4
|
3
|
+
%h5
|
4
|
+
Thumbnail
|
5
|
+
= link_to_remove_association 'remove', f
|
6
|
+
= f.select(:image_id, PagesCms::Image.all.collect {|p| [p.name, p.id] }, {include_blank: 'Choose a picture'}, class: 'form-control')
|
7
|
+
= f.select(:link, PagesCms::Page.all.collect {|p| [p.title, p.slug] }, {include_blank: 'Choose a link'}, class: 'form-control')
|
8
|
+
= f.text_area :content, placeholder: 'content', class: 'form-control', rows: 8
|
@@ -0,0 +1,45 @@
|
|
1
|
+
= form_for @page, url: admin_page_path(@page), class: 'inline-form form-horizontal' do |f|
|
2
|
+
%div.row
|
3
|
+
%div.col-md-8
|
4
|
+
%span
|
5
|
+
%h2
|
6
|
+
Edit
|
7
|
+
= @page.title
|
8
|
+
= link_to 'Preview', slugged_path(@page), class: 'btn btn-default btn-xs'
|
9
|
+
= f.label 'Show in top navbar '
|
10
|
+
= f.check_box :navbar_show
|
11
|
+
= f.label 'Show in sidebar '
|
12
|
+
= f.check_box :sidebar_show
|
13
|
+
= f.text_field :title, placeholder: 'page title', class: 'form-control big'
|
14
|
+
= f.text_field :meta_tags, placeholder: 'meta tags', class: 'form-control inline-form'
|
15
|
+
= f.text_field :meta_description, placeholder: 'meta description', class: 'form-control inline-form'
|
16
|
+
= f.select(:parent_id, PagesCms::Page.where(parent_id: nil).collect {|p| [p.title, p.id] }, {include_blank: 'Is a sub-page of'}, class: 'form-control inline-form')
|
17
|
+
= f.submit 'Save', class: 'btn btn-primary inline-form'
|
18
|
+
%div.sortable
|
19
|
+
= f.fields_for :page_blocks, f.object.page_blocks.order(:order) do |page_block|
|
20
|
+
= render 'page_block_fields', f: page_block
|
21
|
+
%hr
|
22
|
+
= link_to_add_association 'Add Block', f, :page_blocks
|
23
|
+
|
24
|
+
%div.col-md-3
|
25
|
+
%h4 Sidebar
|
26
|
+
= f.fields_for :sidebar, @sidebar do |ss|
|
27
|
+
= ss.text_area :content, placeholder: 'content', class: 'form-control', rows: '20'
|
28
|
+
= ss.label 'Show sidebar on this page '
|
29
|
+
= ss.check_box :show
|
30
|
+
= ss.select(:use_instead, PagesCms::Page.all.includes(:sidebar).collect {|p| [p.title, p.sidebar.id] unless p.sidebar.nil? }, {include_blank: 'Use this sidebar instead'}, class: 'form-control inline-form')
|
31
|
+
|
32
|
+
%div.row
|
33
|
+
= f.submit 'Save', class: 'btn btn-primary center-block'
|
34
|
+
|
35
|
+
:javascript
|
36
|
+
$( document ).ready(function() {
|
37
|
+
$('.sortable').sortable({items: '.nested-fields', handle: 'span'});
|
38
|
+
});
|
39
|
+
window.setInterval(function(){
|
40
|
+
$('.block-order').each(function(i){
|
41
|
+
$(this).val(i+1);
|
42
|
+
})
|
43
|
+
}, 500);
|
44
|
+
|
45
|
+
= javascript_include_tag 'pages_cms/sortable.js'
|
@@ -0,0 +1,35 @@
|
|
1
|
+
%h1 All Pages
|
2
|
+
|
3
|
+
= link_to 'New Page', admin_pages_path(page: {title: "my page #{PagesCms::Page.last.id.to_i+1}"}), method: :post, class: 'btn btn-default'
|
4
|
+
|
5
|
+
%table.table
|
6
|
+
%thead
|
7
|
+
%tr
|
8
|
+
%th
|
9
|
+
Page
|
10
|
+
%th
|
11
|
+
SubPage
|
12
|
+
%th
|
13
|
+
Actions
|
14
|
+
|
15
|
+
- @pages.each do |page|
|
16
|
+
%tr
|
17
|
+
%td
|
18
|
+
= page.title
|
19
|
+
%td
|
20
|
+
|
21
|
+
%td
|
22
|
+
= link_to 'edit', edit_admin_page_path(page), class: 'btn btn-default btn-xs'
|
23
|
+
= link_to 'show', slugged_path(page), class: 'btn btn-default btn-xs'
|
24
|
+
= link_to 'delete', admin_page_path(page), method: :delete, class: 'btn btn-default btn-xs'
|
25
|
+
- if page.children.exists?
|
26
|
+
- page.children.each do |subpage|
|
27
|
+
%tr
|
28
|
+
%td
|
29
|
+
|
30
|
+
%td
|
31
|
+
= subpage.title
|
32
|
+
%td
|
33
|
+
= link_to 'edit', edit_admin_page_path(subpage), class: 'btn btn-default btn-xs'
|
34
|
+
= link_to 'show', slugged_path(subpage), class: 'btn btn-default btn-xs'
|
35
|
+
= link_to 'delete', admin_page_path(subpage), method: :delete, class: 'btn btn-default btn-xs'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<h1>Blog</h1>
|
2
|
+
|
3
|
+
<%= form_tag '#', method: :get, class: 'inline-form' do %>
|
4
|
+
<label>Search</label>
|
5
|
+
<%= text_field_tag :search, params[:search], class: 'form-control inline-form' %>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<% @articles.each do |post| %>
|
9
|
+
<div class="content">
|
10
|
+
<% unless post.image.nil? %>
|
11
|
+
<div class="image-post" ><%= image_tag post.image.file %></div>
|
12
|
+
<% end %>
|
13
|
+
<div style="cursor: pointer;" onclick="window.location='/articles/<%= post.id.to_s %>';">
|
14
|
+
<h2 class="center"><%= post.title %></h2>
|
15
|
+
<h6>Posted <%= post.created_at.strftime("%B %d") %></h6>
|
16
|
+
<p><%= truncate(post.content, length: 200) %></p>
|
17
|
+
</div>
|
18
|
+
<div><%= link_to 'Read More', article_path(post) %></div>
|
19
|
+
<div class="tags">
|
20
|
+
<% post.tags.each do |tag| %>
|
21
|
+
<%= link_to tag, articles_path(search: tag), class: 'btn btn-default btn-xs' %>
|
22
|
+
<% end %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
<% end %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
- page.page_blocks.order(:order).each do |block|
|
2
|
+
%h2
|
3
|
+
= block.name unless block.name.blank?
|
4
|
+
- block.thumbnails.each do |thumb|
|
5
|
+
%div.thumbnail.col-md-4.col-sm-6
|
6
|
+
- if thumb.image
|
7
|
+
= image_tag thumb.image.file
|
8
|
+
- else
|
9
|
+
= image_tag '/images/1434315758_my_name.jpg'
|
10
|
+
%h4
|
11
|
+
= link_to raw(thumb.content_rendered), thumb.link
|
12
|
+
|
13
|
+
- block.jumbotrons.each do |jumbo|
|
14
|
+
%div.jumbotron
|
15
|
+
%p
|
16
|
+
= raw jumbo.content_rendered
|
17
|
+
= link_to PagesCms::Page.find_by_slug(jumbo.link).title, slugged_path(jumbo.link), class: 'btn btn-primary'
|
18
|
+
|
19
|
+
- block.text_boxes.each do |box|
|
20
|
+
%p
|
21
|
+
= raw box.content_rendered
|
@@ -0,0 +1,15 @@
|
|
1
|
+
%h1
|
2
|
+
= @page.title
|
3
|
+
- if @sidebar
|
4
|
+
%div.row
|
5
|
+
%div.col-md-8
|
6
|
+
= render partial: 'pages_cms/pages/main', locals: { page: @page }
|
7
|
+
%div.col-md-4
|
8
|
+
= raw @sidebar.content_rendered
|
9
|
+
%ul.nav.nav-pills.nav-stacked
|
10
|
+
- PagesCms::Page.where(sidebar_show: true).each do |link|
|
11
|
+
%li
|
12
|
+
= link_to link.title, slugged_path(link)
|
13
|
+
|
14
|
+
- else
|
15
|
+
= render partial: 'pages_cms/pages/main', locals: { page: @page }
|
data/test/dummy/config/routes.rb
CHANGED
@@ -0,0 +1,95 @@
|
|
1
|
+
# This migration comes from pages_cms (originally 20150609171657)
|
2
|
+
class CreateInitialDb < ActiveRecord::Migration
|
3
|
+
def change
|
4
|
+
|
5
|
+
create_table :pages_cms_pages do |t|
|
6
|
+
t.string :title
|
7
|
+
t.string :slug
|
8
|
+
t.string :meta_tags
|
9
|
+
t.string :meta_description
|
10
|
+
t.boolean :draft
|
11
|
+
t.integer :parent_id, index: true
|
12
|
+
t.string :order
|
13
|
+
t.boolean :navbar_show, default: true
|
14
|
+
t.boolean :sidebar_show, default: true
|
15
|
+
|
16
|
+
t.timestamps null: false
|
17
|
+
end
|
18
|
+
|
19
|
+
create_table :pages_cms_images do |t|
|
20
|
+
t.string :name
|
21
|
+
t.string :file
|
22
|
+
|
23
|
+
t.timestamps null: false
|
24
|
+
end
|
25
|
+
|
26
|
+
create_table :pages_cms_page_blocks do |t|
|
27
|
+
t.integer :page_id, index: true
|
28
|
+
t.integer :order
|
29
|
+
t.string :name
|
30
|
+
t.string :order
|
31
|
+
|
32
|
+
t.timestamps null: false
|
33
|
+
end
|
34
|
+
add_foreign_key :pages_cms_page_blocks, :pages_cms_pages, column: :page_id
|
35
|
+
|
36
|
+
create_table :pages_cms_thumbnails do |t|
|
37
|
+
t.integer :page_block_id, index: true
|
38
|
+
t.integer :image_id, index: true
|
39
|
+
t.text :content
|
40
|
+
t.text :content_rendered
|
41
|
+
t.string :link
|
42
|
+
t.string :order
|
43
|
+
|
44
|
+
t.timestamps null: false
|
45
|
+
end
|
46
|
+
add_foreign_key :pages_cms_thumbnails, :pages_cms_page_blocks, column: :page_block_id
|
47
|
+
add_foreign_key :pages_cms_thumbnails, :pages_cms_images, column: :image_id
|
48
|
+
|
49
|
+
create_table :pages_cms_jumbotrons do |t|
|
50
|
+
t.integer :page_block_id, index: true
|
51
|
+
t.text :content
|
52
|
+
t.text :content_rendered
|
53
|
+
t.string :link
|
54
|
+
t.string :order
|
55
|
+
|
56
|
+
t.timestamps null: false
|
57
|
+
end
|
58
|
+
add_foreign_key :pages_cms_jumbotrons, :pages_cms_page_blocks, column: :page_block_id
|
59
|
+
|
60
|
+
create_table :pages_cms_text_boxes do |t|
|
61
|
+
t.integer :page_block_id, index: true
|
62
|
+
t.text :content
|
63
|
+
t.text :content_rendered
|
64
|
+
t.string :order
|
65
|
+
|
66
|
+
t.timestamps null: false
|
67
|
+
end
|
68
|
+
add_foreign_key :pages_cms_text_boxes, :pages_cms_page_blocks, column: :page_block_id
|
69
|
+
|
70
|
+
create_table :pages_cms_sidebars do |t|
|
71
|
+
t.integer :page_id, index: true
|
72
|
+
t.text :content
|
73
|
+
t.text :content_rendered
|
74
|
+
t.boolean :show, default: true
|
75
|
+
t.integer :use_instead
|
76
|
+
|
77
|
+
t.timestamps null: false
|
78
|
+
end
|
79
|
+
add_foreign_key :pages_cms_sidebars, :pages_cms_pages, column: :page_id
|
80
|
+
|
81
|
+
create_table :pages_cms_articles do |t|
|
82
|
+
t.integer :image_id, index: true
|
83
|
+
t.text :content
|
84
|
+
t.text :content_rendered
|
85
|
+
t.string :title
|
86
|
+
t.boolean :draft
|
87
|
+
t.boolean :archived
|
88
|
+
t.text :tags, array: true, default: []
|
89
|
+
|
90
|
+
t.timestamps null: false
|
91
|
+
end
|
92
|
+
add_foreign_key :pages_cms_articles, :pages_cms_images, column: :image_id
|
93
|
+
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended that you check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(version: 20150616171349) do
|
15
|
+
|
16
|
+
# These are extensions that must be enabled in order to support this database
|
17
|
+
enable_extension "plpgsql"
|
18
|
+
|
19
|
+
create_table "pages_cms_articles", force: :cascade do |t|
|
20
|
+
t.integer "image_id"
|
21
|
+
t.text "content"
|
22
|
+
t.text "content_rendered"
|
23
|
+
t.string "title"
|
24
|
+
t.boolean "draft"
|
25
|
+
t.boolean "archived"
|
26
|
+
t.text "tags", default: [], array: true
|
27
|
+
t.datetime "created_at", null: false
|
28
|
+
t.datetime "updated_at", null: false
|
29
|
+
end
|
30
|
+
|
31
|
+
add_index "pages_cms_articles", ["image_id"], name: "index_pages_cms_articles_on_image_id", using: :btree
|
32
|
+
|
33
|
+
create_table "pages_cms_images", force: :cascade do |t|
|
34
|
+
t.string "name"
|
35
|
+
t.string "file"
|
36
|
+
t.datetime "created_at", null: false
|
37
|
+
t.datetime "updated_at", null: false
|
38
|
+
end
|
39
|
+
|
40
|
+
create_table "pages_cms_jumbotrons", force: :cascade do |t|
|
41
|
+
t.integer "page_block_id"
|
42
|
+
t.text "content"
|
43
|
+
t.text "content_rendered"
|
44
|
+
t.string "link"
|
45
|
+
t.string "order"
|
46
|
+
t.datetime "created_at", null: false
|
47
|
+
t.datetime "updated_at", null: false
|
48
|
+
end
|
49
|
+
|
50
|
+
add_index "pages_cms_jumbotrons", ["page_block_id"], name: "index_pages_cms_jumbotrons_on_page_block_id", using: :btree
|
51
|
+
|
52
|
+
create_table "pages_cms_page_blocks", force: :cascade do |t|
|
53
|
+
t.integer "page_id"
|
54
|
+
t.string "order"
|
55
|
+
t.string "name"
|
56
|
+
t.datetime "created_at", null: false
|
57
|
+
t.datetime "updated_at", null: false
|
58
|
+
end
|
59
|
+
|
60
|
+
add_index "pages_cms_page_blocks", ["page_id"], name: "index_pages_cms_page_blocks_on_page_id", using: :btree
|
61
|
+
|
62
|
+
create_table "pages_cms_pages", force: :cascade do |t|
|
63
|
+
t.string "title"
|
64
|
+
t.string "slug"
|
65
|
+
t.string "meta_tags"
|
66
|
+
t.string "meta_description"
|
67
|
+
t.boolean "draft"
|
68
|
+
t.integer "parent_id"
|
69
|
+
t.string "order"
|
70
|
+
t.boolean "navbar_show", default: true
|
71
|
+
t.boolean "sidebar_show", default: true
|
72
|
+
t.datetime "created_at", null: false
|
73
|
+
t.datetime "updated_at", null: false
|
74
|
+
end
|
75
|
+
|
76
|
+
add_index "pages_cms_pages", ["parent_id"], name: "index_pages_cms_pages_on_parent_id", using: :btree
|
77
|
+
|
78
|
+
create_table "pages_cms_sidebars", force: :cascade do |t|
|
79
|
+
t.integer "page_id"
|
80
|
+
t.text "content"
|
81
|
+
t.text "content_rendered"
|
82
|
+
t.boolean "show", default: true
|
83
|
+
t.integer "use_instead"
|
84
|
+
t.datetime "created_at", null: false
|
85
|
+
t.datetime "updated_at", null: false
|
86
|
+
end
|
87
|
+
|
88
|
+
add_index "pages_cms_sidebars", ["page_id"], name: "index_pages_cms_sidebars_on_page_id", using: :btree
|
89
|
+
|
90
|
+
create_table "pages_cms_text_boxes", force: :cascade do |t|
|
91
|
+
t.integer "page_block_id"
|
92
|
+
t.text "content"
|
93
|
+
t.text "content_rendered"
|
94
|
+
t.string "order"
|
95
|
+
t.datetime "created_at", null: false
|
96
|
+
t.datetime "updated_at", null: false
|
97
|
+
end
|
98
|
+
|
99
|
+
add_index "pages_cms_text_boxes", ["page_block_id"], name: "index_pages_cms_text_boxes_on_page_block_id", using: :btree
|
100
|
+
|
101
|
+
create_table "pages_cms_thumbnails", force: :cascade do |t|
|
102
|
+
t.integer "page_block_id"
|
103
|
+
t.integer "image_id"
|
104
|
+
t.text "content"
|
105
|
+
t.text "content_rendered"
|
106
|
+
t.string "link"
|
107
|
+
t.string "order"
|
108
|
+
t.datetime "created_at", null: false
|
109
|
+
t.datetime "updated_at", null: false
|
110
|
+
end
|
111
|
+
|
112
|
+
add_index "pages_cms_thumbnails", ["image_id"], name: "index_pages_cms_thumbnails_on_image_id", using: :btree
|
113
|
+
add_index "pages_cms_thumbnails", ["page_block_id"], name: "index_pages_cms_thumbnails_on_page_block_id", using: :btree
|
114
|
+
|
115
|
+
add_foreign_key "pages_cms_articles", "pages_cms_images", column: "image_id"
|
116
|
+
add_foreign_key "pages_cms_jumbotrons", "pages_cms_page_blocks", column: "page_block_id"
|
117
|
+
add_foreign_key "pages_cms_page_blocks", "pages_cms_pages", column: "page_id"
|
118
|
+
add_foreign_key "pages_cms_sidebars", "pages_cms_pages", column: "page_id"
|
119
|
+
add_foreign_key "pages_cms_text_boxes", "pages_cms_page_blocks", column: "page_block_id"
|
120
|
+
add_foreign_key "pages_cms_thumbnails", "pages_cms_images", column: "image_id"
|
121
|
+
add_foreign_key "pages_cms_thumbnails", "pages_cms_page_blocks", column: "page_block_id"
|
122
|
+
end
|
@@ -9060,3 +9060,289 @@ Started GET "/assets/application.self-7e59640942256e07125f15e51f7eada5a93b9b4587
|
|
9060
9060
|
|
9061
9061
|
|
9062
9062
|
Started GET "/assets/jquery_ujs.self-8e98a7a072a6cee1372d19fff9ff3e6aa1e39a37d89d6f06861637d061113ee7.js?body=1" for ::1 at 2015-06-15 15:29:22 -0700
|
9063
|
+
[1m[36mActiveRecord::SchemaMigration Load (18.4ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
9064
|
+
Migrating to CreateInitialDb (20150616170412)
|
9065
|
+
[1m[35m (21.2ms)[0m BEGIN
|
9066
|
+
[1m[36m (133.4ms)[0m [1mCREATE TABLE "pages_cms_pages" ("id" serial primary key, "title" character varying, "slug" character varying, "meta_tags" character varying, "meta_description" character varying, "draft" boolean, "parent_id" integer, "order" character varying, "navbar_show" boolean DEFAULT 't', "sidebar_show" boolean DEFAULT 't', "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9067
|
+
PG::DuplicateTable: ERROR: relation "pages_cms_pages" already exists
|
9068
|
+
: CREATE TABLE "pages_cms_pages" ("id" serial primary key, "title" character varying, "slug" character varying, "meta_tags" character varying, "meta_description" character varying, "draft" boolean, "parent_id" integer, "order" character varying, "navbar_show" boolean DEFAULT 't', "sidebar_show" boolean DEFAULT 't', "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
9069
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
9070
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
9071
|
+
[1m[35mPagesCms::Page Exists (2.8ms)[0m SELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1
|
9072
|
+
[1m[36m (0.4ms)[0m [1mROLLBACK[0m
|
9073
|
+
[1m[35m (0.1ms)[0m BEGIN
|
9074
|
+
[1m[36mPagesCms::Page Exists (0.5ms)[0m [1mSELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1[0m
|
9075
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
9076
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.6ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
9077
|
+
Migrating to CreateInitialDb (20150616170412)
|
9078
|
+
[1m[35m (0.2ms)[0m BEGIN
|
9079
|
+
[1m[36m (85.5ms)[0m [1mCREATE TABLE "pages_cms_pages" ("id" serial primary key, "title" character varying, "slug" character varying, "meta_tags" character varying, "meta_description" character varying, "draft" boolean, "parent_id" integer, "order" character varying, "navbar_show" boolean DEFAULT 't', "sidebar_show" boolean DEFAULT 't', "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9080
|
+
PG::DuplicateTable: ERROR: relation "pages_cms_pages" already exists
|
9081
|
+
: CREATE TABLE "pages_cms_pages" ("id" serial primary key, "title" character varying, "slug" character varying, "meta_tags" character varying, "meta_description" character varying, "draft" boolean, "parent_id" integer, "order" character varying, "navbar_show" boolean DEFAULT 't', "sidebar_show" boolean DEFAULT 't', "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
9082
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
9083
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
9084
|
+
[1m[35mPagesCms::Page Exists (2.1ms)[0m SELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1
|
9085
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
9086
|
+
[1m[35m (0.1ms)[0m BEGIN
|
9087
|
+
[1m[36mPagesCms::Page Exists (0.5ms)[0m [1mSELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1[0m
|
9088
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
9089
|
+
[1m[36m (255.3ms)[0m [1mCREATE TABLE "schema_migrations" ("version" character varying NOT NULL) [0m
|
9090
|
+
[1m[35m (25.1ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
9091
|
+
[1m[36mActiveRecord::SchemaMigration Load (1.4ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
9092
|
+
Migrating to CreateInitialDb (20150616171349)
|
9093
|
+
[1m[35m (0.3ms)[0m BEGIN
|
9094
|
+
[1m[36m (168.4ms)[0m [1mCREATE TABLE "pages_cms_pages" ("id" serial primary key, "title" character varying, "slug" character varying, "meta_tags" character varying, "meta_description" character varying, "draft" boolean, "parent_id" integer, "order" character varying, "navbar_show" boolean DEFAULT 't', "sidebar_show" boolean DEFAULT 't', "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9095
|
+
[1m[35m (1.8ms)[0m CREATE INDEX "index_pages_cms_pages_on_parent_id" ON "pages_cms_pages" ("parent_id")
|
9096
|
+
[1m[36m (6.1ms)[0m [1mCREATE TABLE "pages_cms_images" ("id" serial primary key, "name" character varying, "file" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9097
|
+
[1m[35m (5.6ms)[0m CREATE TABLE "pages_cms_page_blocks" ("id" serial primary key, "page_id" integer, "order" character varying, "name" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
9098
|
+
[1m[36m (11.4ms)[0m [1mCREATE INDEX "index_pages_cms_page_blocks_on_page_id" ON "pages_cms_page_blocks" ("page_id")[0m
|
9099
|
+
[1m[35m (130.6ms)[0m ALTER TABLE "pages_cms_page_blocks" ADD CONSTRAINT "fk_rails_2f78dfe9ef"
|
9100
|
+
FOREIGN KEY ("page_id")
|
9101
|
+
REFERENCES "pages_cms_pages" ("id")
|
9102
|
+
|
9103
|
+
[1m[36m (5.8ms)[0m [1mCREATE TABLE "pages_cms_thumbnails" ("id" serial primary key, "page_block_id" integer, "image_id" integer, "content" text, "content_rendered" text, "link" character varying, "order" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9104
|
+
[1m[35m (1.4ms)[0m CREATE INDEX "index_pages_cms_thumbnails_on_page_block_id" ON "pages_cms_thumbnails" ("page_block_id")
|
9105
|
+
[1m[36m (1.5ms)[0m [1mCREATE INDEX "index_pages_cms_thumbnails_on_image_id" ON "pages_cms_thumbnails" ("image_id")[0m
|
9106
|
+
[1m[35m (19.7ms)[0m ALTER TABLE "pages_cms_thumbnails" ADD CONSTRAINT "fk_rails_3968b879ef"
|
9107
|
+
FOREIGN KEY ("page_block_id")
|
9108
|
+
REFERENCES "pages_cms_page_blocks" ("id")
|
9109
|
+
|
9110
|
+
[1m[36m (1.6ms)[0m [1mALTER TABLE "pages_cms_thumbnails" ADD CONSTRAINT "fk_rails_94d9a79bcc"
|
9111
|
+
FOREIGN KEY ("image_id")
|
9112
|
+
REFERENCES "pages_cms_images" ("id")
|
9113
|
+
[0m
|
9114
|
+
[1m[35m (5.6ms)[0m CREATE TABLE "pages_cms_jumbotrons" ("id" serial primary key, "page_block_id" integer, "content" text, "content_rendered" text, "link" character varying, "order" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
9115
|
+
[1m[36m (1.6ms)[0m [1mCREATE INDEX "index_pages_cms_jumbotrons_on_page_block_id" ON "pages_cms_jumbotrons" ("page_block_id")[0m
|
9116
|
+
[1m[35m (2.3ms)[0m ALTER TABLE "pages_cms_jumbotrons" ADD CONSTRAINT "fk_rails_756ebfb247"
|
9117
|
+
FOREIGN KEY ("page_block_id")
|
9118
|
+
REFERENCES "pages_cms_page_blocks" ("id")
|
9119
|
+
|
9120
|
+
[1m[36m (7.7ms)[0m [1mCREATE TABLE "pages_cms_text_boxes" ("id" serial primary key, "page_block_id" integer, "content" text, "content_rendered" text, "order" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9121
|
+
[1m[35m (2.7ms)[0m CREATE INDEX "index_pages_cms_text_boxes_on_page_block_id" ON "pages_cms_text_boxes" ("page_block_id")
|
9122
|
+
[1m[36m (2.5ms)[0m [1mALTER TABLE "pages_cms_text_boxes" ADD CONSTRAINT "fk_rails_89e03effd1"
|
9123
|
+
FOREIGN KEY ("page_block_id")
|
9124
|
+
REFERENCES "pages_cms_page_blocks" ("id")
|
9125
|
+
[0m
|
9126
|
+
[1m[35m (6.6ms)[0m CREATE TABLE "pages_cms_sidebars" ("id" serial primary key, "page_id" integer, "content" text, "content_rendered" text, "show" boolean DEFAULT 't', "use_instead" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
9127
|
+
[1m[36m (1.9ms)[0m [1mCREATE INDEX "index_pages_cms_sidebars_on_page_id" ON "pages_cms_sidebars" ("page_id")[0m
|
9128
|
+
[1m[35m (2.5ms)[0m ALTER TABLE "pages_cms_sidebars" ADD CONSTRAINT "fk_rails_72f631044d"
|
9129
|
+
FOREIGN KEY ("page_id")
|
9130
|
+
REFERENCES "pages_cms_pages" ("id")
|
9131
|
+
|
9132
|
+
[1m[36m (19.3ms)[0m [1mCREATE TABLE "pages_cms_articles" ("id" serial primary key, "image_id" integer, "content" text, "content_rendered" text, "title" character varying, "draft" boolean, "archived" boolean, "tags" text[] DEFAULT '{}', "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
9133
|
+
[1m[35m (1.4ms)[0m CREATE INDEX "index_pages_cms_articles_on_image_id" ON "pages_cms_articles" ("image_id")
|
9134
|
+
[1m[36m (1.7ms)[0m [1mALTER TABLE "pages_cms_articles" ADD CONSTRAINT "fk_rails_9dc2606ec7"
|
9135
|
+
FOREIGN KEY ("image_id")
|
9136
|
+
REFERENCES "pages_cms_images" ("id")
|
9137
|
+
[0m
|
9138
|
+
[1m[35mSQL (35.1ms)[0m INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20150616171349"]]
|
9139
|
+
[1m[36m (4.6ms)[0m [1mCOMMIT[0m
|
9140
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.3ms)[0m SELECT "schema_migrations".* FROM "schema_migrations"
|
9141
|
+
[1m[36m (4.8ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9142
|
+
FROM pg_constraint c
|
9143
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9144
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9145
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9146
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9147
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9148
|
+
WHERE c.contype = 'f'
|
9149
|
+
AND t1.relname = 'pages_cms_articles'
|
9150
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9151
|
+
ORDER BY c.conname
|
9152
|
+
[0m
|
9153
|
+
[1m[35m (4.1ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9154
|
+
FROM pg_constraint c
|
9155
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9156
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9157
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9158
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9159
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9160
|
+
WHERE c.contype = 'f'
|
9161
|
+
AND t1.relname = 'pages_cms_images'
|
9162
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9163
|
+
ORDER BY c.conname
|
9164
|
+
|
9165
|
+
[1m[36m (4.1ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9166
|
+
FROM pg_constraint c
|
9167
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9168
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9169
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9170
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9171
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9172
|
+
WHERE c.contype = 'f'
|
9173
|
+
AND t1.relname = 'pages_cms_jumbotrons'
|
9174
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9175
|
+
ORDER BY c.conname
|
9176
|
+
[0m
|
9177
|
+
[1m[35m (4.1ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9178
|
+
FROM pg_constraint c
|
9179
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9180
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9181
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9182
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9183
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9184
|
+
WHERE c.contype = 'f'
|
9185
|
+
AND t1.relname = 'pages_cms_page_blocks'
|
9186
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9187
|
+
ORDER BY c.conname
|
9188
|
+
|
9189
|
+
[1m[36m (7.1ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9190
|
+
FROM pg_constraint c
|
9191
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9192
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9193
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9194
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9195
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9196
|
+
WHERE c.contype = 'f'
|
9197
|
+
AND t1.relname = 'pages_cms_pages'
|
9198
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9199
|
+
ORDER BY c.conname
|
9200
|
+
[0m
|
9201
|
+
[1m[35m (5.7ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9202
|
+
FROM pg_constraint c
|
9203
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9204
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9205
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9206
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9207
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9208
|
+
WHERE c.contype = 'f'
|
9209
|
+
AND t1.relname = 'pages_cms_sidebars'
|
9210
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9211
|
+
ORDER BY c.conname
|
9212
|
+
|
9213
|
+
[1m[36m (4.1ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9214
|
+
FROM pg_constraint c
|
9215
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9216
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9217
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9218
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9219
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9220
|
+
WHERE c.contype = 'f'
|
9221
|
+
AND t1.relname = 'pages_cms_text_boxes'
|
9222
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9223
|
+
ORDER BY c.conname
|
9224
|
+
[0m
|
9225
|
+
[1m[35m (4.3ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9226
|
+
FROM pg_constraint c
|
9227
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9228
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9229
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9230
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9231
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9232
|
+
WHERE c.contype = 'f'
|
9233
|
+
AND t1.relname = 'pages_cms_thumbnails'
|
9234
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9235
|
+
ORDER BY c.conname
|
9236
|
+
|
9237
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
9238
|
+
[1m[35mPagesCms::Page Exists (21.7ms)[0m SELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1
|
9239
|
+
[1m[36mSQL (22.3ms)[0m [1mINSERT INTO "pages_cms_pages" ("title", "slug", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m [["title", "Home"], ["slug", "home"], ["created_at", "2015-06-16 17:14:00.552079"], ["updated_at", "2015-06-16 17:14:00.552079"]]
|
9240
|
+
[1m[35m (1.1ms)[0m COMMIT
|
9241
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
9242
|
+
[1m[35mPagesCms::Page Exists (0.8ms)[0m SELECT 1 AS one FROM "pages_cms_pages" WHERE ("pages_cms_pages"."slug" = 'home' AND "pages_cms_pages"."id" != 1) LIMIT 1
|
9243
|
+
[1m[36m (0.2ms)[0m [1mCOMMIT[0m
|
9244
|
+
[1m[35mPagesCms::Sidebar Load (16.0ms)[0m SELECT "pages_cms_sidebars".* FROM "pages_cms_sidebars" WHERE "pages_cms_sidebars"."page_id" = $1 LIMIT 1 [["page_id", 1]]
|
9245
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.7ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
9246
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.4ms)[0m SELECT "schema_migrations".* FROM "schema_migrations"
|
9247
|
+
[1m[36m (4.9ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9248
|
+
FROM pg_constraint c
|
9249
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9250
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9251
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9252
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9253
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9254
|
+
WHERE c.contype = 'f'
|
9255
|
+
AND t1.relname = 'pages_cms_articles'
|
9256
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9257
|
+
ORDER BY c.conname
|
9258
|
+
[0m
|
9259
|
+
[1m[35m (4.1ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9260
|
+
FROM pg_constraint c
|
9261
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9262
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9263
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9264
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9265
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9266
|
+
WHERE c.contype = 'f'
|
9267
|
+
AND t1.relname = 'pages_cms_images'
|
9268
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9269
|
+
ORDER BY c.conname
|
9270
|
+
|
9271
|
+
[1m[36m (7.5ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9272
|
+
FROM pg_constraint c
|
9273
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9274
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9275
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9276
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9277
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9278
|
+
WHERE c.contype = 'f'
|
9279
|
+
AND t1.relname = 'pages_cms_jumbotrons'
|
9280
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9281
|
+
ORDER BY c.conname
|
9282
|
+
[0m
|
9283
|
+
[1m[35m (5.6ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9284
|
+
FROM pg_constraint c
|
9285
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9286
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9287
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9288
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9289
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9290
|
+
WHERE c.contype = 'f'
|
9291
|
+
AND t1.relname = 'pages_cms_page_blocks'
|
9292
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9293
|
+
ORDER BY c.conname
|
9294
|
+
|
9295
|
+
[1m[36m (4.1ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9296
|
+
FROM pg_constraint c
|
9297
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9298
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9299
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9300
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9301
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9302
|
+
WHERE c.contype = 'f'
|
9303
|
+
AND t1.relname = 'pages_cms_pages'
|
9304
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9305
|
+
ORDER BY c.conname
|
9306
|
+
[0m
|
9307
|
+
[1m[35m (4.3ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9308
|
+
FROM pg_constraint c
|
9309
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9310
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9311
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9312
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9313
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9314
|
+
WHERE c.contype = 'f'
|
9315
|
+
AND t1.relname = 'pages_cms_sidebars'
|
9316
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9317
|
+
ORDER BY c.conname
|
9318
|
+
|
9319
|
+
[1m[36m (4.2ms)[0m [1mSELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9320
|
+
FROM pg_constraint c
|
9321
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9322
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9323
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9324
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9325
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9326
|
+
WHERE c.contype = 'f'
|
9327
|
+
AND t1.relname = 'pages_cms_text_boxes'
|
9328
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9329
|
+
ORDER BY c.conname
|
9330
|
+
[0m
|
9331
|
+
[1m[35m (4.1ms)[0m SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
|
9332
|
+
FROM pg_constraint c
|
9333
|
+
JOIN pg_class t1 ON c.conrelid = t1.oid
|
9334
|
+
JOIN pg_class t2 ON c.confrelid = t2.oid
|
9335
|
+
JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
|
9336
|
+
JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
|
9337
|
+
JOIN pg_namespace t3 ON c.connamespace = t3.oid
|
9338
|
+
WHERE c.contype = 'f'
|
9339
|
+
AND t1.relname = 'pages_cms_thumbnails'
|
9340
|
+
AND t3.nspname = ANY (current_schemas(false))
|
9341
|
+
ORDER BY c.conname
|
9342
|
+
|
9343
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
9344
|
+
[1m[35mPagesCms::Page Exists (1.4ms)[0m SELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1
|
9345
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
9346
|
+
[1m[35m (0.1ms)[0m BEGIN
|
9347
|
+
[1m[36mPagesCms::Page Exists (0.4ms)[0m [1mSELECT 1 AS one FROM "pages_cms_pages" WHERE "pages_cms_pages"."slug" = 'home' LIMIT 1[0m
|
9348
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pages_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colin Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -253,8 +253,26 @@ files:
|
|
253
253
|
- test/dummy/Rakefile
|
254
254
|
- test/dummy/app/assets/javascripts/application.js
|
255
255
|
- test/dummy/app/assets/stylesheets/application.css
|
256
|
+
- test/dummy/app/assets/stylesheets/pages_cms/pages_cms.scss
|
256
257
|
- test/dummy/app/controllers/application_controller.rb
|
257
258
|
- test/dummy/app/helpers/application_helper.rb
|
259
|
+
- test/dummy/app/views/layouts/pages_cms/_header.html.erb
|
260
|
+
- test/dummy/app/views/layouts/pages_cms/application.html.erb
|
261
|
+
- test/dummy/app/views/pages_cms/admin/articles/_form.html.haml
|
262
|
+
- test/dummy/app/views/pages_cms/admin/articles/edit.html.haml
|
263
|
+
- test/dummy/app/views/pages_cms/admin/articles/index.html.haml
|
264
|
+
- test/dummy/app/views/pages_cms/admin/articles/new.html.haml
|
265
|
+
- test/dummy/app/views/pages_cms/admin/images/index.html.haml
|
266
|
+
- test/dummy/app/views/pages_cms/admin/pages/_jumbotron_fields.html.haml
|
267
|
+
- test/dummy/app/views/pages_cms/admin/pages/_page_block_fields.html.haml
|
268
|
+
- test/dummy/app/views/pages_cms/admin/pages/_text_box_fields.html.haml
|
269
|
+
- test/dummy/app/views/pages_cms/admin/pages/_thumbnail_fields.html.haml
|
270
|
+
- test/dummy/app/views/pages_cms/admin/pages/edit.html.haml
|
271
|
+
- test/dummy/app/views/pages_cms/admin/pages/index.html.haml
|
272
|
+
- test/dummy/app/views/pages_cms/articles/index.html.erb
|
273
|
+
- test/dummy/app/views/pages_cms/articles/show.html.haml
|
274
|
+
- test/dummy/app/views/pages_cms/pages/_main.html.haml
|
275
|
+
- test/dummy/app/views/pages_cms/pages/show.html.haml
|
258
276
|
- test/dummy/bin/bundle
|
259
277
|
- test/dummy/bin/rails
|
260
278
|
- test/dummy/bin/rake
|
@@ -278,6 +296,8 @@ files:
|
|
278
296
|
- test/dummy/config/locales/en.yml
|
279
297
|
- test/dummy/config/routes.rb
|
280
298
|
- test/dummy/config/secrets.yml
|
299
|
+
- test/dummy/db/migrate/20150616171349_create_initial_db.pages_cms.rb
|
300
|
+
- test/dummy/db/schema.rb
|
281
301
|
- test/dummy/log/development.log
|
282
302
|
- test/dummy/log/test.log
|
283
303
|
- test/dummy/public/404.html
|
@@ -1216,8 +1236,26 @@ summary: A CMS built with Rails that allows the user more freedom to build their
|
|
1216
1236
|
test_files:
|
1217
1237
|
- test/dummy/app/assets/javascripts/application.js
|
1218
1238
|
- test/dummy/app/assets/stylesheets/application.css
|
1239
|
+
- test/dummy/app/assets/stylesheets/pages_cms/pages_cms.scss
|
1219
1240
|
- test/dummy/app/controllers/application_controller.rb
|
1220
1241
|
- test/dummy/app/helpers/application_helper.rb
|
1242
|
+
- test/dummy/app/views/layouts/pages_cms/_header.html.erb
|
1243
|
+
- test/dummy/app/views/layouts/pages_cms/application.html.erb
|
1244
|
+
- test/dummy/app/views/pages_cms/admin/articles/_form.html.haml
|
1245
|
+
- test/dummy/app/views/pages_cms/admin/articles/edit.html.haml
|
1246
|
+
- test/dummy/app/views/pages_cms/admin/articles/index.html.haml
|
1247
|
+
- test/dummy/app/views/pages_cms/admin/articles/new.html.haml
|
1248
|
+
- test/dummy/app/views/pages_cms/admin/images/index.html.haml
|
1249
|
+
- test/dummy/app/views/pages_cms/admin/pages/_jumbotron_fields.html.haml
|
1250
|
+
- test/dummy/app/views/pages_cms/admin/pages/_page_block_fields.html.haml
|
1251
|
+
- test/dummy/app/views/pages_cms/admin/pages/_text_box_fields.html.haml
|
1252
|
+
- test/dummy/app/views/pages_cms/admin/pages/_thumbnail_fields.html.haml
|
1253
|
+
- test/dummy/app/views/pages_cms/admin/pages/edit.html.haml
|
1254
|
+
- test/dummy/app/views/pages_cms/admin/pages/index.html.haml
|
1255
|
+
- test/dummy/app/views/pages_cms/articles/index.html.erb
|
1256
|
+
- test/dummy/app/views/pages_cms/articles/show.html.haml
|
1257
|
+
- test/dummy/app/views/pages_cms/pages/_main.html.haml
|
1258
|
+
- test/dummy/app/views/pages_cms/pages/show.html.haml
|
1221
1259
|
- test/dummy/bin/bundle
|
1222
1260
|
- test/dummy/bin/rails
|
1223
1261
|
- test/dummy/bin/rake
|
@@ -1241,6 +1279,8 @@ test_files:
|
|
1241
1279
|
- test/dummy/config/routes.rb
|
1242
1280
|
- test/dummy/config/secrets.yml
|
1243
1281
|
- test/dummy/config.ru
|
1282
|
+
- test/dummy/db/migrate/20150616171349_create_initial_db.pages_cms.rb
|
1283
|
+
- test/dummy/db/schema.rb
|
1244
1284
|
- test/dummy/log/development.log
|
1245
1285
|
- test/dummy/log/test.log
|
1246
1286
|
- test/dummy/public/404.html
|