hancock_cms 1.0.2.3 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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