hancock_cms 1.0.1 → 1.0.2.2

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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +4 -0
  3. data/app/assets/images/{rails-admin → hancock/rails_admin}/hancock_logo.svg +0 -0
  4. data/app/assets/javascripts/hancock/cms.coffee +1 -1
  5. data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +10 -38
  6. data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +90 -0
  7. data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +41 -0
  8. data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +44 -0
  9. data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +106 -0
  10. data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +8 -0
  11. data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +25 -0
  12. data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +108 -0
  13. data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +12 -0
  14. data/app/assets/javascripts/jquery.placeholder.js +3 -2
  15. data/app/assets/javascripts/rails_admin/custom/ui.coffee +1 -0
  16. data/app/assets/stylesheets/hancock/cms/devise.sass +4 -1
  17. data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +364 -147
  18. data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +198 -0
  19. data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
  20. data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
  21. data/app/controllers/concerns/hancock/errors.rb +4 -6
  22. data/app/controllers/hancock/registrations_controller.rb +2 -7
  23. data/app/controllers/hancock/sessions_controller.rb +3 -7
  24. data/app/helpers/hancock/powered_helper.rb +3 -3
  25. data/app/helpers/hancock/settings_helper.rb +44 -0
  26. data/app/helpers/rails_admin/application/hancock_helper.rb +19 -0
  27. data/app/helpers/rails_admin/hancock/form_builder.rb +44 -0
  28. data/app/helpers/rails_admin/main/hancock_helper.rb +27 -0
  29. data/app/models/concerns/hancock/boolean_field.rb +7 -2
  30. data/app/models/concerns/hancock/decorators/embedded_element.rb +1 -9
  31. data/app/models/concerns/hancock/enableable.rb +1 -0
  32. data/app/models/concerns/hancock/hash_field.rb +9 -8
  33. data/app/models/concerns/hancock/html_field.rb +6 -3
  34. data/app/models/concerns/hancock/insertion_field.rb +115 -0
  35. data/app/models/concerns/hancock/mappable.rb +1 -0
  36. data/app/models/concerns/hancock/model_localizeable.rb +4 -1
  37. data/app/models/concerns/hancock/rails_admin_patch.rb +22 -3
  38. data/app/models/concerns/hancock/sort_field.rb +26 -3
  39. data/app/models/concerns/hancock/sortable.rb +3 -0
  40. data/app/views/blocks/_footer.html.slim +1 -1
  41. data/app/views/devise/passwords/edit.html.slim +0 -2
  42. data/app/views/devise/passwords/new.html.slim +0 -2
  43. data/app/views/devise/registrations/edit.html.slim +0 -2
  44. data/app/views/devise/registrations/new.html.slim +0 -2
  45. data/app/views/devise/sessions/new.html.slim +0 -2
  46. data/app/views/hancock/home/index.html.slim +4 -1
  47. data/app/views/layouts/application.html.slim +7 -6
  48. data/app/views/layouts/hancock/devise/confirmations.html.slim +7 -4
  49. data/app/views/layouts/hancock/devise/passwords.html.slim +7 -4
  50. data/app/views/layouts/hancock/devise/registrations.html.slim +7 -4
  51. data/app/views/layouts/hancock/devise/sessions.html.slim +7 -4
  52. data/app/views/layouts/hancock/devise/unlocks.html.slim +7 -4
  53. data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
  54. data/app/views/layouts/rails_admin/_footer_navigation.html.slim +20 -4
  55. data/app/views/layouts/rails_admin/_navigation.html.slim +13 -47
  56. data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +5 -12
  57. data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +2 -0
  58. data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +3 -0
  59. data/app/views/layouts/rails_admin/application.html.haml +3 -1
  60. data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +24 -0
  61. data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +20 -0
  62. data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
  63. data/app/views/rails_admin/main/_hancock_html_ml.html.slim +31 -34
  64. data/app/views/rails_admin/main/edit.html.haml +18 -0
  65. data/app/views/rails_admin/main/new.html.haml +17 -0
  66. data/app/views/shared/_admin_link.html.slim +4 -3
  67. data/config/initializers/rails_admin_mongoid_patch.rb +27 -0
  68. data/config/locales/en.hancock.yml +1 -0
  69. data/config/locales/ru.devise.yml +22 -18
  70. data/config/locales/ru.hancock.yml +2 -0
  71. data/config/locales/ru.rails_admin.yml +3 -0
  72. data/hancock_cms.gemspec +4 -1
  73. data/lib/filename_to_slug.rb +0 -20
  74. data/lib/generators/hancock/cms/ability_generator.rb +1 -0
  75. data/lib/generators/hancock/cms/admin_generator.rb +1 -0
  76. data/lib/generators/hancock/cms/application_generator.rb +1 -0
  77. data/lib/generators/hancock/cms/assets_generator.rb +1 -0
  78. data/lib/generators/hancock/cms/layout_generator.rb +1 -0
  79. data/lib/generators/hancock/cms/model_generator.rb +1 -0
  80. data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
  81. data/lib/generators/hancock/cms/rack_generator.rb +1 -0
  82. data/lib/generators/hancock/cms/robots_generator.rb +1 -0
  83. data/lib/generators/hancock/cms/scripts_generator.rb +1 -0
  84. data/lib/generators/hancock/cms/setup_generator.rb +149 -32
  85. data/lib/generators/hancock/cms/templates/Gemfile.erb +1 -4
  86. data/lib/generators/hancock/cms/templates/ability.erb +1 -1
  87. data/lib/generators/hancock/cms/templates/admin.erb +12 -4
  88. data/lib/generators/hancock/cms/templates/robots.txt.erb +5 -1
  89. data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
  90. data/lib/generators/hancock/cms/unicorn_god_generator.rb +1 -0
  91. data/lib/generators/hancock/cms/utils.rb +2 -0
  92. data/lib/hancock/admin/embedded_element.rb +7 -2
  93. data/lib/hancock/admin.rb +141 -17
  94. data/lib/hancock/controller.rb +9 -0
  95. data/lib/hancock/engine.rb +28 -36
  96. data/lib/hancock/model.rb +6 -0
  97. data/lib/hancock/models/embedded_element.rb +2 -0
  98. data/lib/hancock/models/mongoid/embedded_element.rb +17 -0
  99. data/lib/hancock/plugin_configuration.rb +1 -1
  100. data/lib/hancock/rails_admin_ext/config.rb +21 -4
  101. data/lib/hancock/rails_admin_ext/hancock_array.rb +19 -0
  102. data/lib/hancock/rails_admin_ext/hancock_enum.rb +10 -0
  103. data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +34 -0
  104. data/lib/hancock/rails_admin_ext/hancock_hash.rb +8 -1
  105. data/lib/hancock/rails_admin_ext/hancock_html.rb +17 -2
  106. data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +1 -5
  107. data/lib/hancock/rails_admin_ext/hancock_slugs.rb +0 -4
  108. data/lib/hancock/rails_admin_ext/patches/field_patch.rb +2 -1
  109. data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +14 -0
  110. data/lib/hancock/rails_admin_ext/patches/group_patch.rb +9 -0
  111. data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +2 -0
  112. data/lib/hancock/rails_admin_ext/patches/has_fields.rb +27 -0
  113. data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +25 -0
  114. data/lib/hancock/rails_admin_settings_patch.rb +195 -11
  115. data/lib/hancock/version.rb +1 -1
  116. data/lib/hancock_cms.rb +10 -9
  117. data/lib/manual_slug/active_record.rb +8 -8
  118. data/lib/rails_admin/custom_show_in_app.rb +21 -32
  119. data/template.rb +11 -10
  120. metadata +74 -5
@@ -0,0 +1,24 @@
1
+ .form-control-static
2
+ span= field.form_value
3
+ span= " "
4
+ span= " "
5
+ span= " "
6
+ span= link_to '(изменить)', "#", onclick: "var _p = $(this).closest('.form-control-static'); _p.siblings('.hancock_enum').removeClass('hidden'); _p.remove(); return false;", style: 'color: grey;', onmouseover: 'this.style.color = "darkgrey";', onmouseout: 'this.style.color = "grey";'
7
+ - unless field.multiple?
8
+ = form.select field.method_name, field.enum, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search'), class: 'hancock_enum hidden'})
9
+ - else
10
+ ruby:
11
+ js_data = {
12
+ xhr: false,
13
+ sortable: false,
14
+ cacheAll: true,
15
+ regional: {
16
+ chooseAll: t("admin.misc.chose_all"),
17
+ chosen: t("admin.misc.chosen", name: config.label_plural),
18
+ clearAll: t("admin.misc.clear_all"),
19
+ search: t("admin.misc.search"),
20
+ up: t("admin.misc.up"),
21
+ down: t("admin.misc.down")
22
+ }
23
+ }
24
+ = form.select field.method_name, field.enum, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json }, multiple: true, class: 'hancock_enum hidden'})
@@ -0,0 +1,20 @@
1
+ - unless field.multiple?
2
+ / = form.select field.method_name, field.enum, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search'), class: 'hancock_enum'})
3
+ = form.select field.method_name, field.selection, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search_or_add_yours'), class: 'hancock_enum'})
4
+ - else
5
+ ruby:
6
+ js_data = {
7
+ xhr: false,
8
+ sortable: false,
9
+ cacheAll: true,
10
+ regional: {
11
+ chooseAll: t("admin.misc.chose_all"),
12
+ chosen: t("admin.misc.chosen", name: config.label_plural),
13
+ clearAll: t("admin.misc.clear_all"),
14
+ search: t("admin.misc.search_or_add_yours"),
15
+ up: t("admin.misc.up"),
16
+ down: t("admin.misc.down")
17
+ }
18
+ }
19
+ / = form.select field.method_name, field.enum, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json }, multiple: true, class: 'hancock_enum'})
20
+ = form.select field.method_name, field.selection, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json, unique: field.unique }, multiple: true, class: 'hancock_enum'})
@@ -1,9 +1,9 @@
1
1
  ruby:
2
2
  js_data = {
3
- jspath: field.location ? field.location : field.base_location + "ckeditor.js",
3
+ jspath: asset_path(field.location ? field.location : field.base_location + "ckeditor.js"),
4
4
  base_location: field.base_location,
5
5
  options: {
6
- customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
6
+ customConfig: asset_path(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,40 +6,37 @@ 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: 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
-
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;'} Убирать теги
43
40
 
44
41
  javascript:
45
42
  var #{field.name}#{field.object_id} = (new Date().getTime()) + Math.floor(Math.random()*100000);
@@ -0,0 +1,18 @@
1
+ :ruby
2
+ opts = {
3
+ builder: (defined?(RailsAdmin::Hancock::FormBuilder) ? RailsAdmin::Hancock::FormBuilder : RailsAdmin::FormBuilder),
4
+ url: edit_path(@abstract_model, @object.id),
5
+ as: @abstract_model.param_key,
6
+ html: {
7
+ method: "put",
8
+ multipart: true,
9
+ class: "form-horizontal denser",
10
+ data: {
11
+ title: @page_name
12
+ }
13
+ }
14
+ }
15
+ = rails_admin_form_for @object, opts do |form|
16
+ = form.generate action: :update
17
+ / = hancock_rails_admin_form_for @object, opts do |form|
18
+ / = form.generate action: :update
@@ -0,0 +1,17 @@
1
+ :ruby
2
+ opts = {
3
+ builder: (defined?(RailsAdmin::Hancock::FormBuilder) ? RailsAdmin::Hancock::FormBuilder : RailsAdmin::FormBuilder),
4
+ url: new_path(model_name: @abstract_model.to_param),
5
+ as: @abstract_model.param_key,
6
+ html: {
7
+ multipart: true,
8
+ class: "form-horizontal denser",
9
+ data: {
10
+ title: @page_name
11
+ }
12
+ }
13
+ }
14
+ = rails_admin_form_for @object, opts do |form|
15
+ = form.generate action: :create
16
+ / = hancock_rails_admin_form_for @object, opts do |form|
17
+ / = form.generate action: :create
@@ -1,4 +1,5 @@
1
1
  - if user_signed_in? && respond_to?(:can?) && can?(:access, :rails_admin) && can?(:edit, obj)
2
- - cache [current_user, obj] do
3
- .admin_link
4
- = 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
+ - 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
@@ -0,0 +1,27 @@
1
+ require 'rails_admin/adapters/mongoid'
2
+ module RailsAdmin
3
+ module Adapters
4
+ module Mongoid
5
+
6
+ def sort_by(options, scope)
7
+ return scope unless options[:sort]
8
+
9
+ case options[:sort]
10
+ when String
11
+ field_name, collection_name = options[:sort].split('.').reverse
12
+ # if collection_name && collection_name != table_name
13
+ # raise('sorting by associated model column is not supported in Non-Relational databases')
14
+ # end
15
+ when Symbol
16
+ field_name = options[:sort].to_s
17
+ end
18
+ if options[:sort_reverse]
19
+ scope.asc field_name
20
+ else
21
+ scope.desc field_name
22
+ end
23
+ end
24
+
25
+ end
26
+ end
27
+ end
@@ -4,6 +4,7 @@ en:
4
4
  cms: "CMS"
5
5
  menu: "Menu"
6
6
  settings: 'Settings'
7
+ insertions: "Insertions"
7
8
  news: 'News'
8
9
  with_final_slash: "should begin with a slash"
9
10
  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,30 +25,34 @@ 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_found_in_database: Пользователь не найден в базе
51
- invalid: Неверный пароль
50
+ # not secure
51
+ # not_found_in_database: Пользователь не найден в базе
52
+ # invalid: Неверный пароль.
53
+ # more secure
54
+ not_found_in_database: Неверный адрес e-mail или пароль.
55
+ invalid: Неверный адрес e-mail или пароль.
52
56
  unauthenticated: Необходимо авторизоваться
53
57
  unconfirmed: 'Необходимо подтвердить адрес электронной почты'
54
58
  errors:
@@ -2,9 +2,11 @@ ru:
2
2
  hancock:
3
3
  url: URL
4
4
  content: "Контент"
5
+ categories: "Разделы"
5
6
  cms: "CMS"
6
7
  # menu: "Меню"
7
8
  settings: 'Настройки'
9
+ insertions: "Возможные вставки"
8
10
  with_final_slash: "c начальным слешем"
9
11
  page_url_regex: "Регулярное выражение, по которому определяется является ли этот пункт активным"
10
12
  final_in_menu: "В меню сразу отдается конечная ссылка"
@@ -31,6 +31,7 @@ ru:
31
31
  misc:
32
32
  filter_date_format: "dd.mm.yyyy"
33
33
  search: "Поиск"
34
+ search_or_add_yours: "Поиск/новый элемент"
34
35
  filter: "Фильтрация"
35
36
  refresh: "Обновить"
36
37
  show_all: "Показать все"
@@ -130,6 +131,8 @@ ru:
130
131
  show_in_app:
131
132
  title: 'В приложении'
132
133
  menu: "Показать на сайте"
134
+ logout:
135
+ confirm: "Вы точно хотите выйти?"
133
136
  form:
134
137
  cancel: "Отмена"
135
138
  basic_info: "Основное"
data/hancock_cms.gemspec CHANGED
@@ -36,11 +36,14 @@ Gem::Specification.new do |spec|
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.1'
39
+ spec.add_dependency 'ack_rails_admin_settings', '~> 1.2.2'
40
+ spec.add_dependency 'safe_yaml'
40
41
 
41
42
  spec.add_dependency 'kaminari'
43
+ spec.add_dependency 'kaminari-actionview'
42
44
 
43
45
  spec.add_dependency 'codemirror-rails'
44
46
 
45
47
  spec.add_dependency 'scrollbar-rails'
48
+ spec.add_dependency 'stickykit-rails'
46
49
  end
@@ -10,23 +10,3 @@ 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,5 +10,6 @@ module Hancock::Cms
10
10
  def install
11
11
  template 'ability.erb', 'app/models/ability.rb'
12
12
  end
13
+
13
14
  end
14
15
  end
@@ -17,5 +17,6 @@ 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
+
20
21
  end
21
22
  end
@@ -10,5 +10,6 @@ module Hancock::Cms
10
10
  def install
11
11
  template "application.erb", "config/application.rb"
12
12
  end
13
+
13
14
  end
14
15
  end
@@ -31,5 +31,6 @@ module Hancock::Cms
31
31
  application_coffee_path
32
32
  ]
33
33
  end
34
+
34
35
  end
35
36
  end
@@ -10,5 +10,6 @@ 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
+
13
14
  end
14
15
  end
@@ -35,5 +35,6 @@ module Hancock::Cms
35
35
  def underscored_pluralized_class_name
36
36
  underscored_class_name.pluralize
37
37
  end
38
+
38
39
  end
39
40
  end
@@ -1,6 +1,6 @@
1
1
  class <%= camelcased_class_name %> < Hancock::EmbeddedElement
2
- embedded_in :<%= underscored_parent_class_name %>, class_name: "<%= camelcased_parent_class_name %>"
3
2
 
3
+ embedded_in :<%= underscored_parent_class_name %>, class_name: "<%= camelcased_parent_class_name %>"
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,5 +8,6 @@ module Hancock::Cms
8
8
  def install
9
9
  template('rack.erb', 'config/initializers/rack.rb')
10
10
  end
11
+
11
12
  end
12
13
  end
@@ -10,5 +10,6 @@ module Hancock::Cms
10
10
  def install
11
11
  template('robots.txt.erb', 'public/robots.txt')
12
12
  end
13
+
13
14
  end
14
15
  end
@@ -27,5 +27,6 @@ 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
+
30
31
  end
31
32
  end