cardboard_cms 0.1.8 → 0.2.1

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -5
  3. data/README.md +14 -14
  4. data/app/assets/javascripts/cardboard/admin.js +3 -24
  5. data/app/assets/javascripts/cardboard/datepicker.js +1 -5
  6. data/app/assets/javascripts/cardboard/rich_text.js +1 -1
  7. data/app/assets/javascripts/cardboard/search_filter.js +1 -1
  8. data/app/assets/stylesheets/cardboard/_bootstrap-select.css.scss +1 -1
  9. data/app/assets/stylesheets/cardboard/_framework.css.scss +1 -1
  10. data/app/assets/stylesheets/cardboard/_main_topbar.css.scss +1 -1
  11. data/app/controllers/cardboard/pages_controller.rb +25 -1
  12. data/app/controllers/pages_controller.rb +12 -11
  13. data/app/helpers/cardboard/resource_helper.rb +1 -1
  14. data/app/models/cardboard/field/boolean.rb +1 -1
  15. data/app/models/cardboard/field.rb +21 -9
  16. data/app/models/cardboard/page.rb +19 -30
  17. data/app/models/cardboard/page_part.rb +13 -46
  18. data/app/models/cardboard/setting.rb +3 -0
  19. data/app/models/cardboard/template.rb +15 -0
  20. data/app/views/cardboard/fields/_base_input.html.slim +1 -1
  21. data/app/views/cardboard/fields/_boolean.html.slim +2 -2
  22. data/app/views/cardboard/fields/_date.html.slim +1 -1
  23. data/app/views/cardboard/fields/_external_link.html.slim +2 -2
  24. data/app/views/cardboard/fields/_file.html.slim +4 -4
  25. data/app/views/cardboard/fields/_image.html.slim +2 -2
  26. data/app/views/cardboard/fields/_resource_link.html.slim +2 -2
  27. data/app/views/cardboard/fields/_rich_text.html.slim +1 -1
  28. data/app/views/cardboard/fields/_string.html.slim +1 -1
  29. data/app/views/cardboard/pages/_error.html.slim +1 -1
  30. data/app/views/cardboard/pages/_part_fields.html.slim +19 -0
  31. data/app/views/cardboard/pages/_sidebar.html.slim +8 -4
  32. data/app/views/cardboard/pages/_url_field.html.slim +6 -8
  33. data/app/views/cardboard/pages/edit.html.slim +24 -15
  34. data/app/views/cardboard/pages/new.html.slim +7 -0
  35. data/app/views/cardboard/pages/show.html.slim +3 -3
  36. data/app/views/cardboard/resources/_advanced_search.html.slim +1 -1
  37. data/app/views/cardboard/resources/_search_helper.html.slim +3 -3
  38. data/app/views/cardboard/resources/_simple_search.html.slim +1 -1
  39. data/app/views/cardboard/settings/index.html.slim +12 -3
  40. data/app/views/cardboard/super_user/index.html.slim +1 -1
  41. data/app/views/layouts/cardboard/_main_sidebar.html.slim +1 -1
  42. data/app/views/layouts/cardboard/_main_topbar.html.slim +1 -1
  43. data/app/views/layouts/cardboard/application.html.slim +1 -1
  44. data/cardboard.gemspec +1 -1
  45. data/config/routes.rb +2 -0
  46. data/db/migrate/1_create_cardboard.rb +63 -0
  47. data/lib/cardboard/engine.rb +1 -11
  48. data/lib/cardboard/helpers/seed.rb +31 -30
  49. data/lib/cardboard/version.rb +1 -1
  50. data/lib/cardboard_cms.rb +6 -2
  51. data/lib/generators/cardboard/install/install_generator.rb +5 -13
  52. data/lib/tasks/cardboard_tasks.rake +5 -3
  53. data/test/dummy/app/views/{pages → templates}/about-us.html.slim +0 -0
  54. data/test/dummy/app/views/templates/home.html.slim +5 -0
  55. data/test/dummy/config/cardboard.yml +1 -1
  56. data/test/dummy/db/schema.rb +7 -39
  57. data/test/dummy/db/seeds.rb +1 -1
  58. data/test/factories.rb +40 -1
  59. data/test/integration/page_editing_test.rb +2 -1
  60. data/test/integration/seeding_test.rb +16 -31
  61. data/test/models/field_test.rb +42 -28
  62. data/test/models/page_test.rb +1 -1
  63. data/test/models/template_test.rb +11 -0
  64. data/test/test_helper.rb +5 -1
  65. metadata +13 -29
  66. data/app/views/cardboard/pages/_subpart_fields.html.slim +0 -20
  67. data/lib/generators/cardboard/install/templates/migrations/1_create_cardboard_fields.rb +0 -21
  68. data/lib/generators/cardboard/install/templates/migrations/2_create_cardboard_page_parts.rb +0 -17
  69. data/lib/generators/cardboard/install/templates/migrations/3_create_cardboard_pages.rb +0 -18
  70. data/lib/generators/cardboard/install/templates/migrations/4_create_cardboard_settings.rb +0 -14
  71. data/test/dummy/app/views/pages/home.html.slim +0 -3
  72. data/test/dummy/db/migrate/20130426021522_create_news_posts.rb +0 -10
  73. data/test/dummy/db/migrate/20130501195423_create_icescreams.rb +0 -10
  74. data/test/dummy/db/migrate/20130502165540_create_beans.rb +0 -12
  75. data/test/dummy/db/migrate/20130522151358_create_cardboard_fields.rb +0 -21
  76. data/test/dummy/db/migrate/20130522151359_create_cardboard_page_parts.rb +0 -17
  77. data/test/dummy/db/migrate/20130522151400_create_cardboard_pages.rb +0 -18
  78. data/test/dummy/db/migrate/20130522151401_create_cardboard_settings.rb +0 -14
  79. data/test/dummy/db/migrate/20130607132558_create_admins.rb +0 -9
  80. data/vendor/assets/javascripts/cardboard/jquery.pjax.js +0 -840
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20130607132558) do
14
+ ActiveRecord::Schema.define(version: 20130417134832) do
15
15
 
16
16
  create_table "admin_users", force: true do |t|
17
17
  t.string "email", default: "", null: false
@@ -29,31 +29,10 @@ ActiveRecord::Schema.define(version: 20130607132558) do
29
29
  add_index "admin_users", ["email"], name: "index_admin_users_on_email", unique: true
30
30
  add_index "admin_users", ["reset_password_token"], name: "index_admin_users_on_reset_password_token", unique: true
31
31
 
32
- create_table "admins", force: true do |t|
33
- t.string "name"
34
- t.datetime "created_at"
35
- t.datetime "updated_at"
36
- end
37
-
38
- create_table "beans", force: true do |t|
39
- t.string "color"
40
- t.string "flavor"
41
- t.boolean "from_mexico"
42
- t.integer "size"
43
- t.datetime "created_at"
44
- t.datetime "updated_at"
45
- end
46
-
47
32
  create_table "cardboard_fields", force: true do |t|
48
33
  t.string "identifier"
49
- t.string "label"
50
34
  t.string "type"
51
- t.boolean "required", default: true
52
- t.integer "page_part_id"
53
- t.integer "position"
54
35
  t.text "value_uid"
55
- t.string "hint"
56
- t.string "placeholder"
57
36
  t.integer "object_with_field_id"
58
37
  t.string "object_with_field_type"
59
38
  t.datetime "created_at"
@@ -66,9 +45,6 @@ ActiveRecord::Schema.define(version: 20130607132558) do
66
45
  create_table "cardboard_page_parts", force: true do |t|
67
46
  t.string "identifier"
68
47
  t.integer "position"
69
- t.integer "parent_part_id"
70
- t.boolean "repeatable"
71
- t.string "label"
72
48
  t.integer "page_id"
73
49
  t.datetime "created_at"
74
50
  t.datetime "updated_at"
@@ -76,7 +52,6 @@ ActiveRecord::Schema.define(version: 20130607132558) do
76
52
 
77
53
  add_index "cardboard_page_parts", ["identifier"], name: "index_cardboard_page_parts_on_identifier"
78
54
  add_index "cardboard_page_parts", ["page_id"], name: "index_cardboard_page_parts_on_page_id"
79
- add_index "cardboard_page_parts", ["parent_part_id"], name: "index_cardboard_page_parts_on_parent_part_id"
80
55
 
81
56
  create_table "cardboard_pages", force: true do |t|
82
57
  t.string "title"
@@ -87,6 +62,7 @@ ActiveRecord::Schema.define(version: 20130607132558) do
87
62
  t.text "meta_seo"
88
63
  t.boolean "in_menu", default: true
89
64
  t.string "identifier"
65
+ t.integer "template_id"
90
66
  t.datetime "created_at"
91
67
  t.datetime "updated_at"
92
68
  end
@@ -98,23 +74,15 @@ ActiveRecord::Schema.define(version: 20130607132558) do
98
74
  t.string "name"
99
75
  t.text "value"
100
76
  t.text "default_value"
101
- t.text "description"
102
- t.string "hint"
103
- t.string "format", default: "string"
77
+ t.text "template"
104
78
  end
105
79
 
106
80
  add_index "cardboard_settings", ["name"], name: "index_cardboard_settings_on_name"
107
81
 
108
- create_table "icescreams", force: true do |t|
109
- t.string "flavor"
110
- t.integer "deliciousness"
111
- t.datetime "created_at"
112
- t.datetime "updated_at"
113
- end
114
-
115
- create_table "news_posts", force: true do |t|
116
- t.string "title"
117
- t.string "link"
82
+ create_table "cardboard_templates", force: true do |t|
83
+ t.string "name"
84
+ t.text "fields"
85
+ t.string "identifier"
118
86
  t.datetime "created_at"
119
87
  t.datetime "updated_at"
120
88
  end
@@ -1,2 +1,2 @@
1
1
  puts "Generating Admin User"
2
- AdminUser.create(email: "michael@smashingboxes.com", password: "1234567890", password_confirmation: "1234567890") if AdminUser.first.nil?
2
+ AdminUser.create(email: "michael@smashingboxes.com", password: "password") if AdminUser.first.nil?
data/test/factories.rb CHANGED
@@ -8,10 +8,49 @@ FactoryGirl.define do
8
8
 
9
9
  factory :page, class: Cardboard::Page do
10
10
  sequence(:identifier) { |n| "page#{n}" }
11
+ template
12
+ end
13
+
14
+ factory :template, class: Cardboard::Template do
15
+ sequence(:identifier) { |n| "template#{n}" }
16
+ fields {
17
+ {
18
+ intro:{
19
+ fields:{
20
+ text:{
21
+ type: "string",
22
+ default: "default text",
23
+ label: "ok",
24
+ required: "true",
25
+ hint: "this is a hint",
26
+ placeholder: "Text"
27
+ },
28
+ image:{
29
+ type: "image",
30
+ default: "CrashTest.jpg"
31
+ }
32
+ }
33
+ },
34
+ slideshow:{
35
+ repeatable: true,
36
+ fields:{
37
+ image:{
38
+ type: "image",
39
+ required: "true"
40
+ },
41
+ desc:{
42
+ required: "true",
43
+ type: "string"
44
+ }
45
+ }
46
+ }
47
+ }.with_indifferent_access
48
+ }
11
49
  end
12
50
 
13
51
  factory :page_part, class: Cardboard::PagePart do
14
- sequence(:identifier) { |n| "page_part#{n}" }
52
+ identifier { "slideshow" }
53
+ page
15
54
  end
16
55
 
17
56
  factory :boolean_field, class: Cardboard::Field::Boolean do
@@ -42,6 +42,7 @@ describe "Page editing integration" do
42
42
  }
43
43
  }.with_indifferent_access
44
44
  Cardboard::Seed.populate_pages(@file_hash)
45
+ Cardboard::Page.create(template: Cardboard::Template.first, identifier: "home")
45
46
  user = FactoryGirl.create(:admin_user)
46
47
  login_as(user, :scope => :admin_user)
47
48
  visit cardboard.edit_page_path(Cardboard::Page.root)
@@ -61,7 +62,7 @@ describe "Page editing integration" do
61
62
  # end
62
63
 
63
64
  it 'should see an error if a repeatable part is submitted with an empty required field' do
64
- fill_in "page_parts_attributes_1_subparts_attributes_0_fields_attributes_1_value", with: "Hello"
65
+ fill_in "page_parts_attributes_1_fields_attributes_1_value", with: "Hello"
65
66
  find(".btn.add_fields").click
66
67
  find_button('Save').click
67
68
  assert page.has_css?(".alert-error"), "ERROR: Should have an error message"
@@ -4,7 +4,7 @@ describe "Seeding" do
4
4
  before do
5
5
  DatabaseCleaner.clean
6
6
  @file_hash = {
7
- pages: {
7
+ templates: {
8
8
  home:{
9
9
  title: "Welcome",
10
10
  position: 0,
@@ -53,41 +53,26 @@ describe "Seeding" do
53
53
  end
54
54
  describe 'Pages' do
55
55
  before do
56
- Cardboard::Seed.populate_pages(@file_hash)
57
- @page = Cardboard::Page.root
58
- @part = @page.parts.first
59
- @last_part = @page.parts.last
56
+ Cardboard::Seed.populate_templates(@file_hash)
57
+ @template = Cardboard::Template.first
58
+ @page = @template.pages.build
60
59
  end
61
- it 'Should add pages' do
62
- assert_equal "home", @page.identifier
63
- assert_equal 2, Cardboard::Page.count
64
- end
65
- it 'Should add parts' do
66
- assert_equal "slideshow", @part.identifier
67
- assert_equal "intro", @last_part.identifier
68
- end
69
- it 'Should add fields' do
70
- refute_nil @page.get("intro").fields.where(identifier: "text")
60
+
61
+ it "Should have a template" do
62
+ assert_equal @file_hash[:templates][:home][:parts], Cardboard::Template.find_by(:identifier => "home").fields
63
+ assert_equal @file_hash[:templates][:home][:title], Cardboard::Template.find_by(:identifier => "home").name
71
64
  end
65
+
72
66
  describe 'Modified yml file' do
73
67
  before do
74
- @file_hash[:pages].delete(:about_us)
75
- @file_hash[:pages][:home][:parts].delete(:slideshow)
76
- @file_hash[:pages][:home][:parts][:intro][:fields].delete(:text)
77
- Cardboard::Seed.populate_pages(@file_hash)
78
- @page = Cardboard::Page.root
79
- @part = @page.parts.first
80
- end
81
- it 'Should remove old pages' do
82
- assert_nil Cardboard::Page.where(:identifier => "about_us").first
83
- assert_equal 1, Cardboard::Page.count
84
- end
85
- it 'Should remove old parts' do
86
- assert_nil @page.get("slideshow")
87
- refute_nil @page.get("intro")
68
+ @file_hash[:templates].delete(:about_us)
69
+ @file_hash[:templates][:home][:parts].delete(:slideshow)
70
+ @file_hash[:templates][:home][:parts][:intro][:fields].delete(:text)
71
+ Cardboard::Seed.populate_templates(@file_hash)
88
72
  end
89
- it 'Should remove old fields' do
90
- assert_nil @page.get("intro").attr("text")
73
+ it 'Should remove old templates' do
74
+ assert_nil Cardboard::Template.where(:identifier => "about_us").first
75
+ assert_equal 1, Cardboard::Template.count
91
76
  end
92
77
  end
93
78
  end
@@ -4,12 +4,25 @@ require 'test_helper'
4
4
 
5
5
  describe Cardboard::Field do
6
6
  before do
7
- @part = build :page_part
7
+
8
+ @template = build :template, fields: {slideshow:{ fields: {
9
+ boolean_field: {type: "boolean"},
10
+ date_field: {type: "date"},
11
+ decimal_field: {type: "decimal"},
12
+ file_field: {type: "file"},
13
+ image_field: {type: "image"},
14
+ integer_field: {type: "integer"},
15
+ rich_text_field: {type: "rich_text"},
16
+ string_field: {type: "string"}
17
+ }}
18
+ }
19
+ @page = build :page, template: @template
20
+ @part = build :page_part, page: @page, identifier: "slideshow"
8
21
  end
9
22
 
10
23
  it "should accept valid boolean values" do
11
- @field = build :boolean_field
12
- assert_equal true, @field.save
24
+ @field = build :boolean_field, object_with_field: @part, identifier: "boolean_field"
25
+ # assert_equal true, @field.save
13
26
  assert_equal true, @field.update_attributes(:value => "")
14
27
  ["t", "1", "true", true].each do |val|
15
28
  assert_equal true, @field.update_attributes(:value => val)
@@ -23,39 +36,40 @@ describe Cardboard::Field do
23
36
  end
24
37
 
25
38
  it "should accept valid date values" do
26
- @field = build :date_field
27
- assert_equal true, @field.save
39
+
40
+ @field = build :date_field, object_with_field: @part, identifier: "date_field"
41
+ # assert_equal true, @field.save
28
42
  assert_equal true, @field.update_attributes(value: "1900-01-01")
29
43
  assert_equal Time.new('1900', '01', '01', '12', '00'), @field.value #chronic dates are at noon by default
30
44
  end
31
45
  it "should not accept invalid date values" do
32
- @field = build :date_field
33
- @field.required = true
34
- assert_equal true, @field.save
46
+ @field = build :date_field, object_with_field: @part, identifier: "date_field"
47
+ # @field.required = true
48
+ assert_equal false, @field.save
35
49
  assert_equal false, @field.update_attributes(:value => "")
36
50
  assert_equal false, @field.update_attributes(:value => "something")
37
51
  end
38
52
 
39
53
  it "should accept valid decimal numbers" do
40
- @field = build :decimal_field
41
- assert_equal true, @field.save
54
+ @field = build :decimal_field, object_with_field: @part, identifier: "decimal_field"
55
+ # assert_equal true, @field.save
42
56
  assert_equal true, @field.update_attributes(:value => 1.23)
43
57
  assert_equal 1.23, @field.value
44
58
  assert_equal true, @field.update_attributes(:value => "1.23")
45
59
  assert_equal 1.23, @field.value
46
60
  end
47
61
  it "should not accept invalid decimal numbers" do
48
- @field = build :decimal_field
49
- @field.required = true
50
- assert_equal true, @field.save
62
+ @field = build :decimal_field, object_with_field: @part, identifier: "decimal_field"
63
+ # @field.required = true
64
+ # assert_equal true, @field.save
51
65
  assert_equal false, @field.update_attributes(:value => "")
52
66
  assert_equal false, @field.update_attributes(:value => "something")
53
67
  end
54
68
 
55
69
  it "should not accept invalid files" do
56
- @field = build :file_field
57
- @field.required = true
58
- assert_equal true, @field.save
70
+ @field = build :file_field, object_with_field: @part, identifier: "file_field"
71
+ # @field.required = true
72
+ # assert_equal true, @field.save
59
73
 
60
74
  assert_equal false, @field.update_attributes(:value => "")
61
75
  assert_equal nil, @field.value_uid
@@ -63,9 +77,9 @@ describe Cardboard::Field do
63
77
  end
64
78
 
65
79
  it "should not accept invalid images" do
66
- @field = build :image_field
67
- @field.required = true
68
- assert_equal true, @field.save
80
+ @field = build :image_field, object_with_field: @part, identifier: "image_field"
81
+ # @field.required = true
82
+ # assert_equal true, @field.save
69
83
 
70
84
  assert_equal false, @field.update_attributes(:value => "")
71
85
  assert_equal nil, @field.value_uid
@@ -73,9 +87,9 @@ describe Cardboard::Field do
73
87
  end
74
88
 
75
89
  it "should accept valid integer numbers" do
76
- @field = build :integer_field
77
- assert_equal true, @field.save
78
- @field.required = true
90
+ @field = build :integer_field, object_with_field: @part, identifier: "integer_field"
91
+ # assert_equal true, @field.save
92
+ # @field.required = true
79
93
  assert_equal false, @field.update_attributes(:value => "")
80
94
  assert_equal false, @field.update_attributes(:value => 1.23)
81
95
  assert_equal true, @field.update_attributes(:value => "123")
@@ -83,17 +97,17 @@ describe Cardboard::Field do
83
97
  end
84
98
 
85
99
  it "should accept valid rich text" do
86
- @field = build :rich_text_field
87
- assert_equal true, @field.save
88
- @field.required = true
100
+ @field = build :rich_text_field, object_with_field: @part, identifier: "rich_text_field"
101
+ # assert_equal true, @field.save
102
+ # @field.required = true
89
103
  assert_equal true, @field.update_attributes(:value => "something<script>alert('bad')</script>")
90
104
  assert_equal "something", @field.value
91
105
  end
92
106
 
93
107
  it "should accept valid string" do
94
- @field = build :string_field
95
- assert_equal true, @field.save
96
- @field.required = true
108
+ @field = build :string_field, object_with_field: @part, identifier: "string_field"
109
+ # assert_equal true, @field.save
110
+ # @field.required = true
97
111
  assert_equal true, @field.update_attributes(:value => "something")
98
112
  assert_equal "something", @field.value
99
113
  assert_equal false, @field.update_attributes(:value => "")
@@ -78,7 +78,7 @@ describe Cardboard::Page do
78
78
 
79
79
  it 'Preorder of results' do
80
80
  DatabaseCleaner.clean
81
-
81
+ Cardboard::Page.clear_arranged_pages
82
82
  page1 = create :page, position_position: 1
83
83
  page2 = create :page, position_position: 2
84
84
  subpage1 = create :page, parent: page1, position_position: 1
@@ -0,0 +1,11 @@
1
+ require "test_helper"
2
+
3
+ describe Template do
4
+ before do
5
+ @template = Template.new
6
+ end
7
+
8
+ it "must be valid" do
9
+ @template.valid?.must_equal true
10
+ end
11
+ end
data/test/test_helper.rb CHANGED
@@ -2,7 +2,11 @@ require 'simplecov'
2
2
  SimpleCov.start 'rails'
3
3
 
4
4
  ENV["RAILS_ENV"] = "test"
5
- require File.expand_path('../dummy/config/environment', __FILE__)
5
+ require File.expand_path('../dummy/config/environment', __FILE__ )
6
+
7
+ Dir[Cardboard::Engine.root.join("app", "models","cardboard", "field", "*.rb").to_s].each {|file| require file }
8
+
9
+
6
10
  require "rails/test_help"
7
11
 
8
12
  require 'faker'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cardboard_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Elfassy
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-06 00:00:00.000000000 Z
12
+ date: 2014-02-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -306,7 +306,7 @@ dependencies:
306
306
  - !ruby/object:Gem::Version
307
307
  version: 1.0.0
308
308
  - !ruby/object:Gem::Dependency
309
- name: rack-pjax
309
+ name: turbolinks
310
310
  requirement: !ruby/object:Gem::Requirement
311
311
  requirements:
312
312
  - - '>='
@@ -549,6 +549,7 @@ files:
549
549
  - app/models/cardboard/page.rb
550
550
  - app/models/cardboard/page_part.rb
551
551
  - app/models/cardboard/setting.rb
552
+ - app/models/cardboard/template.rb
552
553
  - app/views/cardboard/dashboard/index.html.slim
553
554
  - app/views/cardboard/fields/_base_input.html.slim
554
555
  - app/views/cardboard/fields/_boolean.html.slim
@@ -561,12 +562,13 @@ files:
561
562
  - app/views/cardboard/fields/_string.html.slim
562
563
  - app/views/cardboard/my_account/edit.html.slim
563
564
  - app/views/cardboard/pages/_error.html.slim
565
+ - app/views/cardboard/pages/_part_fields.html.slim
564
566
  - app/views/cardboard/pages/_seo.html.slim
565
567
  - app/views/cardboard/pages/_sidebar.html.slim
566
- - app/views/cardboard/pages/_subpart_fields.html.slim
567
568
  - app/views/cardboard/pages/_url_field.html.slim
568
569
  - app/views/cardboard/pages/edit.html.slim
569
570
  - app/views/cardboard/pages/index.html.slim
571
+ - app/views/cardboard/pages/new.html.slim
570
572
  - app/views/cardboard/pages/show.html.slim
571
573
  - app/views/cardboard/resources/_advanced_search.html.slim
572
574
  - app/views/cardboard/resources/_search_button.html.slim
@@ -587,6 +589,7 @@ files:
587
589
  - config/initializers/simple_form_bootstrap.rb
588
590
  - config/locales/simple_form.en.yml
589
591
  - config/routes.rb
592
+ - db/migrate/1_create_cardboard.rb
590
593
  - doc/apple-touch-icon.png
591
594
  - doc/classes/Cardboard.html
592
595
  - doc/classes/Cardboard/AdminController.html
@@ -680,10 +683,6 @@ files:
680
683
  - lib/generators/cardboard/install/templates/cardboard.rb.erb
681
684
  - lib/generators/cardboard/install/templates/cardboard.yml
682
685
  - lib/generators/cardboard/install/templates/index.html.erb
683
- - lib/generators/cardboard/install/templates/migrations/1_create_cardboard_fields.rb
684
- - lib/generators/cardboard/install/templates/migrations/2_create_cardboard_page_parts.rb
685
- - lib/generators/cardboard/install/templates/migrations/3_create_cardboard_pages.rb
686
- - lib/generators/cardboard/install/templates/migrations/4_create_cardboard_settings.rb
687
686
  - lib/generators/cardboard/resource/resource_generator.rb
688
687
  - lib/generators/cardboard/resource/templates/admin_controller.rb
689
688
  - lib/generators/cardboard/resource/templates/slim/_fields.html.slim
@@ -729,13 +728,13 @@ files:
729
728
  - test/dummy/app/views/cardboard/pianos/show.html.slim
730
729
  - test/dummy/app/views/layouts/application.html.slim
731
730
  - test/dummy/app/views/main/index.html.slim
732
- - test/dummy/app/views/pages/about-us.html.slim
733
- - test/dummy/app/views/pages/home.html.slim
734
731
  - test/dummy/app/views/pianos/_form.html.erb
735
732
  - test/dummy/app/views/pianos/edit.html.erb
736
733
  - test/dummy/app/views/pianos/index.html.erb
737
734
  - test/dummy/app/views/pianos/new.html.erb
738
735
  - test/dummy/app/views/pianos/show.html.erb
736
+ - test/dummy/app/views/templates/about-us.html.slim
737
+ - test/dummy/app/views/templates/home.html.slim
739
738
  - test/dummy/config.ru
740
739
  - test/dummy/config/application.rb
741
740
  - test/dummy/config/boot.rb
@@ -758,14 +757,6 @@ files:
758
757
  - test/dummy/config/routes.rb
759
758
  - test/dummy/db/migrate/20130403142235_create_pianos.rb
760
759
  - test/dummy/db/migrate/20130417134832_add_devise_to_admin_users.rb
761
- - test/dummy/db/migrate/20130426021522_create_news_posts.rb
762
- - test/dummy/db/migrate/20130501195423_create_icescreams.rb
763
- - test/dummy/db/migrate/20130502165540_create_beans.rb
764
- - test/dummy/db/migrate/20130522151358_create_cardboard_fields.rb
765
- - test/dummy/db/migrate/20130522151359_create_cardboard_page_parts.rb
766
- - test/dummy/db/migrate/20130522151400_create_cardboard_pages.rb
767
- - test/dummy/db/migrate/20130522151401_create_cardboard_settings.rb
768
- - test/dummy/db/migrate/20130607132558_create_admins.rb
769
760
  - test/dummy/db/schema.rb
770
761
  - test/dummy/db/seeds.rb
771
762
  - test/dummy/lib/assets/.gitkeep
@@ -838,10 +829,10 @@ files:
838
829
  - test/integration/seeding_test.rb
839
830
  - test/models/field_test.rb
840
831
  - test/models/page_test.rb
832
+ - test/models/template_test.rb
841
833
  - test/test_helper.rb
842
834
  - vendor/assets/javascripts/cardboard/bootstrap-select.js
843
835
  - vendor/assets/javascripts/cardboard/jquery.livesearch.js
844
- - vendor/assets/javascripts/cardboard/jquery.pjax.js
845
836
  - vendor/assets/javascripts/cardboard/jquery.wysihtml5_size_matters.js.coffee
846
837
  - vendor/assets/javascripts/cardboard/jquery.wysihtml5imgresizer.js
847
838
  - vendor/assets/javascripts/cardboard/wysihtml5-0.4.0pre.js
@@ -906,13 +897,13 @@ test_files:
906
897
  - test/dummy/app/views/cardboard/pianos/show.html.slim
907
898
  - test/dummy/app/views/layouts/application.html.slim
908
899
  - test/dummy/app/views/main/index.html.slim
909
- - test/dummy/app/views/pages/about-us.html.slim
910
- - test/dummy/app/views/pages/home.html.slim
911
900
  - test/dummy/app/views/pianos/_form.html.erb
912
901
  - test/dummy/app/views/pianos/edit.html.erb
913
902
  - test/dummy/app/views/pianos/index.html.erb
914
903
  - test/dummy/app/views/pianos/new.html.erb
915
904
  - test/dummy/app/views/pianos/show.html.erb
905
+ - test/dummy/app/views/templates/about-us.html.slim
906
+ - test/dummy/app/views/templates/home.html.slim
916
907
  - test/dummy/config.ru
917
908
  - test/dummy/config/application.rb
918
909
  - test/dummy/config/boot.rb
@@ -935,14 +926,6 @@ test_files:
935
926
  - test/dummy/config/routes.rb
936
927
  - test/dummy/db/migrate/20130403142235_create_pianos.rb
937
928
  - test/dummy/db/migrate/20130417134832_add_devise_to_admin_users.rb
938
- - test/dummy/db/migrate/20130426021522_create_news_posts.rb
939
- - test/dummy/db/migrate/20130501195423_create_icescreams.rb
940
- - test/dummy/db/migrate/20130502165540_create_beans.rb
941
- - test/dummy/db/migrate/20130522151358_create_cardboard_fields.rb
942
- - test/dummy/db/migrate/20130522151359_create_cardboard_page_parts.rb
943
- - test/dummy/db/migrate/20130522151400_create_cardboard_pages.rb
944
- - test/dummy/db/migrate/20130522151401_create_cardboard_settings.rb
945
- - test/dummy/db/migrate/20130607132558_create_admins.rb
946
929
  - test/dummy/db/schema.rb
947
930
  - test/dummy/db/seeds.rb
948
931
  - test/dummy/lib/assets/.gitkeep
@@ -1015,4 +998,5 @@ test_files:
1015
998
  - test/integration/seeding_test.rb
1016
999
  - test/models/field_test.rb
1017
1000
  - test/models/page_test.rb
1001
+ - test/models/template_test.rb
1018
1002
  - test/test_helper.rb
@@ -1,20 +0,0 @@
1
- .nested-fields
2
-
3
- - if subpart.repeatable?
4
- .right= link_to_remove_association "x", f, class: "btn btn-danger"
5
-
6
- - for field in subpart.fields.sort_by(&:position)
7
-
8
- = f.simple_fields_for :fields, field do |w|
9
-
10
- / TODO: Refactor!
11
- - if field.new_record?
12
-
13
- - for attribute in [:identifier, :label, :type, :required, :position, :hint, :placeholder]
14
- = w.input attribute, as: :hidden unless field.send(attribute).nil?
15
-
16
- - begin
17
- = render "cardboard/fields/#{field.type}", f: w
18
- - rescue ActionView::MissingTemplate => e
19
- = render "cardboard/fields/base_input", f: w
20
-
@@ -1,21 +0,0 @@
1
- class CreateCardboardFields < ActiveRecord::Migration
2
- def change
3
- create_table :cardboard_fields do |t|
4
- t.string :identifier
5
- t.string :label
6
- t.string :type
7
- t.boolean :required, default: true
8
- t.belongs_to :page_part
9
- t.integer :position
10
- t.text :value_uid
11
- t.string :hint
12
- t.string :placeholder
13
- t.integer :object_with_field_id
14
- t.string :object_with_field_type
15
-
16
- t.timestamps
17
- end
18
- add_index :cardboard_fields, :identifier
19
- add_index :cardboard_fields, [:object_with_field_id, :object_with_field_type], :name => 'parent_object'
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- class CreateCardboardPageParts < ActiveRecord::Migration
2
- def change
3
- create_table :cardboard_page_parts do |t|
4
- t.string :identifier
5
- t.integer :position
6
- t.integer :parent_part_id
7
- t.boolean :repeatable
8
- t.string :label
9
- t.belongs_to :page
10
-
11
- t.timestamps
12
- end
13
- add_index :cardboard_page_parts, :page_id
14
- add_index :cardboard_page_parts, :identifier
15
- add_index :cardboard_page_parts, :parent_part_id
16
- end
17
- end
@@ -1,18 +0,0 @@
1
- class CreateCardboardPages < ActiveRecord::Migration
2
- def change
3
- create_table :cardboard_pages do |t|
4
- t.string :title
5
- t.string :path
6
- t.string :slug
7
- t.text :slugs_backup
8
- t.integer :position
9
- t.text :meta_seo
10
- t.boolean :in_menu, default: true
11
- t.string :identifier, unique: true
12
-
13
- t.timestamps
14
- end
15
- add_index :cardboard_pages, [:path, :slug], :unique => true
16
- add_index :cardboard_pages, :identifier, :unique => true
17
- end
18
- end
@@ -1,14 +0,0 @@
1
- class CreateCardboardSettings < ActiveRecord::Migration
2
- def change
3
- create_table :cardboard_settings do |t|
4
- t.string :name
5
- t.text :value
6
- t.text :default_value
7
- t.text :description
8
- t.string :hint
9
- t.string :format, default: "string"
10
-
11
- end
12
- add_index :cardboard_settings, :name
13
- end
14
- end
@@ -1,3 +0,0 @@
1
- h1 This is the home page
2
-
3
- | which was edited
@@ -1,10 +0,0 @@
1
- class CreateNewsPosts < ActiveRecord::Migration
2
- def change
3
- create_table :news_posts do |t|
4
- t.string :title
5
- t.string :link
6
-
7
- t.timestamps
8
- end
9
- end
10
- end