enjoy_cms 0.3.0.4 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ae5da74a58d1eb3e17743f4c15776d9d7c4aff2
4
- data.tar.gz: 38dd9e7610598eea2e5db3a8ca6123a8916fc5d2
3
+ metadata.gz: a1d161c901fcad77111f3812b158201ac4a9f1e1
4
+ data.tar.gz: 3c94d129878ee36a5c0ab63d2bfe96b4bef846d0
5
5
  SHA512:
6
- metadata.gz: a419713fdc0e06afb71897a2913160fad87572d66f50111c2da4916121d977fbeb9b98088a849cef0142cbadb1114e114e451e04aff1815763eb1aa56d3eb9b7
7
- data.tar.gz: b77afda381a54a93dbdd2158b5744bf49f61c9c16c58539cf6660e0e8b19b1183caebb3fbd2c95eddde8da69ef5245b3344e3e96eb3124d52e6a2705bb02e747
6
+ metadata.gz: b7269789b50e12233a1958fe60e84f9b199e75db62ade20ba653672be54583484cce0c098c4cb11cd21f260da642424d61722a335d1eadd758072944f73f85b6
7
+ data.tar.gz: 01e548a6a35a178cac39af26a8d6c8e07d51c639cc07c7549f5311fb78de2d34b8d6afdd49f667f60ab18fece0e61603f9c16b3a86408d35dae55cf092458187
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enjoy_cms (0.3.0.4)
4
+ enjoy_cms (0.3.1)
5
5
  ack_rails_admin_jcrop
6
6
  addressable
7
7
  ckeditor
@@ -76,7 +76,7 @@ GEM
76
76
  addressable (2.4.0)
77
77
  arel (6.0.3)
78
78
  bcrypt (3.1.10)
79
- bson (4.0.2)
79
+ bson (4.0.3)
80
80
  builder (3.2.2)
81
81
  ckeditor (4.1.6)
82
82
  cocaine
@@ -92,7 +92,7 @@ GEM
92
92
  coffee-script-source
93
93
  execjs
94
94
  coffee-script-source (1.10.0)
95
- concurrent-ruby (1.0.0)
95
+ concurrent-ruby (1.0.1)
96
96
  devise (3.5.6)
97
97
  bcrypt (~> 3.0)
98
98
  orm_adapter (~> 0.1)
@@ -247,7 +247,7 @@ GEM
247
247
  sprockets (3.5.2)
248
248
  concurrent-ruby (~> 1.0)
249
249
  rack (> 1, < 3)
250
- sprockets-rails (3.0.1)
250
+ sprockets-rails (3.0.3)
251
251
  actionpack (>= 4.0)
252
252
  activesupport (>= 4.0)
253
253
  sprockets (>= 3.0.0)
@@ -0,0 +1,37 @@
1
+ module Enjoy::Blocksetable
2
+ extend ActiveSupport::Concern
3
+ included do
4
+ helper_method :render_blockset
5
+ end
6
+
7
+ private
8
+ def render_blockset(view, type)
9
+ ret = []
10
+ begin
11
+ blocks = blockset_get_blocks(type)
12
+ blocks.each do |block|
13
+ ret << block.render_or_content_html(view)
14
+ end
15
+ rescue Exception => exception
16
+ Rails.logger.error exception.message
17
+ Rails.logger.error exception.backtrace.join("\n")
18
+ puts exception.message
19
+ puts exception.backtrace.join("\n")
20
+ capture_exception(exception) if respond_to?(:capture_exception)
21
+ # ret << blocks || []
22
+ end
23
+ ret.join.html_safe
24
+ end
25
+
26
+ def blockset_get_blocks(type)
27
+ blockset = blockset_class.find(type.to_s)
28
+ blockset.blocks.enabled.sorted.to_a if blockset
29
+ end
30
+
31
+ def blockset_class_name
32
+ "Enjoy::PageBlockset"
33
+ end
34
+ def blockset_class
35
+ blockset_class_name.constantize
36
+ end
37
+ end
@@ -6,7 +6,7 @@ if Enjoy.mongoid?
6
6
  def enjoy_cms_html_field(name, opts = {})
7
7
  clear_by_default = opts.delete(:clear_by_default)
8
8
  clear_by_default = false unless clear_by_default == true
9
-
9
+
10
10
  field "#{name}_html", opts
11
11
  field "#{name}_clear", type: Boolean, default: clear_by_default
12
12
 
@@ -37,6 +37,7 @@ if Enjoy.mongoid?
37
37
  true
38
38
  end
39
39
  EVAL
40
+ jcrop_options ||= {}
40
41
  if jcrop_options
41
42
  class_eval <<-EVAL
42
43
  def #{name}_jcrop_options
@@ -6,8 +6,10 @@ ruby:
6
6
  customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
7
7
  }
8
8
  }
9
- = form.text_area "#{field.method_name}_html", field.html_attributes.reverse_merge(data: { richtext: 'ckeditor', options: js_data.to_json }).reverse_merge({ value: field.form_value[:html] })
9
+ _html_attributes = field.html_attributes.reverse_merge(data: { richtext: 'ckeditor', options: js_data.to_json, value: field.form_value[:html] })
10
+ = form.text_area field.html_method, _html_attributes
10
11
 
11
12
  label{style='display: block;'}
12
- span{style='float: left'}= form.send field.boolean_view_helper, "#{field.method_name}_clear", field.html_attributes.reverse_merge({ value: field.form_value[:clear], checked: field.form_value[:clear].in?([true, '1']), required: field.required, class: "form-control"})
13
+ - _html_attributes = field.html_attributes.reverse_merge({ value: field.form_value[:clear], checked: field.form_value[:clear].in?([true, '1']), required: false, class: "form-control"})
14
+ span{style='float: left'}= form.send field.boolean_view_helper, field.clear_method, _html_attributes
13
15
  div{style='margin-left: 35px; line-height: 40px;'} Убирать теги
data/enjoy_cms.gemspec CHANGED
@@ -51,7 +51,6 @@ Gem::Specification.new do |spec|
51
51
  spec.add_dependency 'thor'
52
52
  spec.add_dependency 'smart_excerpt'
53
53
 
54
-
55
54
  spec.add_dependency 'rails_admin_sort_embedded'
56
55
  spec.add_dependency 'image_optim'
57
56
  spec.add_dependency 'image_optim_pack'
@@ -19,6 +19,8 @@ module Enjoy
19
19
  end
20
20
  end
21
21
  field :excerpt, :enjoy_html
22
+ # field :excerpt_html, :ck_editor
23
+ # field :excerpt_clear, :toggle
22
24
  field :slugs, :enum do
23
25
  enum_method do
24
26
  :slugs
@@ -38,6 +40,8 @@ module Enjoy
38
40
 
39
41
  edit do
40
42
  field :content, :enjoy_html
43
+ # field :content_html, :ck_editor
44
+ # field :content_clear, :toggle
41
45
  fields.each_pair do |name, type|
42
46
  if type.nil?
43
47
  field name
@@ -22,7 +22,11 @@ module Enjoy
22
22
  edit do
23
23
  field :name
24
24
  field :excerpt, :enjoy_html
25
+ # field :excerpt_html, :ck_editor
26
+ # field :excerpt_clear, :toggle
25
27
  field :content, :enjoy_html
28
+ # field :content_html, :ck_editor
29
+ # field :content_clear, :toggle
26
30
 
27
31
  group :menu do
28
32
  label I18n.t('enjoy.menu')
@@ -6,8 +6,13 @@ module Enjoy
6
6
  # navigation_label 'CMS'
7
7
 
8
8
  field :enabled, :toggle
9
+ field :partial, :toggle
9
10
  field :name
11
+ field :file_path, :string
12
+
10
13
  field :content, :enjoy_html
14
+ # field :content_html, :ck_editor
15
+ # field :content_clear, :toggle
11
16
 
12
17
  fields.each_pair do |name, type|
13
18
  if type.nil?
@@ -6,9 +6,9 @@ module Enjoy
6
6
  # navigation_label 'CMS'
7
7
 
8
8
  field :enabled, :toggle
9
+ field :text_slug
9
10
  field :name
10
11
 
11
-
12
12
  field :blocks
13
13
 
14
14
  fields.each_pair do |name, type|
@@ -36,6 +36,12 @@ module Enjoy
36
36
  # end
37
37
  # end
38
38
 
39
+ sort_embedded(
40
+ {
41
+ fields: [:blocks]
42
+ }
43
+ )
44
+
39
45
  if block_given?
40
46
  yield self
41
47
  end
@@ -5,6 +5,7 @@ module Enjoy::Controller
5
5
  include Enjoy::SeoPages
6
6
  include Enjoy::NavMenu
7
7
  include Enjoy::Fancybox
8
+ include Enjoy::Blocksetable
8
9
  protect_from_forgery with: :exception
9
10
  helper_method :page_title
10
11
  helper_method :hide_ym_ga
@@ -4,6 +4,9 @@ module Enjoy
4
4
  module ContactMessage
5
5
  extend ActiveSupport::Concern
6
6
  included do
7
+ if defined?(RailsAdminComments)
8
+ include RailsAdminComments::Commentable
9
+ end
7
10
 
8
11
  field :name, type: String
9
12
  field :email, type: String
@@ -6,6 +6,10 @@ module Enjoy
6
6
  include Enjoy::MongoidPaperclip
7
7
 
8
8
  included do
9
+ if defined?(RailsAdminComments)
10
+ include RailsAdminComments::Commentable
11
+ end
12
+
9
13
 
10
14
  manual_slug :name
11
15
 
@@ -6,6 +6,10 @@ module Enjoy
6
6
  include Enjoy::MongoidPaperclip
7
7
 
8
8
  included do
9
+ if defined?(RailsAdminComments)
10
+ include RailsAdminComments::Commentable
11
+ end
12
+
9
13
 
10
14
  acts_as_nested_set
11
15
  scope :sorted, -> { order_by([:lft, :asc]) }
@@ -5,6 +5,10 @@ module Enjoy
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
+ if defined?(RailsAdminComments)
9
+ include RailsAdminComments::Commentable
10
+ end
11
+
8
12
  has_and_belongs_to_many :pages, inverse_of: :menus, class_name: "Enjoy::Page"
9
13
  alias_method :items, :pages
10
14
 
@@ -10,6 +10,10 @@ module Enjoy
10
10
  include Enjoy::HtmlField
11
11
 
12
12
  included do
13
+ if defined?(RailsAdminComments)
14
+ include RailsAdminComments::Commentable
15
+ end
16
+
13
17
  field :name, type: String, localize: Enjoy.config.localize, default: ""
14
18
 
15
19
  field :time, type: Time
@@ -7,6 +7,10 @@ module Enjoy
7
7
  include Enjoy::HtmlField
8
8
 
9
9
  included do
10
+ if defined?(RailsAdminComments)
11
+ include RailsAdminComments::Commentable
12
+ end
13
+
10
14
  field :name, type: String, localize: Enjoy.config.localize, default: ""
11
15
 
12
16
  field :regexp, type: String, default: ""
@@ -7,10 +7,49 @@ module Enjoy
7
7
  include Enjoy::HtmlField
8
8
 
9
9
  included do
10
- has_and_belongs_to_many :blocksets, inverse_of: :blocks, class_name: "Enjoy::PageBlockset"
10
+ field :file_path, type: String, localize: Enjoy.config.localize, default: ""
11
+ field :partial, type: Boolean, default: true
12
+ embedded_in :blockset, inverse_of: :blocks, class_name: "Enjoy::PageBlockset"
11
13
 
12
14
  enjoy_cms_html_field :content, type: String, localize: Enjoy.config.localize, default: ""
13
15
  end
16
+
17
+ def file_pathname_as_partial
18
+ self.file_pathname.dirname.join("_#{self.file_pathname.basename}")
19
+ end
20
+
21
+ def file_pathname_for_fs
22
+ self.partial ? self.file_path_as_partial : self.file_pathname
23
+ end
24
+
25
+ def render_or_content_html(view, opts = {})
26
+ unless self.file_path.blank?
27
+ opts.merge!(partial: self.file_path)
28
+ view.render(opts) rescue self.content_html.html_safe
29
+ else
30
+ self.content_html.html_safe
31
+ end
32
+ end
33
+
34
+ def render_or_content(view, opts = {})
35
+ unless self.file_path.blank?
36
+ opts.merge!(partial: self.file_path)
37
+ view.render(opts) rescue self.content
38
+ else
39
+ self.content
40
+ end
41
+ end
42
+
43
+ def file_fullpath(with_ext = false, ext = ".html.slim")
44
+ ret = nil
45
+ unless self.file_path.blank?
46
+ res_filename = self.file_pathname_for_fs.to_s
47
+ res_filename += ext if with_ext
48
+ ret = Rails.root.join("views", res_filename)
49
+ end
50
+ return ret
51
+ end
52
+
14
53
  end
15
54
  end
16
55
  end
@@ -5,12 +5,14 @@ module Enjoy
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
- field :name, type: String, default: ""
8
+ if defined?(RailsAdminComments)
9
+ include RailsAdminComments::Commentable
10
+ end
9
11
 
10
- has_and_belongs_to_many :blocks, inverse_of: :blocksets, class_name: "Enjoy::PageBlock"
12
+ field :name, type: String, default: ""
11
13
 
12
- scope :sorted, -> { order_by([:lft, :asc]) }
13
- scope :blockset, ->(block_id) { enabled.sorted.where(block_ids: block_id) }
14
+ embeds_many :blocks, inverse_of: :blockset, class_name: "Enjoy::PageBlock"
15
+ accepts_nested_attributes_for :blocks
14
16
  end
15
17
  end
16
18
  end
@@ -6,6 +6,10 @@ module Enjoy
6
6
  include Enjoy::MongoidPaperclip
7
7
  included do
8
8
 
9
+ if defined?(RailsAdminComments)
10
+ include RailsAdminComments::Commentable
11
+ end
12
+
9
13
  field :name, type: String, localize: Enjoy.config.localize
10
14
  field :h1, type: String, localize: Enjoy.config.localize
11
15
 
@@ -28,7 +32,7 @@ module Enjoy
28
32
  def og_image_convert_options
29
33
  {}
30
34
  end
31
-
35
+
32
36
  end
33
37
  end
34
38
  end
@@ -3,8 +3,13 @@ module Enjoy
3
3
  module Mongoid
4
4
  module SitemapData
5
5
  extend ActiveSupport::Concern
6
-
6
+
7
7
  included do
8
+
9
+ if defined?(RailsAdminComments)
10
+ include RailsAdminComments::Commentable
11
+ end
12
+
8
13
  field :sitemap_show, type: Boolean, default: true
9
14
  field :sitemap_lastmod, type: DateTime
10
15
  field :sitemap_changefreq, type: String, default: 'daily'
@@ -22,7 +22,7 @@ module Enjoy
22
22
 
23
23
  validates_presence_of :name
24
24
  if Enjoy.config.news_content_required
25
- validates_presence_of :content
25
+ validates_presence_of :content_html
26
26
  end
27
27
 
28
28
  before_validation do
@@ -6,6 +6,16 @@ module Enjoy
6
6
  include Enjoy.orm_specific('PageBlock')
7
7
 
8
8
  included do
9
+ validates :file_path, format: {
10
+ # with: /\A(?!layouts\/).*\Z/,
11
+ without: /\Alayouts\/.*\Z/,
12
+ message: "Недопустимый путь к файлу"
13
+ }
14
+
15
+ attr_accessor :file_pathname
16
+ after_initialize do
17
+ self.file_pathname = Pathname.new(file_path) unless file_path.nil?
18
+ end
9
19
  end
10
20
  end
11
21
  end
@@ -4,11 +4,21 @@ module Enjoy
4
4
  extend ActiveSupport::Concern
5
5
  include Enjoy::Model
6
6
  include Enjoy::Enableable
7
+ include ManualSlug
7
8
 
8
9
  include Enjoy.orm_specific('PageBlockset')
9
10
 
10
11
  included do
12
+ manual_slug :name
13
+
14
+ # after_save do
15
+ # Rails.cache.delete 'blocksets'
16
+ # end
17
+ # after_destroy do
18
+ # Rails.cache.delete 'blocksets'
19
+ # end
11
20
  end
21
+
12
22
  end
13
23
  end
14
24
  end
@@ -7,17 +7,26 @@ module RailsAdmin
7
7
  RailsAdmin::Config::Fields::Types::register(self)
8
8
  include RailsAdmin::Engine.routes.url_helpers
9
9
 
10
+ register_instance_option :html_method do
11
+ "#{name}_html"
12
+ end
13
+
14
+ register_instance_option :clear_method do
15
+ "#{name}_clear"
16
+ end
17
+
10
18
  register_instance_option :pretty_value do
11
- bindings[:object].send(name + "_html")
19
+ bindings[:object].send(html_method)
12
20
  end
13
21
 
14
22
  register_instance_option :form_value do
15
23
  {
16
- html: bindings[:object].send("#{name}_html"),
17
- clear: bindings[:object].send("#{name}_clear")
24
+ html: bindings[:object].send(html_method),
25
+ clear: bindings[:object].send(clear_method)
18
26
  }
19
27
  end
20
28
 
29
+
21
30
  register_instance_option :formatted_value do
22
31
  pretty_value
23
32
  end
@@ -25,11 +34,16 @@ module RailsAdmin
25
34
  register_instance_option :export_value do
26
35
  pretty_value
27
36
  end
37
+
28
38
 
29
39
  register_instance_option :boolean_view_helper do
30
40
  :check_box
31
41
  end
32
42
 
43
+ register_instance_option :allowed_methods do
44
+ [html_method, clear_method]
45
+ end
46
+
33
47
  register_instance_option :partial do
34
48
  :enjoy_html
35
49
  end
data/lib/enjoy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Enjoy
2
- VERSION = "0.3.0.4"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -39,7 +39,8 @@ class Ability
39
39
  def manager_models
40
40
  [
41
41
  Enjoy::Page, Enjoy::News,
42
- Enjoy::Seo, Enjoy::SitemapData
42
+ Enjoy::Seo, Enjoy::SitemapData,
43
+ RailsAdminSettings::Settings
43
44
  ]
44
45
  end
45
46
  end
data/template.rb CHANGED
@@ -22,7 +22,7 @@ gem 'sass-rails'
22
22
  gem 'compass-rails'
23
23
  gem 'compass'
24
24
 
25
- #{if mongoid then "gem 'enjoy_cms_mongoid'" else "gem 'enjoy_cms_activerecord'" end}, '~> 0.3.0'
25
+ #{if mongoid then "gem 'enjoy_cms_mongoid'" else "gem 'enjoy_cms_activerecord'" end}, '~> 0.3.1'
26
26
 
27
27
  gem 'devise'
28
28
 
@@ -74,7 +74,6 @@ end
74
74
  gem 'slim'
75
75
  gem 'sprockets'
76
76
 
77
-
78
77
  gem 'sitemap_generator'
79
78
  gem 'rails_admin_sitemap'
80
79
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enjoy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.4
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kiseliev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-02-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -455,6 +455,7 @@ files:
455
455
  - app/assets/stylesheets/enjoy_cms/flash.sass
456
456
  - app/assets/stylesheets/enjoy_cms/normalize.scss
457
457
  - app/assets/stylesheets/enjoy_cms/powered.sass
458
+ - app/controllers/concerns/enjoy/blocksetable.rb
458
459
  - app/controllers/concerns/enjoy/decorators/contacts.rb
459
460
  - app/controllers/concerns/enjoy/decorators/home.rb
460
461
  - app/controllers/concerns/enjoy/decorators/news.rb