hancock_cms 1.0.1 → 1.0.2.2

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