sunrise-cms 1.1.0 → 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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +49 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +3 -1
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.rdoc +13 -3
  7. data/Gemfile +11 -22
  8. data/Gemfile.lock +344 -214
  9. data/README.md +47 -33
  10. data/Rakefile +1 -0
  11. data/app/assets/config/manifest.js +1 -0
  12. data/app/assets/images/sunrise/icons/export.svg +4 -0
  13. data/app/assets/images/sunrise/icons/import.svg +5 -0
  14. data/app/assets/javascripts/sunrise/application.js +2 -5
  15. data/app/assets/javascripts/sunrise/jquery.dialog.js.coffee +113 -40
  16. data/app/assets/javascripts/sunrise/jquery.editable.js.coffee +21 -21
  17. data/app/assets/javascripts/sunrise/manage.js.coffee +29 -28
  18. data/app/assets/stylesheets/sunrise/application.css +0 -1
  19. data/app/assets/stylesheets/sunrise/customize.css +7 -4
  20. data/app/assets/stylesheets/sunrise/main.css +883 -606
  21. data/app/controllers/sunrise/manager_controller.rb +44 -7
  22. data/app/controllers/sunrise/settings_controller.rb +2 -3
  23. data/app/helpers/sunrise/structure_helper.rb +2 -2
  24. data/app/views/layouts/sunrise/application.html.erb +9 -6
  25. data/app/views/sunrise/manager/_field.html.erb +5 -5
  26. data/app/views/sunrise/manager/_form.html.erb +15 -15
  27. data/app/views/sunrise/manager/_header_edit.html.erb +3 -4
  28. data/app/views/sunrise/manager/_header_new.html.erb +3 -3
  29. data/app/views/sunrise/manager/_header_show.html.erb +9 -13
  30. data/app/views/sunrise/manager/_nested_field.html.erb +6 -6
  31. data/app/views/sunrise/manager/buttons/_export.html.erb +9 -2
  32. data/app/views/sunrise/manager/buttons/_import.html.erb +25 -0
  33. data/app/views/sunrise/manager/buttons/_sort.html.erb +3 -3
  34. data/app/views/sunrise/manager/edit.html.erb +1 -1
  35. data/app/views/sunrise/manager/new.html.erb +1 -1
  36. data/app/views/sunrise/manager/structures/thumbs/_record.html.erb +19 -16
  37. data/app/views/sunrise/manager/thumbs/_record.html.erb +26 -22
  38. data/app/views/sunrise/manager/tree/index.html.erb +1 -1
  39. data/app/views/sunrise/settings/_form.html.erb +5 -5
  40. data/app/views/sunrise/settings/_header_edit.html.erb +3 -4
  41. data/config/locales/sunrise/en.yml +35 -35
  42. data/config/locales/sunrise/ru.yml +35 -35
  43. data/config/locales/sunrise/uk.yml +35 -35
  44. data/config/routes.rb +1 -0
  45. data/db/migrate/20111216144515_create_assets.rb +1 -1
  46. data/db/migrate/20111216144915_create_structures.rb +1 -1
  47. data/db/migrate/20111216145015_create_users.rb +1 -1
  48. data/db/migrate/20120611095315_create_settings.rb +1 -1
  49. data/lib/generators/sunrise/templates/config/active_record/sunrise.rb +0 -4
  50. data/lib/generators/sunrise/templates/config/mongoid/sunrise.rb +0 -4
  51. data/lib/generators/sunrise/templates/models/active_record/attachment_file.rb +0 -2
  52. data/lib/generators/sunrise/templates/models/active_record/avatar.rb +0 -2
  53. data/lib/generators/sunrise/templates/models/active_record/picture.rb +0 -2
  54. data/lib/generators/sunrise/templates/models/active_record/position_type.rb +4 -4
  55. data/lib/generators/sunrise/templates/models/active_record/role_type.rb +5 -5
  56. data/lib/generators/sunrise/templates/models/active_record/settings.rb +14 -2
  57. data/lib/generators/sunrise/templates/models/active_record/structure_type.rb +6 -6
  58. data/lib/generators/sunrise/templates/models/mongoid/attachment_file.rb +0 -2
  59. data/lib/generators/sunrise/templates/models/mongoid/avatar.rb +0 -2
  60. data/lib/generators/sunrise/templates/models/mongoid/picture.rb +0 -2
  61. data/lib/generators/sunrise/templates/models/mongoid/position_type.rb +4 -4
  62. data/lib/generators/sunrise/templates/models/mongoid/role_type.rb +5 -5
  63. data/lib/generators/sunrise/templates/models/mongoid/structure_type.rb +6 -6
  64. data/lib/generators/sunrise/templates/models/sunrise/sunrise_structure.rb +2 -2
  65. data/lib/generators/sunrise/templates/spec/controllers/pages_controller_spec.rb +2 -2
  66. data/lib/generators/sunrise/templates/spec/controllers/welcome_controller_spec.rb +1 -1
  67. data/lib/generators/sunrise/templates/spec/factories/structure_factory.rb +2 -2
  68. data/lib/generators/sunrise/templates/spec/factories/user_factory.rb +6 -6
  69. data/lib/generators/sunrise/templates/spec/spec_helper.rb +1 -1
  70. data/lib/generators/sunrise/templates/spec/support/helpers/controller_macros.rb +4 -4
  71. data/lib/generators/sunrise/templates/uploaders/attachment_file_uploader.rb +4 -0
  72. data/lib/generators/sunrise/templates/uploaders/avatar_uploader.rb +4 -0
  73. data/lib/generators/sunrise/templates/uploaders/picture_uploader.rb +4 -0
  74. data/lib/sunrise/abstract_model.rb +13 -3
  75. data/lib/sunrise/carrierwave/glue.rb +1 -7
  76. data/lib/sunrise/config/model.rb +4 -0
  77. data/lib/sunrise/config.rb +0 -5
  78. data/lib/sunrise/core_ext/string.rb +0 -5
  79. data/lib/sunrise/engine.rb +7 -1
  80. data/lib/sunrise/models/ability.rb +8 -8
  81. data/lib/sunrise/models/position_type.rb +1 -7
  82. data/lib/sunrise/models/role_type.rb +4 -6
  83. data/lib/sunrise/models/structure.rb +3 -3
  84. data/lib/sunrise/models/structure_type.rb +1 -7
  85. data/lib/sunrise/models/user.rb +4 -4
  86. data/lib/sunrise/utils.rb +1 -2
  87. data/lib/sunrise/version.rb +1 -1
  88. data/lib/sunrise/views/search_wrapper.rb +1 -1
  89. data/sunrise-cms.gemspec +8 -13
  90. metadata +24 -65
  91. data/.rspec +0 -2
  92. data/lib/sunrise/carrierwave/file_size_validator.rb +0 -75
  93. data/lib/sunrise/utils/transliteration.rb +0 -73
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sunrise
4
- module Utils
5
- # Russian transliteration
6
- #
7
- module Transliteration
8
- extend self
9
-
10
- # Transliteration heavily based on rutils gem by Julian "julik" Tarkhanov and Co.
11
- # <http://rutils.rubyforge.org/>
12
- # Cleaned up and optimized.
13
-
14
- LOWER_SINGLE = {
15
- 'і' => 'i', 'ґ' => 'g', 'ё' => 'yo', '№' => '#', 'є' => 'e',
16
- 'ї' => 'yi', 'а' => 'a', 'б' => 'b',
17
- 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ж' => 'zh',
18
- 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k', 'л' => 'l',
19
- 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
20
- 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h',
21
- 'ц' => 'ts', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ъ' => "'",
22
- 'ы' => 'y', 'ь' => '', 'э' => 'e', 'ю' => 'yu', 'я' => 'ya'
23
- }.freeze
24
- LOWER_MULTI = {
25
- 'ье' => 'ie',
26
- 'ьё' => 'ie'
27
- }.freeze
28
-
29
- UPPER_SINGLE = {
30
- 'Ґ' => 'G', 'Ё' => 'YO', 'Є' => 'E', 'Ї' => 'YI', 'І' => 'I',
31
- 'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G',
32
- 'Д' => 'D', 'Е' => 'E', 'Ж' => 'ZH', 'З' => 'Z', 'И' => 'I',
33
- 'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N',
34
- 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T',
35
- 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'TS', 'Ч' => 'CH',
36
- 'Ш' => 'SH', 'Щ' => 'SCH', 'Ъ' => "'", 'Ы' => 'Y', 'Ь' => '',
37
- 'Э' => 'E', 'Ю' => 'YU', 'Я' => 'YA'
38
- }.freeze
39
- UPPER_MULTI = {
40
- 'ЬЕ' => 'IE',
41
- 'ЬЁ' => 'IE'
42
- }.freeze
43
-
44
- LOWER = LOWER_SINGLE.merge(LOWER_MULTI).freeze
45
- UPPER = UPPER_SINGLE.merge(UPPER_MULTI).freeze
46
- MULTI_KEYS = LOWER_MULTI.merge(UPPER_MULTI).keys.sort_by { |s| s.length }.reverse.freeze
47
-
48
- # Transliterate a string with russian characters
49
- #
50
- # Возвращает строку, в которой все буквы русского алфавита заменены на похожую по звучанию латиницу
51
- def transliterate(str)
52
- chars = str.scan(/#{MULTI_KEYS.join '|'}|\w|./)
53
-
54
- result = ''
55
-
56
- chars.each_with_index do |char, index|
57
- result << if UPPER.key?(char) && LOWER.key?(chars[index + 1])
58
- # combined case
59
- UPPER[char].downcase.capitalize
60
- elsif UPPER.key?(char)
61
- UPPER[char]
62
- elsif LOWER.key?(char)
63
- LOWER[char]
64
- else
65
- char
66
- end
67
- end
68
-
69
- result
70
- end
71
- end
72
- end
73
- end