hancock_cms 1.0.2.3 → 2.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -1
  3. data/.ruby-version +1 -1
  4. data/README.md +9 -13
  5. data/app/assets/images/{hancock/rails_admin → rails-admin}/hancock_logo.svg +0 -0
  6. data/app/assets/javascripts/hancock/cms.coffee +1 -1
  7. data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +38 -10
  8. data/app/assets/javascripts/jquery.placeholder.js +2 -3
  9. data/app/assets/javascripts/rails_admin/custom/ui.coffee +0 -1
  10. data/app/assets/stylesheets/hancock/cms/devise.sass +22 -36
  11. data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +147 -364
  12. data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
  13. data/app/controllers/concerns/hancock/current_user.rb +1 -1
  14. data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
  15. data/app/controllers/concerns/hancock/errors.rb +7 -6
  16. data/app/controllers/concerns/hancock/no_cache.rb +12 -0
  17. data/app/controllers/hancock/registrations_controller.rb +7 -2
  18. data/app/controllers/hancock/sessions_controller.rb +7 -3
  19. data/app/helpers/hancock/powered_helper.rb +3 -3
  20. data/app/models/concerns/hancock/boolean_field.rb +2 -7
  21. data/app/models/concerns/hancock/cacheable.rb +33 -0
  22. data/app/models/concerns/hancock/decorators/embedded_element.rb +9 -1
  23. data/app/models/concerns/hancock/enableable.rb +0 -1
  24. data/app/models/concerns/hancock/hash_field.rb +8 -9
  25. data/app/models/concerns/hancock/html_field.rb +3 -6
  26. data/app/models/concerns/hancock/mappable.rb +0 -1
  27. data/app/models/concerns/hancock/model_localizeable.rb +1 -4
  28. data/app/models/concerns/hancock/rails_admin_patch.rb +3 -22
  29. data/app/models/concerns/hancock/sort_field.rb +3 -26
  30. data/app/models/concerns/hancock/sortable.rb +0 -3
  31. data/app/views/blocks/_footer.html.slim +1 -1
  32. data/app/views/devise/passwords/edit.html.slim +2 -0
  33. data/app/views/devise/passwords/new.html.slim +2 -0
  34. data/app/views/devise/registrations/edit.html.slim +2 -0
  35. data/app/views/devise/registrations/new.html.slim +2 -0
  36. data/app/views/devise/sessions/new.html.slim +2 -0
  37. data/app/views/hancock/home/index.html.slim +1 -4
  38. data/app/views/layouts/application.html.slim +11 -20
  39. data/app/views/layouts/hancock/devise/confirmations.html.slim +4 -7
  40. data/app/views/layouts/hancock/devise/passwords.html.slim +4 -7
  41. data/app/views/layouts/hancock/devise/registrations.html.slim +4 -7
  42. data/app/views/layouts/hancock/devise/sessions.html.slim +4 -7
  43. data/app/views/layouts/hancock/devise/unlocks.html.slim +4 -7
  44. data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
  45. data/app/views/layouts/rails_admin/_footer_navigation.html.slim +5 -21
  46. data/app/views/layouts/rails_admin/_navigation.html.slim +47 -13
  47. data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +12 -5
  48. data/app/views/layouts/rails_admin/application.html.haml +39 -4
  49. data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
  50. data/app/views/rails_admin/main/_hancock_html_ml.html.slim +34 -31
  51. data/app/views/shared/_admin_link.html.slim +2 -4
  52. data/{app/models/concerns/hancock → config/initializers}/embedded_findable.rb +2 -2
  53. data/config/locales/en.hancock.yml +0 -1
  54. data/config/locales/ru.devise.yml +18 -22
  55. data/config/locales/ru.hancock.yml +5 -5
  56. data/config/locales/ru.rails_admin.yml +0 -3
  57. data/hancock_cms.gemspec +3 -6
  58. data/lib/filename_to_slug.rb +20 -0
  59. data/lib/generators/hancock/cms/ability_generator.rb +0 -1
  60. data/lib/generators/hancock/cms/admin_generator.rb +0 -1
  61. data/lib/generators/hancock/cms/application_generator.rb +0 -1
  62. data/lib/generators/hancock/cms/assets_generator.rb +0 -1
  63. data/lib/generators/hancock/cms/layout_generator.rb +0 -1
  64. data/lib/generators/hancock/cms/model_generator.rb +0 -1
  65. data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
  66. data/lib/generators/hancock/cms/rack_generator.rb +0 -1
  67. data/lib/generators/hancock/cms/robots_generator.rb +0 -1
  68. data/lib/generators/hancock/cms/scripts_generator.rb +0 -1
  69. data/lib/generators/hancock/cms/templates/Gemfile.erb +4 -1
  70. data/lib/generators/hancock/cms/templates/ability.erb +1 -1
  71. data/lib/generators/hancock/cms/templates/admin.erb +6 -12
  72. data/lib/generators/hancock/cms/templates/assets/javascripts/application.coffee.erb +1 -1
  73. data/lib/generators/hancock/cms/templates/hancock_cms.erb +2 -4
  74. data/lib/generators/hancock/cms/templates/model.erb +6 -5
  75. data/lib/generators/hancock/cms/templates/robots.txt.erb +1 -5
  76. data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
  77. data/lib/generators/hancock/cms/templates/scripts/server.sh +1 -1
  78. data/lib/generators/hancock/cms/templates/scripts/server_alt.sh +1 -1
  79. data/lib/generators/hancock/cms/unicorn_god_generator.rb +0 -1
  80. data/lib/generators/hancock/cms/utils.rb +0 -2
  81. data/lib/hancock/admin/embedded_element.rb +2 -10
  82. data/lib/hancock/admin.rb +21 -132
  83. data/lib/hancock/configuration.rb +2 -6
  84. data/lib/hancock/controller.rb +1 -10
  85. data/lib/hancock/engine.rb +34 -34
  86. data/lib/hancock/model.rb +5 -29
  87. data/lib/hancock/models/embedded_element.rb +0 -2
  88. data/lib/hancock/models/mongoid/embedded_element.rb +1 -20
  89. data/lib/hancock/plugin_configuration.rb +1 -1
  90. data/lib/hancock/rails_admin_ext/config.rb +14 -45
  91. data/lib/hancock/rails_admin_ext/hancock_hash.rb +1 -8
  92. data/lib/hancock/rails_admin_ext/hancock_html.rb +2 -17
  93. data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +5 -1
  94. data/lib/hancock/rails_admin_ext/hancock_slugs.rb +6 -2
  95. data/lib/hancock/rails_admin_ext/patches/field_patch.rb +1 -2
  96. data/lib/hancock/rails_admin_ext/patches/group_patch.rb +0 -9
  97. data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +0 -2
  98. data/lib/hancock/version.rb +1 -1
  99. data/lib/hancock_cms.rb +13 -21
  100. data/lib/manual_slug/active_record.rb +8 -8
  101. data/lib/rails_admin/custom_show_in_app.rb +32 -21
  102. data/release.sh +1 -1
  103. data/template.rb +386 -37
  104. metadata +15 -88
  105. data/.gitattributes +0 -4
  106. data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +0 -90
  107. data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +0 -41
  108. data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +0 -44
  109. data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +0 -106
  110. data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +0 -8
  111. data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +0 -25
  112. data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +0 -108
  113. data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +0 -12
  114. data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +0 -198
  115. data/app/helpers/hancock/settings_helper.rb +0 -44
  116. data/app/helpers/rails_admin/application/hancock_helper.rb +0 -19
  117. data/app/helpers/rails_admin/hancock/form_builder.rb +0 -44
  118. data/app/helpers/rails_admin/main/hancock_helper.rb +0 -27
  119. data/app/models/concerns/hancock/insertion_field.rb +0 -115
  120. data/app/views/blocks/_preloader.html.slim +0 -0
  121. data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +0 -2
  122. data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +0 -3
  123. data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +0 -24
  124. data/app/views/rails_admin/main/_form_hancock_enum.html.slim +0 -18
  125. data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +0 -20
  126. data/app/views/rails_admin/main/edit.html.haml +0 -18
  127. data/app/views/rails_admin/main/new.html.haml +0 -17
  128. data/config/initializers/rails_admin_mongoid_patch.rb +0 -27
  129. data/lib/generators/hancock/cms/setup_generator.rb +0 -488
  130. data/lib/generators/hancock/cms/templates/assets/stylesheets/hancock/rails_admin/custom/theming.sass.erb +0 -0
  131. data/lib/hancock/rails_admin_ext/hancock_array.rb +0 -19
  132. data/lib/hancock/rails_admin_ext/hancock_enum.rb +0 -33
  133. data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +0 -34
  134. data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +0 -14
  135. data/lib/hancock/rails_admin_ext/patches/has_fields.rb +0 -27
  136. data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +0 -25
  137. data/lib/hancock/rails_admin_settings_patch.rb +0 -216
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ea58691c78ce15f15219daa1ee7bfb93526dd00
4
- data.tar.gz: 7421500bac917f792d79d467281f66f246740de0
3
+ metadata.gz: 41324f0d660377499046bdff66270b4ab23d9ad0
4
+ data.tar.gz: e6a662cb66a178c9fc56c15477d1fb32bb51c450
5
5
  SHA512:
6
- metadata.gz: f59d7ce1673a5e2ec14522d3522989ebc521899b9ae1955bd485a5bfe7ff5bd09af76310dfcda0a15502a81d5c9d9e19dfa4d2c59b2952788989a9dfba41660b
7
- data.tar.gz: 78979eeaafc32224de1ffc883bd3fc26d1e866f5191942091fc976192489a0a5cc06f0f1e8602b62b9a8630c603174a0e62a8ff478f5f640bfefc41e0a8764a2
6
+ metadata.gz: f0658fcaca83270c9c75876b1cf18771ab513fc9b039b6b3a914624b1bd875b105cfd4bf9d65c7625269f3ffc38e036a6f6c0f2836bbc47258097fea620dc7a5
7
+ data.tar.gz: 773d915222ae733879269d77ef4b09ab1a36c06ce5cb5cd3cd3f8322a1bee0bcf899b1b7cea1325bf9b891a121fda7d708fac653c0b4fd1a64714b7e12061e91
data/.ruby-gemset CHANGED
@@ -1 +1 @@
1
- hancock_cms_rails4
1
+ hancock_cms_rails_5
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.4.0-preview1
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # HancockCMS
2
2
 
3
- #### Rails 4 support
3
+ #### Rails 5 support
4
4
 
5
5
  #### Inspired by [RocketCMS](https://github.com/rs-pro/rocket_cms)
6
6
  ### Remaded from [EnjoyCMS](https://github.com/enjoycreative/enjoy_cms)
@@ -15,11 +15,11 @@ Very opinionated and tuned for my needs.
15
15
 
16
16
  Add this line to your application's Gemfile:
17
17
 
18
- gem 'hancock_cms_mongoid', '~> 1.0'
18
+ gem 'hancock_cms_mongoid', '~> 2.0'
19
19
 
20
20
  or:
21
21
 
22
- gem 'hancock_cms_activerecord', '~> 1.0'
22
+ gem 'hancock_cms_activerecord', '~> 2.0'
23
23
 
24
24
  *Only PostgreSQL is tested or supported for AR(from root repo). Others will probably work, but untested.*
25
25
 
@@ -29,7 +29,7 @@ And then execute:
29
29
 
30
30
  Or install it yourself as:
31
31
 
32
- $ gem install hancock_cms -v 1.0
32
+ $ gem install hancock_cms -v 2.0.0
33
33
 
34
34
  For activerecord, generate migrations and run them
35
35
 
@@ -41,28 +41,24 @@ For activerecord, generate migrations and run them
41
41
 
42
42
  ### Using app generator
43
43
 
44
- Make sure you have rails 4.2 installed
44
+ Make sure you have rails 5.0 installed
45
45
 
46
46
  rails -v
47
47
 
48
48
  If not, uninstall rails and install again
49
49
 
50
50
  gem uninstall rails
51
- gem install rails -v 4.2
51
+ gem install rails -v 5.0.0
52
52
 
53
53
  Then, for mongoid:
54
54
 
55
- rails new my_app -B -T -O -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails4/template.rb
56
- cd my_app
57
- rails g hancock:cms:setup
55
+ rails new my_app -T -O -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
58
56
 
59
57
  for ActiveRecord:
60
58
 
61
- rails new my_app -B -T --database=postgresql -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails4/template.rb
62
- cd my_app
63
- rails g hancock:cms:setup
59
+ rails new my_app -T --database=postgresql -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
64
60
 
65
- generator creates a new RVM gemset, runs `bundle install` and setup some files (assets, config/initializers/*, routes, etc).
61
+ generator creates a new RVM gemset, so after cd'ing to app dir, you should run `bundle install` again if you use rvm.
66
62
 
67
63
  ### Localization
68
64
 
@@ -1,4 +1,4 @@
1
- #= require jquery2
1
+ #= require jquery
2
2
  #= require jquery_ujs
3
3
 
4
4
  # require turbolinks
@@ -1,15 +1,43 @@
1
- #= require_self
1
+ #= require jquery.mCustomScrollbar.concat.min
2
2
 
3
- #= require jquery.sticky-kit.js
3
+ window.hancock_cms ||= {}
4
+ window.hancock_cms.multiselect_dblclick = (selector)->
5
+ $(document).delegate selector + ' .ra-multiselect-left select option', 'dblclick', (e)->
6
+ $(e.currentTarget).closest('.ra-multiselect').find('.ra-multiselect-center .ra-multiselect-item-add').click()
4
7
 
5
- #= require ./form_controls_fixed
6
- #= require ./leftside_hider
8
+ $(document).delegate selector + ' .ra-multiselect-right select option', 'dblclick', (e)->
9
+ $(e.currentTarget).closest('.ra-multiselect').find('.ra-multiselect-center .ra-multiselect-item-remove').click()
7
10
 
8
- #= require ./navigation_dropdown
9
- #= require ./navigation_scroll
10
- #= require ./navigation_filter
11
+ window.hancock_cms.multiselect_dblclick("select.hancock_multiselect + .ra-multiselect")
11
12
 
12
- #= require ./multiselect
13
- #= require ./enum_with_custom
14
13
 
15
- window.hancock_cms ||= {}
14
+ $(document).delegate '.toolbar .nav .dropdown-header', 'click', (e)->
15
+ e.preventDefault()
16
+ _target = $(e.currentTarget).toggleClass('opened')
17
+ li = _target.next()
18
+ loop
19
+ li.toggleClass('visible')
20
+ li = li.next()
21
+ break if li.length == 0 or li.hasClass('dropdown-header')
22
+
23
+ $(document).on 'pjax:complete ready', ()->
24
+ active_nav_element = $(".toolbar .nav .active")
25
+ if active_nav_element.length > 0
26
+ _parent = active_nav_element.prevAll(".dropdown-header:first")
27
+ if _parent.length > 0 and !_parent.hasClass('opened')
28
+ _parent.click()
29
+
30
+ mscroll = () ->
31
+ $('.toolbar').mCustomScrollbar(
32
+ scrollInertia: 60
33
+ mouseWheelPixels: 60
34
+ theme: 'minimal'
35
+ mouseWheel:
36
+ scrollAmount: 0
37
+ )
38
+
39
+ $(window).on 'load', ->
40
+ mscroll()
41
+
42
+ $(document).bind "page:load", ->
43
+ mscroll()
@@ -67,8 +67,7 @@
67
67
 
68
68
  $(function() {
69
69
  // Look for forms
70
- // $(document).delegate('form', 'submit.placeholder', function() {
71
- $(document).on('submit.placeholder', 'form', function() {
70
+ $(document).delegate('form', 'submit.placeholder', function() {
72
71
  // Clear the placeholder values so they don't get submitted
73
72
  var $inputs = $('.placeholder', this).each(clearPlaceholder);
74
73
  setTimeout(function() {
@@ -155,4 +154,4 @@
155
154
  }
156
155
  }
157
156
 
158
- }(this, document, jQuery));
157
+ }(this, document, jQuery));
@@ -1,3 +1,2 @@
1
- #= require_self
2
1
  #= require hancock/rails_admin/cms.ui
3
2
  #= require hancock/rails_admin/custom/ui
@@ -1,5 +1,5 @@
1
1
  #content.devise
2
- background: #333C44 image-url("hancock/devise/login-bg.jpg") no-repeat center center / cover !important
2
+ background: #333C44 image-url("devices/login-bg.jpg") no-repeat center center / cover !important
3
3
  position: fixed
4
4
  top: 0
5
5
  right: 0
@@ -8,8 +8,7 @@
8
8
  overflow: auto
9
9
  white-space: nowrap
10
10
  text-align: center
11
- font-family: "Verdana", SansSerif
12
- font-weight: normal
11
+
13
12
  &:before
14
13
  height: 100%
15
14
  display: inline-block
@@ -22,7 +21,9 @@
22
21
  vertical-align: middle
23
22
  text-align: left
24
23
  background: #fff
25
- +box-shadow(0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19))
24
+ webkit-box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19)
25
+ -moz-box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19)
26
+ box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19)
26
27
  min-width: 400px
27
28
 
28
29
  .white-box
@@ -61,30 +62,36 @@
61
62
  .form-control
62
63
  background-image: linear-gradient(#9675ce, #9675ce), linear-gradient(rgba(120, 130, 140, 0.13), rgba(120, 130, 140, 0.13))
63
64
  border: 0 none
64
- +border-radius(0)
65
- +box-shadow(none)
65
+ border-radius: 0
66
+ box-shadow: none
66
67
  background-color: rgba(0, 0, 0, 0)
67
68
  background-position: center bottom, center calc(99%)
68
69
  background-repeat: no-repeat
69
70
  background-size: 0 2px, 100% 1px
70
71
  background-color: #ffffff
72
+ box-shadow: none
71
73
  color: #565656
72
74
  height: 38px
73
75
  width: 100%
74
76
  padding: 7px 12px
75
- +transition(all 300ms linear 0s)
77
+ transition: all 300ms linear 0s
76
78
  display: block
77
79
  font-size: 14px
78
80
  line-height: 1.42857143
79
- +transition(border-color ease-in-out .15s,box-shadow ease-in-out .15s)
81
+ -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s
82
+ -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
83
+ transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
80
84
  input
81
85
  width: 100%
86
+ height: 100%
82
87
 
83
88
  .link-to-recover
84
89
  float: right
85
90
  padding-right: 10px
86
91
  a
87
- +transition(color ease-in-out .15s)
92
+ -webkit-transition: color ease-in-out .15s
93
+ -o-transition: color ease-in-out .15s
94
+ transition: color ease-in-out .15s
88
95
  color: #333C44
89
96
  &:hover
90
97
  color: #EF5350
@@ -116,7 +123,9 @@
116
123
  cursor: pointer
117
124
  max-width: 100%
118
125
  color: #333C44
119
- +transition(color ease-in-out .15s)
126
+ -webkit-transition: color ease-in-out .15s
127
+ -o-transition: color ease-in-out .15s
128
+ transition: color ease-in-out .15s
120
129
  &:hover
121
130
  label
122
131
  color: #EF5350
@@ -136,7 +145,9 @@
136
145
  padding: 10px 16px
137
146
  font-size: 18px
138
147
  line-height: 1.3333333
139
- +transition(all ease-in-out .15s)
148
+ -webkit-transition: all ease-in-out .15s
149
+ -o-transition: all ease-in-out .15s
150
+ transition: all ease-in-out .15s
140
151
  &:hover
141
152
  background: rgba(#ee5350, 0.8)
142
153
  border: 1px solid rgba(#ee5350, 0.8)
@@ -144,28 +155,3 @@
144
155
 
145
156
  .form-group.links
146
157
  margin-top: 25px
147
-
148
- .devise-box .white-box form .form-group .form-control
149
- padding: 0
150
- input
151
- position: relative
152
- margin: 0
153
- border: 0px
154
- border-bottom: 1px solid #ccc
155
- +transition(all 0.3s)
156
- &:focus
157
- border-bottom: 1px solid #3c6085
158
-
159
- .devise-box .white-box form .form-group .checkbox-primary
160
- min-height: auto
161
-
162
- .devise-box .white-box form .form-group .checkbox-primary label
163
- padding-left: 0px
164
- input
165
- margin: 0px
166
- margin-right: 5px
167
- display: inline-block
168
- vertical-align: middle
169
-
170
- .devise-box .white-box form .form-group .form-control input
171
- height: 100% !important