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
@@ -6,16 +6,13 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
-
10
- / - cache 'favicons', skip_digest: true do
11
- / = render partial: 'blocks/favicon'
9
+ = render partial: 'blocks/favicon'
12
10
 
13
11
  - async = false #Rails.env.production?
14
- - defer = false #Rails.env.production?
15
- = stylesheet_link_tag "application", media: "all", defer: defer
16
- = javascript_include_tag "application", defer: defer
12
+ = stylesheet_link_tag "application", media: "all", async: async
13
+ = javascript_include_tag "application", async: async
17
14
  /[if lt IE 9]
18
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
15
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
19
16
 
20
17
  body
21
18
  #preloader
@@ -1,2 +1,2 @@
1
- = "2016-#{Time.new.year} © Hancock By "
2
- = link_to "Redrocks", "https://redrocks.pro", title: "Redrocks", target: "_blank"
1
+ = "2016 © Hancock By "
2
+ = link_to "Redrocks", "http://redrocks.pro", title: "Redrocks", target: "_blank"
@@ -1,36 +1,20 @@
1
1
  ul
2
2
  - actions(:root).each do |action|
3
3
  - next if action.action_name.to_s == "dashboard"
4
+ - data_method = nil if action.http_methods.include?(:get)
4
5
  - data_method = "post" if action.http_methods.include?(:post)
5
6
  - data_method = "put" if action.http_methods.include?(:put)
6
7
  - data_method = "delete" if action.http_methods.include?(:delete)
7
- - data_method = nil if action.http_methods.include?(:get)
8
8
 
9
9
  li{class="#{action.action_name} footer-nav-link"}
10
- / = link_to wording_for(:menu, action), {action: action.action_name, controller: 'rails_admin/main'}, class: (action.pjax? ? "pjax" : ""), title: wording_for(:menu, action), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
11
- ruby:
12
- opts = {}
13
- opts[:action] = action.action_name
14
- opts[:controller] = 'rails_admin/main'
15
- html_opts = {}
16
- html_opts[:class] = (action.pjax? ? "pjax" : "")
17
- html_opts[:title] = wording_for(:menu, action)
18
- html_opts[:data] = {
19
- method: data_method,
20
- confirm: (data_method ? t("admin.actions.#{action.action_name}.confirm") : nil)
21
- }.compact
22
-
23
- = link_to opts, html_opts
24
- span
25
- = content_tag :i, '', class: action.link_icon
26
- / = link_to wording_for(:menu, action), opts, html_opts
10
+ = link_to wording_for(:menu, action), {action: action.action_name, controller: 'rails_admin/main'}, class: (action.pjax? ? "pjax" : ""), title: wording_for(:menu, action), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
27
11
 
28
12
  - if main_app_root_path = (main_app.root_path rescue false)
29
13
  li.footer-nav-link = link_to main_app_root_path, title: "На сайт".freeze
30
14
  span
31
15
  i.fa.fa-home
32
16
 
33
- - if signed_in? and logout_path.present?
34
- li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method, confirm: t("admin.logout.confirm")
17
+ - if logout_path.present?
18
+ li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method
35
19
  span
36
- i.fa.fa-power-off
20
+ i.fa.fa-power-off
@@ -1,6 +1,19 @@
1
+ /.logo-block
2
+ / = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
3
+ / = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
4
+ /
5
+ /.top-nav
6
+ / .left-nav
7
+ / .top-nav-project = link_to dashboard_path, title: "Административная панель".freeze
8
+ / - plugin_name = _get_plugin_name[0] || 'Rails'
9
+ / span = "Административная панель: #{plugin_name}".freeze
10
+ / .right-nav
11
+ / = render partial: "layouts/rails_admin/secondary_navigation"
12
+
13
+
1
14
  .navbar-header-brand
2
15
  = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
3
- = image_tag "hancock/rails_admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
16
+ = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
4
17
 
5
18
  .navbar-container.container-fluid
6
19
  .plugin-name-panel
@@ -24,16 +37,37 @@
24
37
  li.user-logout-action
25
38
  = link_to logout_path, title: "Выйти".freeze, method: logout_method
26
39
  span Выйти
27
-
28
- / - if main_app_root_path = (main_app.root_path rescue false)
29
- / li.top-nav-goto-home = link_to main_app_root_path, title: "На главную".freeze
40
+
41
+ /.user_root_link = edit_user_link
42
+
43
+
44
+ /.app-header.fixed
45
+ / .app-header-inner
46
+ / .brand-title
47
+ / h2 = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
48
+ / span = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze
49
+ /
50
+ / .top-nav-left
51
+ / .top-nav-project = link_to dashboard_path, title: "Административная панель".freeze
52
+ / - plugin_name = _get_plugin_name[0] || 'Rails'
53
+ / span = "Административная панель: #{plugin_name}".freeze
54
+ / /
55
+ / .top-nav-right
56
+ / = render partial: "layouts/rails_admin/secondary_navigation"
57
+ / ul.nav.navbar-nav.root_links
58
+ / - actions(:root).each do |action|
59
+ / / li.top-nav-control-panel = link_to "", { action: action.action_name, controller: 'rails_admin/main' }, class: action.pjax? ? "pjax" : ""
60
+ / li.top-nav-control-panel = link_to "/admin", title: "Контрольная панель"
30
61
  / span
31
- / i.fa.fa-home
32
- /
33
- / - if _current_user
34
- / - if user_link = edit_user_link
35
- / li.top-nav-user_root_link = edit_user_link
36
- / - if logout_path.present?
37
- / li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
38
- / span
39
- / i.fa.fa-sign-out
62
+ / i.fa.fa-server
63
+ - if main_app_root_path = (main_app.root_path rescue false)
64
+ li.top-nav-goto-home = link_to main_app_root_path, title: "На главную".freeze
65
+ span
66
+ i.fa.fa-home
67
+ - if _current_user
68
+ - if user_link = edit_user_link
69
+ li.top-nav-user_root_link = edit_user_link
70
+ - if logout_path.present?
71
+ li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
72
+ span
73
+ i.fa.fa-sign-out
@@ -1,16 +1,13 @@
1
1
  ul.nav.navbar-nav.root_links
2
2
  - actions(:root).each do |action|
3
3
  - next if action.action_name.to_s == "dashboard"
4
+ - data_method = nil if action.http_methods.include?(:get)
4
5
  - data_method = "post" if action.http_methods.include?(:post)
5
6
  - data_method = "put" if action.http_methods.include?(:put)
6
7
  - data_method = "delete" if action.http_methods.include?(:delete)
7
- - data_method = nil if action.http_methods.include?(:get)
8
8
 
9
9
  li{class="#{action.action_name}_root_link top-nav-control-panel"}
10
- / = link_to wording_for(:menu, action), { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
11
- = link_to { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
12
- span
13
- = content_tag :i, '', class: action.link_icon
10
+ = link_to wording_for(:menu, action), { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
14
11
 
15
12
 
16
13
  - if main_app_root_path = (main_app.root_path rescue false)
@@ -23,3 +20,13 @@ ul.nav.navbar-nav.root_links
23
20
  li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
24
21
  span
25
22
  i.fa.fa-sign-out
23
+
24
+ / - if main_app_root_path = (main_app.root_path rescue false)
25
+ / li= link_to t('admin.home.name').capitalize, main_app_root_path
26
+ / - if _current_user
27
+ / - if user_link = edit_user_link
28
+ / li= user_link
29
+ / - if logout_path.present?
30
+ / li= link_to content_tag('span', t('admin.misc.log_out'), class: 'label label-important'), logout_path, method: logout_method
31
+ / - if _current_user.respond_to?(:email) && _current_user.email.present?
32
+ / li= image_tag "#{(request.ssl? ? 'https://secure' : 'http://www')}.gravatar.com/avatar/#{Digest::MD5.hexdigest _current_user.email}?s=30", style: 'padding-top:5px'
@@ -13,14 +13,12 @@
13
13
  RailsAdmin.I18n.init('#{I18n.locale}', JSON.parse("#{j I18n.t("admin.js").to_json}"))
14
14
 
15
15
  %body.rails_admin
16
- #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
16
+
17
17
  %nav.admin-navbar.admin-navbar-fixed.bg-red{:role => "navigation"}
18
18
  = render "layouts/rails_admin/navigation"
19
19
 
20
20
  .admin-menubar.admin-menubar-fixed.admin-menubar-dark
21
- .navigation-filter
22
- = render "layouts/rails_admin/sidebar_navigation_filter"
23
- .toolbar.custom_scroll
21
+ .toolbar
24
22
  = render "layouts/rails_admin/sidebar_navigation"
25
23
  .admin-menubar-footer
26
24
  = render "layouts/rails_admin/footer_navigation"
@@ -31,3 +29,40 @@
31
29
 
32
30
  %footer.admin-footer
33
31
  = render "layouts/rails_admin/footer"
32
+
33
+ -#%nav.navbar-hancock.navbar-fixed
34
+ -# = render "layouts/rails_admin/navigation"
35
+ -#
36
+ -#%main.root
37
+ -# .sidebar.fixed-sidebar
38
+ -# .sidebar-backdrop
39
+ -# .toolbar
40
+ -# = render "layouts/rails_admin/sidebar_navigation"
41
+ -#
42
+ -# .content-wrapper
43
+ -# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
44
+ -#
45
+ -#%footer.footer
46
+ -# = render "layouts/rails_admin/footer"
47
+
48
+ -#%body.rails_admin
49
+ -# #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
50
+ -# %nav.navbar.navbar-default.navbar-fixed-top
51
+ -# = render "layouts/rails_admin/navigation"
52
+ -#
53
+ -# .menu-bar
54
+ -# = render "layouts/rails_admin/sidebar_navigation"
55
+ -#
56
+ -# .page-content
57
+ -# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
58
+ -#
59
+ -#
60
+ -#
61
+ -# #status-bar
62
+
63
+ -#.container-fluid
64
+ -# .row
65
+ -# .col-sm-3.col-md-2.sidebar-nav.hancock-nav
66
+ -# = render "layouts/rails_admin/sidebar_navigation"
67
+ -# .col-sm-9.col-sm-offset-3.col-md-10.col-md-offset-2.sidebar-content
68
+ -# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
@@ -1,9 +1,9 @@
1
1
  ruby:
2
2
  js_data = {
3
- jspath: asset_path(field.location ? field.location : field.base_location + "ckeditor.js"),
3
+ jspath: field.location ? field.location : field.base_location + "ckeditor.js",
4
4
  base_location: field.base_location,
5
5
  options: {
6
- customConfig: asset_path(field.config_js ? field.config_js : field.base_location + "config.js")
6
+ customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
7
7
  }
8
8
  }
9
9
  _html_attributes = field.html_attributes.reverse_merge(data: { richtext: 'ckeditor', options: js_data.to_json, value: field.form_value[:html] })
@@ -6,37 +6,40 @@ ul.nav.nav-tabs
6
6
  .tab-content
7
7
  / = form.fields_for field.translations_field do |localized_field|
8
8
  - I18n.available_locales.each do |locale|
9
- - _class = "#{[( 'active' if locale == I18n.locale ), uuid].join(" ")}"
10
- .fields.tab-pane(style='padding:5px; margin: 0;' id="#{locale}_#{uuid}" class="#{_class}")
11
- = form.fields_for field.html_translations_field do |html_localized_field|
12
- ruby:
13
- js_data = {
14
- jspath: asset_path(field.location ? field.location : field.base_location + "ckeditor.js"),
15
- base_location: field.base_location,
16
- options: {
17
- customConfig: asset_path(field.config_js ? field.config_js : field.base_location + "config.js")
18
- }
19
- }
20
- _html_attributes = field.html_attributes.reverse_merge(data: {
21
- richtext: 'ckeditor',
22
- options: js_data.to_json
23
- })
24
- _html_attributes[:value] = field.form_value[:html] ? field.form_value[:html][locale] : ""
25
- = html_localized_field.send :text_area, locale , _html_attributes
26
-
27
- = form.fields_for field.clear_translations_field do |clear_localized_field|
28
- label{style='display: block;'}
29
- ruby:
30
- _value = field.form_value[:clear] ? field.form_value[:clear][locale] : true
31
- _hash = {
32
- value: _value,
33
- checked: _value.in?([true, '1']),
34
- required: false,
35
- class: "form-control"
36
- }
37
- _html_attributes = field.html_attributes.reverse_merge(_hash)
38
- span{style='float: left'}= clear_localized_field.send field.boolean_view_helper, locale , _html_attributes
39
- div{style='margin-left: 35px; line-height: 40px;'} Убирать теги
9
+ - _class = "#{[( 'active' if locale == I18n.locale ), uuid].join(" ")}"
10
+ .fields.tab-pane(style='padding:5px; margin: 0;' id="#{locale}_#{uuid}" class="#{_class}")
11
+ = form.fields_for field.html_translations_field do |html_localized_field|
12
+ ruby:
13
+ js_data = {
14
+ jspath: field.location ? field.location : field.base_location + "ckeditor.js",
15
+ base_location: field.base_location,
16
+ options: {
17
+ customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
18
+ }
19
+ }
20
+ _html_attributes = field.html_attributes.reverse_merge(data: {
21
+ richtext: 'ckeditor',
22
+ options: js_data.to_json
23
+ })
24
+ _html_attributes[:value] = field.form_value[:html] ? field.form_value[:html][locale] : ""
25
+ = html_localized_field.send :text_area, locale , _html_attributes
26
+
27
+ = form.fields_for field.clear_translations_field do |clear_localized_field|
28
+ label{style='display: block;'}
29
+ ruby:
30
+ _value = field.form_value[:clear] ? field.form_value[:clear][locale] : true
31
+ _hash = {
32
+ value: _value,
33
+ checked: _value.in?([true, '1']),
34
+ required: false,
35
+ class: "form-control"
36
+ }
37
+ _html_attributes = field.html_attributes.reverse_merge(_hash)
38
+ span{style='float: left'}= clear_localized_field.send field.boolean_view_helper, locale , _html_attributes
39
+ div{style='margin-left: 35px; line-height: 40px;'} Убирать теги
40
+
41
+
42
+
40
43
 
41
44
  javascript:
42
45
  var #{field.name}#{field.object_id} = (new Date().getTime()) + Math.floor(Math.random()*100000);
@@ -1,5 +1,3 @@
1
1
  - if user_signed_in? && respond_to?(:can?) && can?(:access, :rails_admin) && can?(:edit, obj)
2
- - cache obj do
3
- .admin_button
4
- .admin_link
5
- = link_to t('hancock.edit'), rails_admin.edit_path(obj.class.model_name.i18n_key.to_s.gsub('/', '~'), obj.id), 'data-no-turbolink' => true
2
+ .admin_link
3
+ = link_to t('hancock.edit'), rails_admin.edit_path(obj.class.model_name.i18n_key.to_s.gsub('/', '~'), obj.id), 'data-no-turbolink' => true
@@ -1,10 +1,10 @@
1
1
  if defined?(Mongoid)
2
2
 
3
- module Hancock
3
+ module Mongoid
4
4
 
5
5
  # Helps to override find method in an embedded document.
6
6
  # Usage :
7
- # - add to your model "include Hancock::EmbeddedFindable"
7
+ # - add to your model "include Mongoid::EmbeddedFindable"
8
8
  # - override find method with:
9
9
  # def self.find(id)
10
10
  # find_through(Book, 'chapter', id)
@@ -4,7 +4,6 @@ en:
4
4
  cms: "CMS"
5
5
  menu: "Menu"
6
6
  settings: 'Settings'
7
- insertions: "Insertions"
8
7
  news: 'News'
9
8
  with_final_slash: "should begin with a slash"
10
9
  page_url_regex: "Regular expression to check if page is current"
@@ -1,9 +1,9 @@
1
1
  ru:
2
2
  devise:
3
3
  confirmations:
4
- confirmed: Ваша учётная запись подтверждена. Теперь Вы вошли в систему.
5
- send_instructions: В течение нескольких минут Вы получите письмо с инструкциями по подтверждению Вашей учётной записи.
6
- send_paranoid_instructions: Если Ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут Вы получите письмо с инструкциями по подтверждению Вашей учётной записи.
4
+ confirmed: Ваша учётная запись подтверждена. Теперь вы вошли в систему.
5
+ send_instructions: В течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи.
6
+ send_paranoid_instructions: Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи.
7
7
  failure:
8
8
  already_authenticated: Вы уже вошли в систему.
9
9
  inactive: Ваша учётная запись ещё не активирована.
@@ -13,7 +13,7 @@ ru:
13
13
  not_found_in_database: Неверный адрес e-mail или пароль.
14
14
  timeout: Ваш сеанс закончился. Пожалуйста, войдите в систему снова.
15
15
  unauthenticated: Вам необходимо войти в систему или зарегистрироваться.
16
- unconfirmed: Вы должны подтвердить Вашу учётную запись.
16
+ unconfirmed: Вы должны подтвердить вашу учётную запись.
17
17
  mailer:
18
18
  confirmation_instructions:
19
19
  subject: Инструкции по подтверждению учётной записи
@@ -25,34 +25,30 @@ ru:
25
25
  failure: Вы не можете войти в систему с учётной записью из %{kind}, т.к. "%{reason}".
26
26
  success: Вход в систему выполнен с учётной записью из %{kind}.
27
27
  passwords:
28
- no_token: Доступ к этой странице возможен только по ссылке из письма о восстановлении пароля. Если Выпришли по такой ссылке, пожалуйста убедитесь что Вы скопировали всю ссылку целиком.
29
- send_instructions: В течение нескольких минут Вы получите письмо с инструкциями по восстановлению Вашего пароля.
30
- send_paranoid_instructions: Если Ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут Вы получите письмо с инструкциями по восстановлению Вашего пароля.
31
- updated: Ваш пароль изменён. Теперь Вы вошли в систему.
28
+ no_token: Доступ к этой странице возможен только по ссылке из письма о восстановлении пароля. Если Вы пришли по такой ссылке, пожалуйста убедитесь что Вы скопировали всю ссылку целиком.
29
+ send_instructions: В течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля.
30
+ send_paranoid_instructions: Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля.
31
+ updated: Ваш пароль изменён. Теперь вы вошли в систему.
32
32
  updated_not_active: Ваш пароль изменен.
33
33
  registrations:
34
- destroyed: До свидания! Ваша учётная запись удалена. Надеемся снова увидеть Вас.
34
+ destroyed: До свидания! Ваша учётная запись удалена. Надеемся снова увидеть вас.
35
35
  signed_up: Добро пожаловать! Вы успешно зарегистрировались.
36
- signed_up_but_inactive: Вы успешно зарегистрированы. Однако, Вы не можете войти в систему, потому что Ваша учетная запись не активирована.
37
- signed_up_but_locked: Вы успешно зарегистрированы. Однако, Вы не можете войти в систему, потому что Ваша учетная запись заблокирована.
38
- signed_up_but_unconfirmed: Письмо со ссылкой для подтверждения было отправлено на Ваш e-mail. Пожалуйста, перейдите по ссылке, чтобы подтвердить Вашу учетную запись.
39
- update_needs_confirmation: Вы успешно обновили данные Вашей учетной записи, но нам нужно проверить Ваш новый адрес e-mail. Пожалуйста, проверьте Ваш почтовый ящик и перейдите по ссылке, чтобы закончить процедуру проверки Вашего нового адреса e-mail.
36
+ signed_up_but_inactive: Вы успешно зарегистрированы. Однако, вы не можете войти в систему, потому что ваша учетная запись не активирована.
37
+ signed_up_but_locked: Вы успешно зарегистрированы. Однако, вы не можете войти в систему, потому что ваша учетная запись заблокирована.
38
+ signed_up_but_unconfirmed: Письмо со ссылкой для подтверждения было отправлено на ваш e-mail. Пожалуйста, перейдите по ссылке, чтобы подтвердить вашу учетную запись.
39
+ update_needs_confirmation: Вы успешно обновили данные вашей учетной записи, но нам нужно проверить ваш новый адрес e-mail. Пожалуйста, проверьте ваш почтовый ящик и перейдите по ссылке, чтобы закончить процедуру проверки вашего нового адреса e-mail.
40
40
  updated: Ваша учётная запись изменена.
41
41
  sessions:
42
42
  signed_in: Вход в систему выполнен.
43
43
  signed_out: Выход из системы выполнен.
44
44
  unlocks:
45
- send_instructions: В течение нескольких минут Вы получите письмо с инструкциями по разблокировке Вашей учётной записи.
46
- send_paranoid_instructions: Если Ваша учётная запись существует, то в течение нескольких минут Вы получите письмо с инструкциями по её разблокировке.
47
- unlocked: Ваша учётная запись разблокирована. Теперь Вы можете войти в систему.
45
+ send_instructions: В течение нескольких минут вы получите письмо с инструкциями по разблокировке вашей учётной записи.
46
+ send_paranoid_instructions: Если ваша учётная запись существует, то в течение нескольких минут вы получите письмо с инструкциями по её разблокировке.
47
+ unlocked: Ваша учётная запись разблокирована. Теперь вы можете войти в систему.
48
48
  failure:
49
49
  user:
50
- # not secure
51
- # not_found_in_database: Пользователь не найден в базе
52
- # invalid: Неверный пароль.
53
- # more secure
54
- not_found_in_database: Неверный адрес e-mail или пароль.
55
- invalid: Неверный адрес e-mail или пароль.
50
+ not_found_in_database: Пользователь не найден в базе
51
+ invalid: Неверный пароль
56
52
  unauthenticated: Необходимо авторизоваться
57
53
  unconfirmed: 'Необходимо подтвердить адрес электронной почты'
58
54
  errors:
@@ -2,17 +2,17 @@ ru:
2
2
  hancock:
3
3
  url: URL
4
4
  content: "Контент"
5
- categories: "Разделы"
5
+ cache: Кеширование
6
+ gallery: "Галерея"
6
7
  cms: "CMS"
7
- # menu: "Меню"
8
+ menu: "Меню"
8
9
  settings: 'Настройки'
9
- insertions: "Возможные вставки"
10
10
  with_final_slash: "c начальным слешем"
11
11
  page_url_regex: "Регулярное выражение, по которому определяется является ли этот пункт активным"
12
12
  final_in_menu: "В меню сразу отдается конечная ссылка"
13
13
  map: 'Карта'
14
- # sitemap: 'Карта сайта'
15
- # sitemap_data: 'Данные для карты сайта'
14
+ sitemap: 'Карта сайта'
15
+ sitemap_data: 'Данные для карты сайта'
16
16
  edit: Редактировать
17
17
  send: Отправить
18
18
  format_time: "%d.%m.%Y"
@@ -31,7 +31,6 @@ ru:
31
31
  misc:
32
32
  filter_date_format: "dd.mm.yyyy"
33
33
  search: "Поиск"
34
- search_or_add_yours: "Поиск/новый элемент"
35
34
  filter: "Фильтрация"
36
35
  refresh: "Обновить"
37
36
  show_all: "Показать все"
@@ -131,8 +130,6 @@ ru:
131
130
  show_in_app:
132
131
  title: 'В приложении'
133
132
  menu: "Показать на сайте"
134
- logout:
135
- confirm: "Вы точно хотите выйти?"
136
133
  form:
137
134
  cancel: "Отмена"
138
135
  basic_info: "Основное"
data/hancock_cms.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency 'bundler'
21
21
  spec.add_development_dependency 'rake'
22
22
 
23
- spec.add_dependency 'rails', ['>= 4.2', "< 5.0"]
23
+ spec.add_dependency 'rails', ['>= 5.0.0', '< 6.0']
24
24
 
25
25
  spec.add_dependency 'jquery-rails'
26
26
  spec.add_dependency 'simple_form'
@@ -32,18 +32,15 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency 'ckeditor'
33
33
  spec.add_dependency 'geocoder'
34
34
 
35
- spec.add_dependency 'rails_admin', '~> 0.8.1'
35
+ spec.add_dependency 'rails_admin', '>= 1.0.0'
36
36
  spec.add_dependency 'rails_admin_nested_set'
37
37
  spec.add_dependency 'rails_admin_toggleable'
38
38
 
39
- spec.add_dependency 'ack_rails_admin_settings', '~> 1.2.2'
40
- spec.add_dependency 'safe_yaml'
39
+ spec.add_dependency 'ack_rails_admin_settings'
41
40
 
42
41
  spec.add_dependency 'kaminari'
43
- spec.add_dependency 'kaminari-actionview'
44
42
 
45
43
  spec.add_dependency 'codemirror-rails'
46
44
 
47
45
  spec.add_dependency 'scrollbar-rails'
48
- spec.add_dependency 'stickykit-rails'
49
46
  end
@@ -10,3 +10,23 @@ class String
10
10
  s
11
11
  end
12
12
  end
13
+ #
14
+ # module FilenameToSlug
15
+ # extend ActiveSupport::Concern
16
+ # included do
17
+ # before_post_process :filename_to_slug
18
+ # end
19
+ #
20
+ # def filename_to_slug
21
+ # if self.class.attachment_definitions
22
+ # self.class.attachment_definitions.each do |k,v|
23
+ # if self.send(k).file?
24
+ # full_file_name = self.send("#{k}_file_name")
25
+ # extension = File.extname(full_file_name)[1..-1]
26
+ # file_name = full_file_name[0..full_file_name.size-extension.size-1]
27
+ # self.send("#{k}").instance_write(:file_name, "#{file_name.filename_to_slug}.#{extension.filename_to_slug}")
28
+ # end
29
+ # end
30
+ # end
31
+ # end
32
+ # end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def install
11
11
  template 'ability.erb', 'app/models/ability.rb'
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -17,6 +17,5 @@ module Hancock::Cms
17
17
  # route("mount RailsAdmin::Engine => '/#{namespace}', as: 'rails_admin'")
18
18
  template 'admin.erb', 'config/initializers/rails_admin.rb'
19
19
  end
20
-
21
20
  end
22
21
  end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def install
11
11
  template "application.erb", "config/application.rb"
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -31,6 +31,5 @@ module Hancock::Cms
31
31
  application_coffee_path
32
32
  ]
33
33
  end
34
-
35
34
  end
36
35
  end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def layout
11
11
  template('../app/views/layouts/application.html.slim', 'app/views/layouts/application.html.slim')
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -35,6 +35,5 @@ module Hancock::Cms
35
35
  def underscored_pluralized_class_name
36
36
  underscored_class_name.pluralize
37
37
  end
38
-
39
38
  end
40
39
  end
@@ -1,6 +1,6 @@
1
1
  class <%= camelcased_class_name %> < Hancock::EmbeddedElement
2
-
3
2
  embedded_in :<%= underscored_parent_class_name %>, class_name: "<%= camelcased_parent_class_name %>"
3
+
4
4
  def self.find(id)
5
5
  find_through(<%= camelcased_parent_class_name %>, '<%= underscored_pluralized_class_name %>', id)
6
6
  end
@@ -30,7 +30,7 @@ class <%= camelcased_class_name %> < Hancock::EmbeddedElement
30
30
  # def self.rails_admin_user_defined_visible_actions
31
31
  # [].freeze
32
32
  # end
33
-
33
+
34
34
  def self.rails_admin_add_fields
35
35
  super
36
36
  end
@@ -8,6 +8,5 @@ module Hancock::Cms
8
8
  def install
9
9
  template('rack.erb', 'config/initializers/rack.rb')
10
10
  end
11
-
12
11
  end
13
12
  end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def install
11
11
  template('robots.txt.erb', 'public/robots.txt')
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -27,6 +27,5 @@ module Hancock::Cms
27
27
  FileUtils.chmod(0755, "#{destination_root}/scripts/#{script_name}") # chmod: 0755 in prev line doesnt work
28
28
  end
29
29
  end
30
-
31
30
  end
32
31
  end