rails_admin_cms 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/cms/logger.rb +16 -0
- data/app/helpers/cms/view_helper.rb +48 -0
- data/app/models/setting.rb +1 -1
- data/app/models/unique_key.rb +1 -1
- data/app/models/viewable.rb +1 -1
- data/db/migrate/20150111082038_create_versions.rb +20 -0
- data/db/migrate/20150111082039_add_object_changes_to_versions.rb +10 -0
- data/db/migrate/20150111082040_create_version_associations.rb +17 -0
- data/db/migrate/20150111082041_add_transaction_id_column_to_versions.rb +11 -0
- data/db/migrate/20160111072418_add_cms_og_tags_settings.rb +16 -0
- data/lib/generators/cms/install/templates/app/controllers/application_controller.rb +5 -0
- data/lib/generators/cms/install/templates/config/initializers/rails_admin.rb +18 -5
- data/lib/generators/cms/install/templates/config/initializers/rails_admin_cms.rb +0 -3
- data/lib/rails_admin_cms.rb +8 -0
- data/lib/rails_admin_cms/config.rb +1 -10
- data/lib/rails_admin_cms/version.rb +1 -1
- metadata +49 -2
- data/app/helpers/rails_admin/form_builder_decorator.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f8bb36dc3f8fda329fa6f6f7963ff41e2707db3
|
4
|
+
data.tar.gz: 5507980dc86a5fb2c302adb9a48a6ff0bc21d79c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5321a7dd235768491894cc59e0b6ee1fd3c1990ae0aae6239715f66b682f2547e5a644c6a23fc68c76cd284ce6de264c71282391a96fac781ff0bc8f9cb0640c
|
7
|
+
data.tar.gz: 634038e2d6aec4c5061785574cf2148bd32cf6371233c9788e41b0be2cd6c213c52d170b4734f67aade35a45b2c80ea2cb82c999c49daddbeb1a11d587125cf0
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module CMS
|
2
|
+
module Logger
|
3
|
+
extend ActiveSupport
|
4
|
+
|
5
|
+
protected
|
6
|
+
|
7
|
+
def cms_logger(exception, log_name = nil)
|
8
|
+
current_logger = log_name ? ::Logger.new("#{Rails.root}/log/#{log_name}.log") : logger
|
9
|
+
current_logger.error "[ERROR][#{request.remote_ip}][#{request.method}][#{request.original_url}]"
|
10
|
+
if exception
|
11
|
+
current_logger.error exception.message
|
12
|
+
exception.backtrace.each{ |line| current_logger.error line }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -33,5 +33,53 @@ module CMS
|
|
33
33
|
default
|
34
34
|
end
|
35
35
|
end
|
36
|
+
|
37
|
+
def cms_meta_og_tags(title = nil)
|
38
|
+
tags = {}
|
39
|
+
if @product # TODO: move to Solidus connector
|
40
|
+
tags[:title] = @product.name
|
41
|
+
tags[:description] = @product.description
|
42
|
+
tags[:url] = product_url(@product, only_path: false)
|
43
|
+
image = @product.images.first.try(:attachment)
|
44
|
+
tags[:image] = image.try(:url, :product)
|
45
|
+
else
|
46
|
+
tags[:title] = title.blank? ? Setting['cms_og_tag_title'] : title
|
47
|
+
end
|
48
|
+
%{
|
49
|
+
<meta property="og:title" content="#{tags[:title]}" />
|
50
|
+
<meta property="og:type" content="website" />
|
51
|
+
<meta property="og:description" content="#{tags[:description] || Setting['cms_og_tag_description']}" />
|
52
|
+
<meta property="og:url" content="#{tags[:url] || request.original_url }" />
|
53
|
+
<meta property="og:image" content="#{image_url(tags[:image] || 'ogimage.jpg', only_path: false)}" />
|
54
|
+
}.html_safe
|
55
|
+
end
|
56
|
+
|
57
|
+
def yes_no(boolean)
|
58
|
+
boolean ? t('yes') : t('no')
|
59
|
+
end
|
60
|
+
|
61
|
+
def to_nbsp(value)
|
62
|
+
value.kind_of?(String) ? value.gsub(' ', ' ').gsub('-', '‑') : (value || '')
|
63
|
+
end
|
64
|
+
|
65
|
+
def to_currency(value)
|
66
|
+
number_to_currency(value, separator: '.', delimiter: '', format: '%n $')
|
67
|
+
end
|
68
|
+
|
69
|
+
def to_int_if_whole(float)
|
70
|
+
(float % 1 == 0) ? float.to_i : float
|
71
|
+
end
|
72
|
+
|
73
|
+
def full_name(object, prefix = nil)
|
74
|
+
if prefix
|
75
|
+
"#{object.send("#{prefix}_firstname")} #{object.send("#{prefix}_lastname")}"
|
76
|
+
else
|
77
|
+
"#{object.firstname} #{object.lastname}"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def current_url_without_params
|
82
|
+
"#{request.base_url}#{request.path}"
|
83
|
+
end
|
36
84
|
end
|
37
85
|
end
|
data/app/models/setting.rb
CHANGED
data/app/models/unique_key.rb
CHANGED
data/app/models/viewable.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
class CreateVersions < ActiveRecord::Migration
|
2
|
+
|
3
|
+
# The largest text column available in all supported RDBMS is
|
4
|
+
# 1024^3 - 1 bytes, roughly one gibibyte. We specify a size
|
5
|
+
# so that MySQL will use `longtext` instead of `text`. Otherwise,
|
6
|
+
# when serializing very large objects, `text` might not be big enough.
|
7
|
+
TEXT_BYTES = 1_073_741_823
|
8
|
+
|
9
|
+
def change
|
10
|
+
create_table :versions do |t|
|
11
|
+
t.string :item_type, :null => false
|
12
|
+
t.integer :item_id, :null => false
|
13
|
+
t.string :event, :null => false
|
14
|
+
t.string :whodunnit
|
15
|
+
t.text :object, :limit => TEXT_BYTES
|
16
|
+
t.datetime :created_at
|
17
|
+
end
|
18
|
+
add_index :versions, [:item_type, :item_id]
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class AddObjectChangesToVersions < ActiveRecord::Migration
|
2
|
+
|
3
|
+
# The largest text column available in all supported RDBMS.
|
4
|
+
# See `create_versions.rb` for details.
|
5
|
+
TEXT_BYTES = 1_073_741_823
|
6
|
+
|
7
|
+
def change
|
8
|
+
add_column :versions, :object_changes, :text, limit: TEXT_BYTES
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateVersionAssociations < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :version_associations do |t|
|
4
|
+
t.integer :version_id
|
5
|
+
t.string :foreign_key_name, :null => false
|
6
|
+
t.integer :foreign_key_id
|
7
|
+
end
|
8
|
+
add_index :version_associations, [:version_id]
|
9
|
+
add_index :version_associations, [:foreign_key_name, :foreign_key_id], :name => 'index_version_associations_on_foreign_key'
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
remove_index :version_associations, [:version_id]
|
14
|
+
remove_index :version_associations, :name => 'index_version_associations_on_foreign_key'
|
15
|
+
drop_table :version_associations
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class AddTransactionIdColumnToVersions < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :versions, :transaction_id, :integer
|
4
|
+
add_index :versions, [:transaction_id]
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.down
|
8
|
+
remove_index :versions, [:transaction_id]
|
9
|
+
remove_column :versions, :transaction_id
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class AddCMSOgTagsSettings < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
def up
|
4
|
+
Setting.apply_all(
|
5
|
+
cms_og_tag_title: Rails.application.class.parent_name,
|
6
|
+
cms_og_tag_description: Rails.application.class.parent_name,
|
7
|
+
)
|
8
|
+
end
|
9
|
+
def down
|
10
|
+
Setting.remove_all(
|
11
|
+
:cms_og_tag_title,
|
12
|
+
:cms_og_tag_description,
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -1,12 +1,21 @@
|
|
1
1
|
RailsAdmin.config do |config|
|
2
|
-
|
2
|
+
config.main_app_name = ["Dashboard", ""]
|
3
|
+
|
3
4
|
config.browser_validations = false
|
4
5
|
|
6
|
+
config.compact_show_view = false
|
7
|
+
|
8
|
+
### Popular gems integration
|
9
|
+
|
5
10
|
## == Devise ==
|
6
11
|
# config.authenticate_with do
|
7
12
|
# warden.authenticate! scope: :user
|
8
13
|
# end
|
9
|
-
|
14
|
+
config.current_user_method(&:current_admin)
|
15
|
+
|
16
|
+
config.authorize_with do
|
17
|
+
redirect_to '/' unless current_admin?
|
18
|
+
end
|
10
19
|
|
11
20
|
## == Cancan ==
|
12
21
|
# config.authorize_with :cancan
|
@@ -15,7 +24,11 @@ RailsAdmin.config do |config|
|
|
15
24
|
# config.authorize_with :pundit
|
16
25
|
|
17
26
|
## == PaperTrail ==
|
18
|
-
|
27
|
+
if 'Spree::User'.safe_constantize # TODO: move to Solidus connector
|
28
|
+
config.audit_with :paper_trail, 'Spree::User', 'PaperTrail::Version' # PaperTrail >= 3.0.0
|
29
|
+
else
|
30
|
+
config.audit_with :paper_trail, 'BlackHole', 'PaperTrail::Version'
|
31
|
+
end
|
19
32
|
|
20
33
|
### More at https://github.com/sferik/rails_admin/wiki/Base-configuration
|
21
34
|
|
@@ -65,8 +78,8 @@ RailsAdmin.config do |config|
|
|
65
78
|
show_in_app
|
66
79
|
|
67
80
|
## With an audit adapter, you can add:
|
68
|
-
|
69
|
-
|
81
|
+
history_index
|
82
|
+
history_show
|
70
83
|
end
|
71
84
|
|
72
85
|
config.model 'Rich::RichFile' do
|
@@ -5,9 +5,6 @@ RailsAdminCMS.config do |config|
|
|
5
5
|
# Defines the base mailer inherited from
|
6
6
|
# config.parent_mailer = ::ApplicationMailer
|
7
7
|
|
8
|
-
# Defines if PaperTrail support is used
|
9
|
-
# config.with_paper_trail = false
|
10
|
-
|
11
8
|
# Defines the maximum number of fields a Form defined admin side has
|
12
9
|
# * it is important to note that rake cms:adjust_max_size needs to be run if that number changes
|
13
10
|
# config.custom_form_max_size = 20
|
data/lib/rails_admin_cms.rb
CHANGED
@@ -19,6 +19,14 @@ require "invisible_captcha"
|
|
19
19
|
require "jquery-form-validator-rails"
|
20
20
|
require "bootstrap_flash_messages"
|
21
21
|
|
22
|
+
require "paper_trail"
|
23
|
+
require "rails_admin_history_rollback"
|
24
|
+
require "naught"
|
25
|
+
|
26
|
+
BlackHole = Naught.build do |config|
|
27
|
+
config.black_hole
|
28
|
+
end
|
29
|
+
|
22
30
|
require "rails_admin_cms/engine"
|
23
31
|
require "rails_admin_cms/inflections"
|
24
32
|
require "rails_admin_cms/core_ext/boolean"
|
@@ -13,7 +13,6 @@ module RailsAdminCMS
|
|
13
13
|
attr_writer(
|
14
14
|
:parent_controller,
|
15
15
|
:parent_mailer,
|
16
|
-
:with_paper_trail,
|
17
16
|
:custom_form_max_size,
|
18
17
|
:with_email_body
|
19
18
|
)
|
@@ -23,15 +22,7 @@ module RailsAdminCMS
|
|
23
22
|
end
|
24
23
|
|
25
24
|
def parent_mailer
|
26
|
-
@parent_mailer || "::ApplicationMailer".safe_constantize ||
|
27
|
-
def send_email(_form)
|
28
|
-
mailer
|
29
|
-
end
|
30
|
-
}.new(Struct.new(:deliver_now).new(nil))
|
31
|
-
end
|
32
|
-
|
33
|
-
def with_paper_trail?
|
34
|
-
@with_paper_trail
|
25
|
+
@parent_mailer || "::ApplicationMailer".safe_constantize || BlackHole
|
35
26
|
end
|
36
27
|
|
37
28
|
def custom_form_max_size
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrice Lebel
|
@@ -392,6 +392,48 @@ dependencies:
|
|
392
392
|
- - ">="
|
393
393
|
- !ruby/object:Gem::Version
|
394
394
|
version: 1.0.1
|
395
|
+
- !ruby/object:Gem::Dependency
|
396
|
+
name: paper_trail
|
397
|
+
requirement: !ruby/object:Gem::Requirement
|
398
|
+
requirements:
|
399
|
+
- - "~>"
|
400
|
+
- !ruby/object:Gem::Version
|
401
|
+
version: 4.0.0
|
402
|
+
type: :runtime
|
403
|
+
prerelease: false
|
404
|
+
version_requirements: !ruby/object:Gem::Requirement
|
405
|
+
requirements:
|
406
|
+
- - "~>"
|
407
|
+
- !ruby/object:Gem::Version
|
408
|
+
version: 4.0.0
|
409
|
+
- !ruby/object:Gem::Dependency
|
410
|
+
name: rails_admin_history_rollback
|
411
|
+
requirement: !ruby/object:Gem::Requirement
|
412
|
+
requirements:
|
413
|
+
- - "~>"
|
414
|
+
- !ruby/object:Gem::Version
|
415
|
+
version: 0.0.6
|
416
|
+
type: :runtime
|
417
|
+
prerelease: false
|
418
|
+
version_requirements: !ruby/object:Gem::Requirement
|
419
|
+
requirements:
|
420
|
+
- - "~>"
|
421
|
+
- !ruby/object:Gem::Version
|
422
|
+
version: 0.0.6
|
423
|
+
- !ruby/object:Gem::Dependency
|
424
|
+
name: naught
|
425
|
+
requirement: !ruby/object:Gem::Requirement
|
426
|
+
requirements:
|
427
|
+
- - "~>"
|
428
|
+
- !ruby/object:Gem::Version
|
429
|
+
version: 1.0.0
|
430
|
+
type: :runtime
|
431
|
+
prerelease: false
|
432
|
+
version_requirements: !ruby/object:Gem::Requirement
|
433
|
+
requirements:
|
434
|
+
- - "~>"
|
435
|
+
- !ruby/object:Gem::Version
|
436
|
+
version: 1.0.0
|
395
437
|
- !ruby/object:Gem::Dependency
|
396
438
|
name: sqlite3
|
397
439
|
requirement: !ruby/object:Gem::Requirement
|
@@ -608,13 +650,13 @@ files:
|
|
608
650
|
- app/controllers/cms/viewables_controller.rb
|
609
651
|
- app/controllers/concerns/cms/editing.rb
|
610
652
|
- app/controllers/concerns/cms/localize.rb
|
653
|
+
- app/controllers/concerns/cms/logger.rb
|
611
654
|
- app/helpers/cms/cache_helper.rb
|
612
655
|
- app/helpers/cms/form_helper.rb
|
613
656
|
- app/helpers/cms/javascript_helper.rb
|
614
657
|
- app/helpers/cms/locale_helper.rb
|
615
658
|
- app/helpers/cms/view_helper.rb
|
616
659
|
- app/helpers/cms/viewable_helper.rb
|
617
|
-
- app/helpers/rails_admin/form_builder_decorator.rb
|
618
660
|
- app/helpers/rails_admin/navigation_helper.rb
|
619
661
|
- app/mailers/cms/forms_mailer.rb
|
620
662
|
- app/models/admin/form/email.rb
|
@@ -695,6 +737,10 @@ files:
|
|
695
737
|
- config/locales/routes.fr.yml
|
696
738
|
- config/routes.rb
|
697
739
|
- config/spring.rb
|
740
|
+
- db/migrate/20150111082038_create_versions.rb
|
741
|
+
- db/migrate/20150111082039_add_object_changes_to_versions.rb
|
742
|
+
- db/migrate/20150111082040_create_version_associations.rb
|
743
|
+
- db/migrate/20150111082041_add_transaction_id_column_to_versions.rb
|
698
744
|
- db/migrate/20151226023652_create_unique_key.rb
|
699
745
|
- db/migrate/20151226054335_create_viewable_link.rb
|
700
746
|
- db/migrate/20151227064933_create_viewable_text.rb
|
@@ -709,6 +755,7 @@ files:
|
|
709
755
|
- db/migrate/20160101141844_create_form_row.rb
|
710
756
|
- db/migrate/20160102010317_create_form_field.rb
|
711
757
|
- db/migrate/20160103120544_create_form_email.rb
|
758
|
+
- db/migrate/20160111072418_add_cms_og_tags_settings.rb
|
712
759
|
- lib/active_type/virtual_attributes_decorator.rb
|
713
760
|
- lib/generators/cms/install/USAGE
|
714
761
|
- lib/generators/cms/install/install_generator.rb
|
@@ -1,11 +0,0 @@
|
|
1
|
-
module RailsAdmin
|
2
|
-
FormBuilder.class_eval do
|
3
|
-
|
4
|
-
private
|
5
|
-
|
6
|
-
def nested_field_association?(field, nested_in)
|
7
|
-
field.inverse_of.presence && nested_in.presence && field.inverse_of == nested_in.name &&
|
8
|
-
(@template.instance_variable_get(:@model_config).abstract_model == field.abstract_model || field.name == nested_in.inverse_of)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|