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
@@ -1,216 +0,0 @@
1
- module Hancock
2
- module RailsAdminSettingsPatch
3
- extend ActiveSupport::Concern
4
-
5
- included do
6
- ::Hancock.register_model(self)
7
-
8
- include ::Hancock::RailsAdminPatch
9
-
10
- # t = {_all: 'Все'}
11
- ::RailsAdminSettings::Setting.distinct(:ns).each do |c|
12
- s = "ns_#{c.gsub('-', '_')}".to_sym
13
- scope s, -> { where(ns: c) }
14
- # t[s] = c
15
- end
16
- # I18n.backend.store_translations(:ru, {admin: {scopes: {'rails_admin_settings/setting': t}}})
17
-
18
- field :for_admin, type: Boolean, default: -> {
19
- !!(self.ns == "admin" or self.ns =~ /\Aadmin(\.\w+)*\z/)
20
- }
21
- def for_admin?
22
- self.for_admin
23
- end
24
-
25
- # def self.manager_can_default_actions
26
- # # [:index, :show, :read, :edit, :update]
27
- # super - [:new, :create]
28
- # end
29
- # def self.manager_can_default_actions
30
- # ret = []
31
- # # ret << :model_accesses if ::Hancock::Goto.config.user_abilities_support
32
- # ret
33
- # end
34
- def self.manager_can_add_actions
35
- ret = []
36
- # ret << :model_accesses if defined?(::RailsAdminUserAbilities)
37
- ret += [:comments, :model_comments] if defined?(::RailsAdminComments)
38
- ret << :hancock_touch if defined?(::Hancock::Cache::Cacheable)
39
- ret.freeze
40
- end
41
- def self.manager_cannot_add_actions
42
- [:new, :create, :delete, :destroy]
43
- end
44
-
45
- def self.rails_admin_add_visible_actions
46
- ret = manager_can_actions.dup
47
- ret << :model_accesses if defined?(::RailsAdminUserAbilities)
48
- ret += [:comments, :model_comments] if defined?(::RailsAdminComments)
49
- ret << :hancock_touch if defined?(::Hancock::Cache::Cacheable)
50
- ret.freeze
51
- end
52
-
53
- rails_admin do
54
- navigation_label I18n.t('admin.settings.label')
55
-
56
- list do
57
- field :label do
58
- visible false
59
- searchable true
60
- weight 1
61
- end
62
- field :enabled, :toggle do
63
- weight 2
64
- end
65
- field :loadable, :toggle do
66
- weight 3
67
- end
68
- field :ns do
69
- searchable true
70
- weight 4
71
- end
72
- field :key do
73
- searchable true
74
- weight 5
75
- end
76
- field :name do
77
- weight 6
78
- end
79
- field :kind do
80
- searchable true
81
- weight 7
82
- end
83
- field :raw do
84
- weight 8
85
- searchable true
86
- pretty_value do
87
- if bindings[:object].file_kind?
88
- "<a href='#{CGI::escapeHTML(bindings[:object].file.url)}'>#{CGI::escapeHTML(bindings[:object].to_path)}</a>".html_safe.freeze
89
- elsif bindings[:object].image_kind?
90
- "<a href='#{CGI::escapeHTML(bindings[:object].file.url)}'><img src='#{CGI::escapeHTML(bindings[:object].file.url)}' /></a>".html_safe.freeze
91
- else
92
- value
93
- end
94
- end
95
- end
96
- field :cache_keys_str, :text do
97
- weight 10
98
- searchable true
99
- end
100
- if ::Settings.table_exists?
101
- nss = ::RailsAdminSettings::Setting.distinct(:ns).map { |c| "ns_#{c.gsub('-', '_')}".to_sym }
102
- scopes([nil] + nss)
103
- end
104
- end
105
-
106
- edit do
107
- field :enabled, :toggle do
108
- weight 1
109
- visible do
110
- if bindings[:object].for_admin?
111
- render_object = (bindings[:controller] || bindings[:view])
112
- render_object and (render_object.current_user.admin?)
113
- else
114
- true
115
- end
116
- end
117
- end
118
- field :loadable, :toggle do
119
- weight 2
120
- visible do
121
- render_object = (bindings[:controller] || bindings[:view])
122
- render_object and (render_object.current_user.admin?)
123
- end
124
- end
125
- field :for_admin, :toggle do
126
- weight 3
127
- visible do
128
- render_object = (bindings[:controller] || bindings[:view])
129
- render_object and (render_object.current_user.admin?)
130
- end
131
- end
132
- field :ns do
133
- weight 4
134
- read_only true
135
- help false
136
- visible do
137
- render_object = (bindings[:controller] || bindings[:view])
138
- render_object and (render_object.current_user.admin?)
139
- end
140
- end
141
- field :key do
142
- weight 5
143
- read_only true
144
- help false
145
- visible do
146
- render_object = (bindings[:controller] || bindings[:view])
147
- render_object and (render_object.current_user.admin?)
148
- end
149
- end
150
- field :label, :string do
151
- weight 6
152
- read_only do
153
- render_object = (bindings[:controller] || bindings[:view])
154
- !render_object or !(render_object.current_user.admin?)
155
- end
156
- help false
157
- end
158
- field :kind, :enum do
159
- weight 7
160
- read_only do
161
- render_object = (bindings[:controller] || bindings[:view])
162
- !render_object or !(render_object.current_user.admin?)
163
- end
164
- enum do
165
- RailsAdminSettings.kinds
166
- end
167
- partial "enum_for_settings_kinds".freeze
168
- help false
169
- end
170
- field :raw do
171
- weight 8
172
- partial "setting_value".freeze
173
- visible do
174
- !bindings[:object].upload_kind?
175
- end
176
- read_only do
177
- if bindings[:object].for_admin?
178
- render_object = (bindings[:controller] || bindings[:view])
179
- !(render_object and (render_object.current_user.admin?))
180
- else
181
- false
182
- end
183
- end
184
- end
185
- if Settings.file_uploads_supported
186
- field :file, Settings.file_uploads_engine do
187
- weight 9
188
- visible do
189
- bindings[:object].upload_kind?
190
- end
191
- read_only do
192
- if bindings[:object].for_admin?
193
- render_object = (bindings[:controller] || bindings[:view])
194
- !(render_object and (render_object.current_user.admin?))
195
- else
196
- false
197
- end
198
- end
199
- end
200
- end
201
-
202
- field :cache_keys_str, :text do
203
- weight 10
204
- visible do
205
- render_object = (bindings[:controller] || bindings[:view])
206
- render_object and render_object.current_user.admin?
207
- end
208
- end
209
-
210
- end
211
- end
212
-
213
- end
214
-
215
- end
216
- end