releaf-core 3.1.0 → 4.0.0

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/releaf/include/field.type_richtext.js +2 -18
  3. data/app/assets/javascripts/releaf/include/remote_validator.js +2 -12
  4. data/app/assets/stylesheets/releaf/environment/mixins/blocks.scss +1 -1
  5. data/app/assets/stylesheets/releaf/layout/fields.scss +1 -2
  6. data/app/assets/stylesheets/releaf/layout.scss +0 -1
  7. data/app/builders/releaf/builders/form_builder/fields.rb +0 -1
  8. data/app/builders/releaf/builders/form_builder/richtext_fields.rb +1 -3
  9. data/app/builders/releaf/builders/utilities/resolve_attribute_field_method_name.rb +2 -7
  10. data/app/controllers/releaf/action_controller.rb +0 -1
  11. data/app/lib/releaf/default_searchable_fields.rb +1 -12
  12. data/app/lib/releaf/resource_base.rb +1 -9
  13. data/app/lib/releaf/resource_params.rb +0 -12
  14. data/app/lib/releaf/resource_table_fields.rb +1 -1
  15. data/app/lib/releaf/search.rb +0 -5
  16. data/lib/generators/dummy/templates/config/routes.rb +0 -37
  17. data/lib/generators/dummy/templates/initializers/releaf.rb +1 -26
  18. data/lib/generators/dummy/templates/migrations/create_books.rb +1 -2
  19. data/lib/generators/dummy/templates/models/book.rb +0 -3
  20. data/lib/generators/releaf/templates/initializers/releaf.rb +1 -3
  21. data/lib/generators/releaf/templates/seeds/seeds.rb +0 -10
  22. data/lib/releaf/humanize_missing_translations.rb +13 -0
  23. data/lib/releaf/route_mapper.rb +0 -3
  24. data/lib/releaf-core.rb +2 -3
  25. metadata +4 -63
  26. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  27. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  28. data/app/assets/javascripts/ckeditor/plugins/mediaembed/lang/en.js +0 -12
  29. data/app/assets/javascripts/ckeditor/plugins/mediaembed/lang/es.js +0 -12
  30. data/app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +0 -63
  31. data/app/assets/javascripts/releaf/include/localization.js +0 -208
  32. data/app/assets/stylesheets/releaf/layout/localization.scss +0 -79
  33. data/app/builders/releaf/builders/form_builder/i18n_fields.rb +0 -75
  34. data/app/lib/releaf/action_controller/richtext_attachments.rb +0 -20
  35. data/app/models/releaf/richtext_attachment.rb +0 -6
  36. data/lib/generators/dummy/templates/assets/javascripts/controllers/admin/nodes.js +0 -1
  37. data/lib/generators/dummy/templates/assets/javascripts/controllers/admin/other_site/other_nodes.js +0 -1
  38. data/lib/generators/dummy/templates/assets/stylesheets/controllers/admin/nodes.scss +0 -1
  39. data/lib/generators/dummy/templates/assets/stylesheets/controllers/admin/other_site/other_nodes.scss +0 -1
  40. data/lib/generators/dummy/templates/builders/admin/nodes/form_builder.rb +0 -7
  41. data/lib/generators/dummy/templates/controllers/admin/nodes_controller.rb +0 -3
  42. data/lib/generators/dummy/templates/controllers/admin/other_site/other_nodes_controller.rb +0 -3
  43. data/lib/generators/dummy/templates/controllers/application_controller.rb +0 -61
  44. data/lib/generators/dummy/templates/controllers/concerns/node_controller.rb +0 -47
  45. data/lib/generators/dummy/templates/controllers/contacts_controller.rb +0 -5
  46. data/lib/generators/dummy/templates/controllers/home_pages_controller.rb +0 -3
  47. data/lib/generators/dummy/templates/controllers/text_pages_controller.rb +0 -3
  48. data/lib/generators/dummy/templates/migrations/create_banner_pages.rb +0 -11
  49. data/lib/generators/dummy/templates/migrations/create_bundles.rb +0 -7
  50. data/lib/generators/dummy/templates/migrations/create_home_pages.rb +0 -9
  51. data/lib/generators/dummy/templates/migrations/create_node_extra_fields.rb +0 -5
  52. data/lib/generators/dummy/templates/migrations/create_other_nodes.rb +0 -29
  53. data/lib/generators/dummy/templates/migrations/create_text_pages.rb +0 -9
  54. data/lib/generators/dummy/templates/models/banner_page.rb +0 -7
  55. data/lib/generators/dummy/templates/models/bundle.rb +0 -17
  56. data/lib/generators/dummy/templates/models/home_page.rb +0 -3
  57. data/lib/generators/dummy/templates/models/node.rb +0 -10
  58. data/lib/generators/dummy/templates/models/other_site/other_node.rb +0 -7
  59. data/lib/generators/dummy/templates/models/text_page.rb +0 -4
  60. data/lib/generators/dummy/templates/views/contacts/show.html.haml +0 -1
  61. data/lib/generators/dummy/templates/views/home_pages/show.haml +0 -1
  62. data/lib/generators/dummy/templates/views/layouts/application.html.haml +0 -30
  63. data/lib/generators/dummy/templates/views/text_pages/show.haml +0 -1
  64. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +0 -28
  65. data/lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb +0 -12
  66. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +0 -20
  67. data/lib/generators/releaf/templates/models/node.rb +0 -3
  68. data/lib/releaf/rails_ext/globalize-accessors.rb +0 -64
@@ -1,29 +0,0 @@
1
- class CreateOtherNodes < ActiveRecord::Migration[5.0]
2
- def change
3
- create_table "other_nodes", :force => true do |t|
4
- t.string "name"
5
- t.string "slug"
6
- t.integer "parent_id"
7
- t.integer "lft"
8
- t.integer "rgt"
9
- t.integer "depth"
10
- t.string "locale", :limit => 6
11
- t.string "content_type"
12
- t.integer "content_id"
13
- t.datetime "created_at", :null => false
14
- t.datetime "updated_at", :null => false
15
- t.integer "item_position"
16
- t.boolean 'active', :null => false, :default => true
17
- t.text 'description'
18
- end
19
- add_index :other_nodes, :parent_id
20
- add_index :other_nodes, [:content_type, :content_id]
21
- add_index :other_nodes, :lft
22
- add_index :other_nodes, :rgt
23
- add_index :other_nodes, :depth
24
- add_index :other_nodes, :slug
25
- add_index :other_nodes, :name
26
- add_index :other_nodes, :active
27
- add_index :other_nodes, :locale
28
- end
29
- end
@@ -1,9 +0,0 @@
1
- class CreateTextPages < ActiveRecord::Migration[5.0]
2
- def change
3
- create_table :text_pages do |t|
4
- t.text :text_html
5
-
6
- t.timestamps(null: false)
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- class BannerPage < ActiveRecord::Base
2
- acts_as_node
3
- has_many :banner_groups, -> { order(:item_position) }, dependent: :destroy
4
- accepts_nested_attributes_for :banner_groups, allow_destroy: true
5
- dragonfly_accessor :top_banner
6
- dragonfly_accessor :bottom_banner
7
- end
@@ -1,17 +0,0 @@
1
- class Bundle < ActiveRecord::Base
2
- acts_as_node
3
-
4
- # This model was created especially to test a specific bug, that was
5
- # discovered with such classes as this.
6
- # It turns out that Node didn't create content object because no field of
7
- # placeholder model was rendered in form, thus no attribute of content object
8
- # was submitted.
9
- #
10
- # This class was added to test this bug, and to prevent regressions.
11
- #
12
- # Real life scenario:
13
- # At the moment of impllementing system, programmer knew he will need to
14
- # create bundles, however details about this funcionality wasn't fully clear.
15
- # Thus he created placeholder model.
16
- #
17
- end
@@ -1,3 +0,0 @@
1
- class HomePage < ActiveRecord::Base
2
- acts_as_node
3
- end
@@ -1,10 +0,0 @@
1
- class Node < ActiveRecord::Base
2
- include Releaf::Content::Node
3
- validates_with Releaf::Content::Node::RootValidator, allow: [HomePage]
4
- validates_with Releaf::Content::Node::ParentValidator, for: [ContactsController], under: HomePage
5
- validates_with Releaf::Content::Node::SinglenessValidator, for: [ContactsController], under: HomePage
6
-
7
- def locale_selection_enabled?
8
- root?
9
- end
10
- end
@@ -1,7 +0,0 @@
1
- class OtherSite::OtherNode < ActiveRecord::Base
2
- include Releaf::Content::Node
3
-
4
- def locale_selection_enabled?
5
- root?
6
- end
7
- end
@@ -1,4 +0,0 @@
1
- class TextPage < ActiveRecord::Base
2
- acts_as_node
3
- validates_presence_of :text_html
4
- end
@@ -1 +0,0 @@
1
- = link_to "Releaf github repository", 'https://github.com/cubesystems/releaf'
@@ -1 +0,0 @@
1
- = @content.intro_text_html.html_safe
@@ -1,30 +0,0 @@
1
- !!!
2
- %html
3
- %head
4
- %meta{:'http-equiv' => 'Content-Type', :content => 'text/html; charset=utf-8'}
5
- %title AppName
6
- - %w[.scss .css.scss .css].each do |ext|
7
- - if File.exists?(Rails.root.to_s + "/app/assets/stylesheets/controllers/#{ params[:controller] + ext }")
8
- = stylesheet_link_tag "controllers/#{params[:controller]}"
9
- - break
10
-
11
- = csrf_meta_tags
12
- %body(class = "#{params[:controller].tr('/', '-')}-controller #{params[:action]}-view #{I18n.locale}-locale")
13
- #body_wrap
14
- #content_wrap
15
- #header
16
- %p
17
- Site:
18
- = site
19
- %p
20
- Node class:
21
- = node_class
22
- %p
23
- Node name:
24
- = @node.name if @node.present?
25
- #content= yield
26
- #footer
27
- Footer
28
-
29
- - if File.exists? Rails.root.to_s + "/app/assets/javascripts/controllers/#{params[:controller]}.js"
30
- = javascript_include_tag "controllers/#{params[:controller]}"
@@ -1 +0,0 @@
1
- =@content.text_html.html_safe
@@ -1,28 +0,0 @@
1
- class CreateReleafNodes < ActiveRecord::Migration[5.0]
2
- def change
3
- create_table "nodes", :force => true do |t|
4
- t.string "name"
5
- t.string "slug"
6
- t.integer "parent_id"
7
- t.integer "lft"
8
- t.integer "rgt"
9
- t.integer "depth"
10
- t.string "locale", :limit => 6
11
- t.string "content_type"
12
- t.integer "content_id"
13
- t.datetime "created_at", :null => false
14
- t.datetime "updated_at", :null => false
15
- t.integer "item_position"
16
- t.boolean 'active', :null => false, :default => true
17
- end
18
- add_index :nodes, :parent_id
19
- add_index :nodes, [:content_type, :content_id]
20
- add_index :nodes, :lft
21
- add_index :nodes, :rgt
22
- add_index :nodes, :depth
23
- add_index :nodes, :slug
24
- add_index :nodes, :name
25
- add_index :nodes, :active
26
- add_index :nodes, :locale
27
- end
28
- end
@@ -1,12 +0,0 @@
1
- class CreateReleafRichtextAttachments < ActiveRecord::Migration[5.0]
2
- def change
3
- create_table :releaf_richtext_attachments do |t|
4
- t.string :file_uid
5
- t.string :file_name
6
- t.string :file_type
7
- t.string :title
8
-
9
- t.timestamps(null: false)
10
- end
11
- end
12
- end
@@ -1,20 +0,0 @@
1
- class CreateReleafTranslations < ActiveRecord::Migration[5.0]
2
- def change
3
- create_table :releaf_i18n_entries do |t|
4
- t.string :key, null: false
5
- t.timestamps null: false
6
- end
7
- add_index :releaf_i18n_entries, :key
8
-
9
- create_table :releaf_i18n_entry_translations do |t|
10
- t.integer :i18n_entry_id, null: false
11
- t.string :locale, null: false, limit: 5
12
- t.text :text
13
- t.timestamps null: false
14
- end
15
- add_index :releaf_i18n_entry_translations, :locale
16
- add_index :releaf_i18n_entry_translations, :i18n_entry_id
17
- add_index :releaf_i18n_entry_translations, [:locale, :i18n_entry_id], unique: true,
18
- name: :index_releaf_i18n_entry_translations_on_locale_i18n_entry_id
19
- end
20
- end
@@ -1,3 +0,0 @@
1
- class Node < ActiveRecord::Base
2
- include Releaf::Content::Node
3
- end
@@ -1,64 +0,0 @@
1
- require 'globalize'
2
-
3
- module Globalize::Accessors
4
- def globalize_accessors(options = {})
5
- options.reverse_merge!(:locales => I18n.available_locales, :attributes => translated_attribute_names)
6
- class_attribute :globalize_locales, :globalize_attribute_names, :instance_writer => false
7
-
8
- self.globalize_locales = options[:locales]
9
- self.globalize_attribute_names = []
10
-
11
- each_attribute_and_locale(options) do |attr_name, locale|
12
- define_accessors(attr_name, locale)
13
- end
14
-
15
- include InstanceMethods
16
- end
17
-
18
- def localized_attr_name_for(attr_name, locale)
19
- "#{attr_name}_#{locale.to_s.underscore}"
20
- end
21
-
22
- private
23
-
24
- def define_accessors(attr_name, locale)
25
- define_getter(attr_name, locale)
26
- define_setter(attr_name, locale)
27
- end
28
-
29
- def define_getter(attr_name, locale)
30
- define_method localized_attr_name_for(attr_name, locale) do
31
- globalize.stash.contains?(locale, attr_name) ? globalize.send(:fetch_stash, locale, attr_name) : globalize.send(:fetch_attribute, locale, attr_name)
32
- end
33
- end
34
-
35
- def define_setter(attr_name, locale)
36
- localized_attr_name = localized_attr_name_for(attr_name, locale)
37
-
38
- define_method :"#{localized_attr_name}=" do |value|
39
- attribute_will_change!(localized_attr_name) if value != send(localized_attr_name)
40
- write_attribute(attr_name, value, :locale => locale)
41
- translation_for(locale)[attr_name] = value
42
- end
43
- if respond_to?(:accessible_attributes) && accessible_attributes.include?(attr_name)
44
- attr_accessible :"#{localized_attr_name}"
45
- end
46
- self.globalize_attribute_names << localized_attr_name.to_sym
47
- end
48
-
49
- def each_attribute_and_locale(options)
50
- options[:attributes].each do |attr_name|
51
- options[:locales].each do |locale|
52
- yield attr_name, locale
53
- end
54
- end
55
- end
56
-
57
- module InstanceMethods
58
- def localized_attr_name_for(attr_name, locale)
59
- self.class.localized_attr_name_for(attr_name, locale)
60
- end
61
- end
62
- end
63
-
64
- ActiveRecord::Base.extend Globalize::Accessors