digital_heroes_startkit 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +37 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/digital_heroes_startkit_manifest.js +0 -0
  6. data/app/assets/javascripts/authorization.coffee +79 -0
  7. data/app/assets/javascripts/avatar.coffee +16 -0
  8. data/app/assets/javascripts/datepicker.js +2 -0
  9. data/app/assets/javascripts/digital_heroes_startkit/cable.js +13 -0
  10. data/app/assets/javascripts/digital_heroes_startkit/channels/pills.coffee +23 -0
  11. data/app/assets/javascripts/digital_heroes_startkit/input.coffee +5 -0
  12. data/app/assets/javascripts/digital_heroes_startkit/pills.coffee +2 -0
  13. data/app/assets/javascripts/digital_heroes_startkit/snap.svg-min.js +21 -0
  14. data/app/assets/javascripts/digital_heroes_startkit.js +26 -0
  15. data/app/assets/javascripts/profile.coffee +53 -0
  16. data/app/assets/javascripts/profile_geodata.coffee +68 -0
  17. data/app/assets/javascripts/reg_fields_checkup.coffee +96 -0
  18. data/app/assets/javascripts/registration.coffee +35 -0
  19. data/app/assets/javascripts/resurrection.coffee +20 -0
  20. data/app/channels/application_cable/channel.rb +4 -0
  21. data/app/channels/application_cable/connection.rb +4 -0
  22. data/app/channels/pills_channel.rb +10 -0
  23. data/app/controllers/avatars_controller.rb +11 -0
  24. data/app/controllers/clients_controller.rb +62 -0
  25. data/app/controllers/email_access_cards_controller.rb +28 -0
  26. data/app/controllers/geodata_controller.rb +84 -0
  27. data/app/controllers/nickname_access_cards_controller.rb +30 -0
  28. data/app/controllers/oauth_controller.rb +178 -0
  29. data/app/controllers/openid_controller.rb +124 -0
  30. data/app/controllers/phone_access_cards_controller.rb +28 -0
  31. data/app/controllers/profile_controller.rb +114 -0
  32. data/app/controllers/response_controller.rb +17 -0
  33. data/app/controllers/start_kit_controller.rb +86 -0
  34. data/app/controllers/user_cards_controller.rb +305 -0
  35. data/app/jobs/log_analyzer_job.rb +50 -0
  36. data/app/jobs/password_resurrection_kill_job.rb +9 -0
  37. data/app/mailers/admin_mailer.rb +9 -0
  38. data/app/mailers/client_mailer.rb +3 -0
  39. data/app/mailers/kreator_mailer.rb +9 -0
  40. data/app/mailers/manager_mailer.rb +9 -0
  41. data/app/mailers/prometeus_mailer.rb +16 -0
  42. data/app/mailers/user_cards_mailer.rb +9 -0
  43. data/app/models/admin.rb +3 -0
  44. data/app/models/avatar.rb +23 -0
  45. data/app/models/city.rb +7 -0
  46. data/app/models/client.rb +31 -0
  47. data/app/models/country.rb +7 -0
  48. data/app/models/delayed_job.rb +20 -0
  49. data/app/models/email_access_card.rb +30 -0
  50. data/app/models/kreator.rb +3 -0
  51. data/app/models/log_error.rb +56 -0
  52. data/app/models/log_error_type.rb +3 -0
  53. data/app/models/manager.rb +3 -0
  54. data/app/models/nickname_access_card.rb +18 -0
  55. data/app/models/oauth_access_card.rb +38 -0
  56. data/app/models/phone_access_card.rb +19 -0
  57. data/app/models/prometeus.rb +50 -0
  58. data/app/models/user_card.rb +158 -0
  59. data/app/views/admin_mailer/greetings_email.html.erb +191 -0
  60. data/app/views/client_mailer/greetings_email.html.erb +191 -0
  61. data/app/views/kreator_mailer/greetings_email.html.erb +191 -0
  62. data/app/views/manager_mailer/greetings_email.html.erb +191 -0
  63. data/app/views/oauth/verify.slim +1 -0
  64. data/app/views/profile/_add_avatar.slim +12 -0
  65. data/app/views/profile/_user_profile.slim +95 -0
  66. data/app/views/profile/index.slim +12 -0
  67. data/app/views/user_cards/authorization.slim +72 -0
  68. data/app/views/user_cards/confirmation_but_access_code.slim +7 -0
  69. data/app/views/user_cards/confirmation_complete.slim +7 -0
  70. data/app/views/user_cards/registration.slim +86 -0
  71. data/app/views/user_cards/resurrection.slim +19 -0
  72. data/app/views/user_cards/resurrection_but_access_code.slim +7 -0
  73. data/app/views/user_cards/resurrection_no_access_code.slim +7 -0
  74. data/app/views/user_cards_mailer/email.html.erb +191 -0
  75. data/app/views/user_cards_mailer/resurrection.html.erb +191 -0
  76. data/config/initializers/session_manager.rb +2 -0
  77. data/config/routes.rb +53 -0
  78. data/lib/access_control.rb +3 -0
  79. data/lib/digital_heroes_startkit/engine.rb +25 -0
  80. data/lib/digital_heroes_startkit/version.rb +3 -0
  81. data/lib/digital_heroes_startkit.rb +5 -0
  82. data/lib/generators/digital_heroes_startkit/install_generator.rb +61 -0
  83. data/lib/generators/project/Capfile +36 -0
  84. data/lib/generators/project/Procfile +3 -0
  85. data/lib/generators/project/app/assets/stylesheets/application.scss +16 -0
  86. data/lib/generators/project/app/assets/stylesheets/base/_auth.scss +37 -0
  87. data/lib/generators/project/app/assets/stylesheets/base/_buttons.scss +62 -0
  88. data/lib/generators/project/app/assets/stylesheets/base/_checkbox.scss +71 -0
  89. data/lib/generators/project/app/assets/stylesheets/base/_datepicker.scss +620 -0
  90. data/lib/generators/project/app/assets/stylesheets/base/_form.scss +81 -0
  91. data/lib/generators/project/app/assets/stylesheets/base/_notice.scss +14 -0
  92. data/lib/generators/project/app/assets/stylesheets/base/_pills.scss +39 -0
  93. data/lib/generators/project/app/assets/stylesheets/base/_profile.scss +67 -0
  94. data/lib/generators/project/app/assets/stylesheets/base/_reset.scss +49 -0
  95. data/lib/generators/project/app/assets/stylesheets/base/_social.scss +52 -0
  96. data/lib/generators/project/app/assets/stylesheets/base/_user.scss +0 -0
  97. data/lib/generators/project/app/assets/stylesheets/base/_user_avatar.scss +18 -0
  98. data/lib/generators/project/app/assets/stylesheets/base/styles.scss.txt +35 -0
  99. data/lib/generators/project/app/assets/stylesheets/plugins/sumoselect.scss +296 -0
  100. data/lib/generators/project/app/controllers/application_controller.rb +3 -0
  101. data/lib/generators/project/app/views/layouts/_counts.html.erb +29 -0
  102. data/lib/generators/project/app/views/layouts/_footer.slim +6 -0
  103. data/lib/generators/project/app/views/layouts/_head.slim +7 -0
  104. data/lib/generators/project/app/views/layouts/_header.slim +47 -0
  105. data/lib/generators/project/app/views/layouts/_mobile_menu.slim +11 -0
  106. data/lib/generators/project/app/views/layouts/application.slim +26 -0
  107. data/lib/generators/project/app/views/layouts/mailer.html.erb +13 -0
  108. data/lib/generators/project/app/views/layouts/mailer.text.erb +1 -0
  109. data/lib/generators/project/config/application.access.yml +66 -0
  110. data/lib/generators/project/config/application.db.yml +5 -0
  111. data/lib/generators/project/config/application.google.yml +3 -0
  112. data/lib/generators/project/config/application.oauth.yml +135 -0
  113. data/lib/generators/project/config/application.robokassa.yml +10 -0
  114. data/lib/generators/project/config/application.sendgrid.yml +3 -0
  115. data/lib/generators/project/config/application.telegram.yml +22 -0
  116. data/lib/generators/project/config/application.yml +28 -0
  117. data/lib/generators/project/config/cable.yml +6 -0
  118. data/lib/generators/project/config/capistrano.yml +78 -0
  119. data/lib/generators/project/config/database.yml +52 -0
  120. data/lib/generators/project/config/deploy/application.secrets.yml +4 -0
  121. data/lib/generators/project/config/deploy/domain.crt +92 -0
  122. data/lib/generators/project/config/deploy/domain.key +51 -0
  123. data/lib/generators/project/config/deploy/nginx.conf +50 -0
  124. data/lib/generators/project/config/deploy/production.rb +67 -0
  125. data/lib/generators/project/config/deploy/secrets.yml +32 -0
  126. data/lib/generators/project/config/deploy/secrets.yml.enc +1 -0
  127. data/lib/generators/project/config/deploy/secrets.yml.key +1 -0
  128. data/lib/generators/project/config/deploy/staging.rb +61 -0
  129. data/lib/generators/project/config/deploy/virgin_conf/database.yml +42 -0
  130. data/lib/generators/project/config/deploy/virgin_conf/nginx_site.conf +47 -0
  131. data/lib/generators/project/config/deploy/virgin_conf/nginx_site_ssl.conf +57 -0
  132. data/lib/generators/project/config/deploy/virgin_conf/postfix.cf +685 -0
  133. data/lib/generators/project/config/deploy/virgin_conf/production.rb +67 -0
  134. data/lib/generators/project/config/deploy/virgin_conf/puma.rb +66 -0
  135. data/lib/generators/project/config/deploy/virgin_sh/capistrano.sh +18 -0
  136. data/lib/generators/project/config/deploy/virgin_sh/foreman.sh +19 -0
  137. data/lib/generators/project/config/deploy/virgin_sh/rvm_install.sh +10 -0
  138. data/lib/generators/project/config/deploy.rb +377 -0
  139. data/lib/generators/project/config/environments/development.rb +91 -0
  140. data/lib/generators/project/config/environments/production.rb +142 -0
  141. data/lib/generators/project/config/initializers/session_store.rb +3 -0
  142. data/lib/generators/project/config/locales/ru.yml +444 -0
  143. data/lib/generators/project/db/migrate/10_create_user_cards.rb +19 -0
  144. data/lib/generators/project/db/migrate/12_create_email_access_cards.rb +15 -0
  145. data/lib/generators/project/db/migrate/13_create_nickname_access_cards.rb +15 -0
  146. data/lib/generators/project/db/migrate/14_create_phone_access_cards.rb +16 -0
  147. data/lib/generators/project/db/migrate/15_create_oauth_access_cards.rb +19 -0
  148. data/lib/generators/project/db/migrate/1_create_kreators.rb +9 -0
  149. data/lib/generators/project/db/migrate/21_create_avatars.rb +12 -0
  150. data/lib/generators/project/db/migrate/30_create_countries.rb +12 -0
  151. data/lib/generators/project/db/migrate/32_create_cities.rb +12 -0
  152. data/lib/generators/project/db/migrate/3_create_admins.rb +9 -0
  153. data/lib/generators/project/db/migrate/44_add_sessions_table.rb +12 -0
  154. data/lib/generators/project/db/migrate/4_create_managers.rb +10 -0
  155. data/lib/generators/project/db/migrate/5_create_clients.rb +17 -0
  156. data/lib/generators/project/db/migrate/60_create_log_error_types.rb +9 -0
  157. data/lib/generators/project/db/migrate/61_create_log_errors.rb +12 -0
  158. data/lib/generators/project/db/migrate/78_create_delayed_jobs.rb +22 -0
  159. data/lib/generators/project/db/seeds.rb +27 -0
  160. data/lib/generators/project/geodata/cities.csv +25305 -0
  161. data/lib/generators/project/geodata/countries.csv +250 -0
  162. data/lib/generators/project/public/401.html +75 -0
  163. data/lib/generators/project/public/404.html +67 -0
  164. data/lib/generators/project/public/422.html +67 -0
  165. data/lib/generators/project/public/500.html +66 -0
  166. data/lib/generators/project/public/_receiver.html +10 -0
  167. data/lib/generators/project/public/apple-touch-icon-precomposed.png +0 -0
  168. data/lib/generators/project/public/apple-touch-icon.png +0 -0
  169. data/lib/generators/project/public/favicon.ico +0 -0
  170. data/lib/generators/project/public/robots.txt +1 -0
  171. data/lib/happy_birthday.rb +5 -0
  172. data/lib/link.rb +16 -0
  173. data/lib/oauth/oauth.rb +72 -0
  174. data/lib/oauth/oauth_fb.rb +48 -0
  175. data/lib/oauth/oauth_gg.rb +50 -0
  176. data/lib/oauth/oauth_im.rb +51 -0
  177. data/lib/oauth/oauth_mr.rb +53 -0
  178. data/lib/oauth/oauth_vk.rb +3 -0
  179. data/lib/oauth/oauth_yx.rb +51 -0
  180. data/lib/openid/openid.rb +46 -0
  181. data/lib/openid/openid_st.rb +2 -0
  182. data/lib/phone_cutter.rb +9 -0
  183. data/lib/response.rb +51 -0
  184. data/lib/session_manager.rb +47 -0
  185. data/lib/sms_lib.rb +30 -0
  186. data/lib/social_networks.rb +328 -0
  187. data/lib/tasks/digital_heroes_startkit_tasks.rake +83 -0
  188. data/lib/telegram.rb +33 -0
  189. metadata +497 -0
@@ -0,0 +1,142 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+
5
+
6
+ # не требуется железной связи!
7
+ Rails.application.config.active_record.belongs_to_required_by_default = false
8
+
9
+ config.time_zone = 'Moscow'
10
+ config.active_record.default_timezone = :local
11
+ config.action_mailer.default_url_options = { :host => CONFIG[:domain] }
12
+
13
+ config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
14
+ config.i18n.default_locale = :ru
15
+ config.encoding = 'utf-8'
16
+
17
+ config.active_job.queue_adapter = :delayed_job
18
+
19
+ config.autoload_paths += %W(#{config.root}/lib)
20
+
21
+ config.action_view.embed_authenticity_token_in_remote_forms = true
22
+
23
+ config.after_initialize do
24
+ Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'dj.log'))
25
+
26
+ begin
27
+ # запуск jobs
28
+ if ActiveRecord::Migrator.get_all_versions.any?
29
+ Delayed::Backend::ActiveRecord::Job.where(queue: :log_analyzer).destroy_all
30
+
31
+ LogAnalyzerJob.set(wait_until: DateTime.now).perform_later
32
+ end
33
+ # уничтожение сессий
34
+ ActiveRecord::SessionStore::Session.delete_all
35
+ rescue Exception => error
36
+ p error.message
37
+ end
38
+
39
+ end
40
+
41
+
42
+ # Code is not reloaded between requests.
43
+ config.cache_classes = true
44
+
45
+ # Eager load code on boot. This eager loads most of Rails and
46
+ # your application in memory, allowing both threaded web servers
47
+ # and those relying on copy on write to perform better.
48
+ # Rake tasks automatically ignore this option for performance.
49
+ config.eager_load = true
50
+
51
+ # Full error reports are disabled and caching is turned on.
52
+ config.consider_all_requests_local = false
53
+ config.action_controller.perform_caching = true
54
+
55
+ # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
56
+ # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
57
+ # `config/secrets.yml.key`.
58
+ config.read_encrypted_secrets = true
59
+
60
+ # Disable serving static files from the `/public` folder by default since
61
+ # Apache or NGINX already handles this.
62
+ config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
63
+
64
+ # Compress JavaScripts and CSS.
65
+ config.assets.js_compressor = :uglifier
66
+ # config.assets.css_compressor = :sass
67
+
68
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
69
+ config.assets.compile = false
70
+
71
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
72
+
73
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
74
+ # config.action_controller.asset_host = 'http://assets.example.com'
75
+
76
+ # Specifies the header that your server uses for sending files.
77
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
78
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
79
+
80
+ config.action_cable.mount_path = '/cable/'
81
+ # config.action_cable.url = 'wss://139.59.131.213/cable/'
82
+ config.action_cable.allowed_request_origins = [ "https://#{CONFIG[:domain]}", /https:\/\/#{CONFIG[:domain]}.*/ ]
83
+
84
+
85
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
86
+ config.force_ssl = true
87
+
88
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
89
+ # config.force_ssl = true
90
+
91
+ # Use the lowest log level to ensure availability of diagnostic information
92
+ # when problems arise.
93
+ config.log_level = :debug
94
+
95
+ # Prepend all log lines with the following tags.
96
+ config.log_tags = [ :request_id ]
97
+
98
+ # Use a different cache store in production.
99
+ # config.cache_store = :mem_cache_store
100
+
101
+ # Use a real queuing backend for Active Job (and separate queues per environment)
102
+ # config.active_job.queue_adapter = :resque
103
+ # config.active_job.queue_name_prefix = "iamrealtor_#{Rails.env}"
104
+ config.action_mailer.perform_caching = false
105
+
106
+ # Ignore bad email addresses and do not raise email delivery errors.
107
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
108
+ # config.action_mailer.raise_delivery_errors = false
109
+
110
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
111
+ # the I18n.default_locale when a translation cannot be found).
112
+ config.i18n.fallbacks = true
113
+
114
+ # Send deprecation notices to registered listeners.
115
+ config.active_support.deprecation = :notify
116
+
117
+ # Use default logging formatter so that PID and timestamp are not suppressed.
118
+ config.log_formatter = ::Logger::Formatter.new
119
+
120
+ # Use a different logger for distributed setups.
121
+ # require 'syslog/logger'
122
+ # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
123
+
124
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
125
+ ActiveRecord::Base.logger = ActiveSupport::Logger.new(STDOUT)
126
+ ActiveRecord::Base.logger.formatter = config.log_formatter
127
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
128
+ end
129
+
130
+ # Do not dump schema after migrations.
131
+ config.active_record.dump_schema_after_migration = false
132
+
133
+ ActionMailer::Base.smtp_settings = {
134
+ :user_name => CONFIG[:sendgrid][:user_name],
135
+ :password => CONFIG[:sendgrid][:password],
136
+ :domain => CONFIG[:domain],
137
+ :address => 'smtp.sendgrid.net',
138
+ :port => 587,
139
+ :authentication => :plain,
140
+ :enable_starttls_auto => true
141
+ }
142
+ end
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.session_store :active_record_store, {key: '_digital_heroes_startkit_session', expire_after: 1.week}
@@ -0,0 +1,444 @@
1
+ ru:
2
+ male: мужчина
3
+ female: женщина
4
+ other: другое
5
+
6
+ access_cards:
7
+ nickname: никнейм
8
+ phone: телефон
9
+ email: email
10
+ errors_handler:
11
+ record_not_found: 'не найдена запись'
12
+ routing_error: 'кто-то лазает'
13
+ standard_error: 'проблема'
14
+ show_disclaimer:
15
+ few: "Показать %{count} предмета"
16
+ many: "Показать %{count} предметов"
17
+ one: "Показать %{count} предмет"
18
+ other: "Показать %{count} предмета"
19
+ show_products_count:
20
+ few: "предмета"
21
+ many: "предметов"
22
+ one: "предмет"
23
+ other: "предмета"
24
+ show_companies_count:
25
+ few: "салона"
26
+ many: "салонов"
27
+ one: "салон"
28
+ other: "салона"
29
+ days_left_count:
30
+ few: "%{count} дня"
31
+ many: "%{count} дней"
32
+ one: "%{count} день"
33
+ other: "%{count} дня"
34
+ filter:
35
+ show_word: Показать
36
+ shown_word: Показано
37
+ show_products: ! '%{param} предметов'
38
+ selection_request: Оформить запрос на подбор мебели?
39
+ search:
40
+ empty: Не найдено
41
+ placeholder: Поиск итальянской мебели
42
+ top_menu:
43
+ stock: Мебель в наличии
44
+ catalog: Каталог
45
+ factories: Фабрики
46
+ portfolio: Портфолио
47
+ services: Услуги
48
+ contacts: Контакты
49
+ favorites: Избранное
50
+ add_product: Добавить предмет
51
+ yet: Еще
52
+ all_content: Все содержимое
53
+ add: Добавить
54
+ user:
55
+ sign_out: Выйти
56
+ products_card:
57
+ find_out_the_price: Узнать цену
58
+ remember: Запомнить
59
+ product_show:
60
+ specify_the_price: Уточнить цену
61
+ price_of_the_item: Уточните цену на
62
+ additionally: Добавить комментарий или файлы
63
+ add_to_list: Добавить в список
64
+ find_out_the_price: Узнать цену
65
+ find_out_the_price_and_delivery: Уточните цену на
66
+ product_form:
67
+ factory: Фабрика
68
+ type: Тип предмета
69
+ style: Стиль предмета
70
+ location: Расположение предмета
71
+ novelty: Новинка какого года?
72
+ controllers:
73
+ catalog:
74
+ factory_names: Фабрики
75
+ furniture_locations: Мебель по расположению
76
+ furniture_style: Мебель по стилю
77
+ novelty: Новинки
78
+ object_type: По типу
79
+ default: Каталог предметов
80
+ portfolio: Портфолио
81
+ sale: Распродажа итальянской мебели
82
+ stock: Итальянская мебель в наличии
83
+ search_furniture: Поиск
84
+ activerecord:
85
+ models:
86
+ dictionaries/factory_name:
87
+ one: Фабрика
88
+ other: Фабрики
89
+ genitive: Фабрику
90
+ dictionaries/furniture_style:
91
+ one: Стиль
92
+ other: Стили
93
+ genitive: Стиль
94
+ dictionaries/object_type:
95
+ one: Предмет
96
+ other: Предметы
97
+ genitive: Предмет
98
+ dictionaries/furniture_location:
99
+ one: Расположение
100
+ other: Расположение
101
+ genitive: Расположение
102
+ dictionaries/novelty_year:
103
+ one: Год новинки
104
+ other: Год новинки
105
+ genitive: Год новинки
106
+ image:
107
+ one: Изображение
108
+ other: Изображения
109
+ product:
110
+ one: Предмет
111
+ other: Предметы
112
+ factory_collection:
113
+ one: Коллекция фабрики
114
+ other: Коллекции фабрик
115
+ genitive: Коллекцию
116
+ attributes:
117
+ product:
118
+ public: Опубликовать
119
+ title: Заголовок
120
+ mini_description: Мини описание
121
+ description: Описание
122
+ furniture_collection: Коллекция
123
+ furniture_model: Модель
124
+ furniture_length: Длина
125
+ furniture_width: Ширина
126
+ furniture_height: Высота
127
+ furniture_depth: Глубина
128
+ furniture_diameter: Диаметр
129
+ discontinued: Снято с производства
130
+ price_rub: Цена в руб
131
+ price_discount_rub: Цена скидки в руб
132
+ furniture_in_stock: В наличии
133
+ furniture_sold: Продан
134
+ object_types: Типы объекта
135
+ factory_names: Названия фабрик
136
+ novelty_year: Год новизны
137
+ novelty_year_id: Год новизны
138
+ image: Главное изображение
139
+ main_image_id: Главная
140
+ factory_collection:
141
+ factory_name_id: Фабрика
142
+ title: Заголовок
143
+ true_title: Истинный заголовок
144
+ description: Описание
145
+ bottom_description: Нижнее описание
146
+ dictionaries/object_type:
147
+ title: Заголовок
148
+ true_title: Истинный заголовок
149
+ description: Описание
150
+ bottom_description: Нижнее описание
151
+ dictionaries/factory_name:
152
+ title: Заголовок
153
+ true_title: Истинный заголовок
154
+ description: Описание
155
+ bottom_description: Нижнее описание
156
+ dictionaries/furniture_location:
157
+ title: Заголовок
158
+ true_title: Истинный заголовок
159
+ description: Описание
160
+ bottom_description: Нижнее описание
161
+ dictionaries/furniture_style:
162
+ title: Заголовок
163
+ true_title: Истинный заголовок
164
+ description: Описание
165
+ bottom_description: Нижнее описание
166
+ dictionaries/novelty_year:
167
+ title: Заголовок
168
+ true_title: Истинный заголовок
169
+ description: Описание
170
+ bottom_description: Нижнее описание
171
+ errors:
172
+ models:
173
+ image:
174
+ attributes:
175
+ product:
176
+ required: 'Product не может быть пустым'
177
+ custom_actions:
178
+ destroy: Удалить
179
+ save: Сохранить
180
+ edit: Редактировать %{param}
181
+ show: Показать
182
+ back: Назад
183
+ create: Создать %{model}
184
+ add: Добавить %{model}
185
+ upload: Загрузить
186
+ cancel: Отменить
187
+ are_you_sure: Вы уверены?
188
+ date:
189
+ abbr_day_names:
190
+ - Вс
191
+ - Пн
192
+ - Вт
193
+ - Ср
194
+ - Чт
195
+ - Пт
196
+ - Сб
197
+ abbr_month_names:
198
+ -
199
+ - янв.
200
+ - февр.
201
+ - марта
202
+ - апр.
203
+ - мая
204
+ - июня
205
+ - июля
206
+ - авг.
207
+ - сент.
208
+ - окт.
209
+ - нояб.
210
+ - дек.
211
+ day_names:
212
+ - воскресенье
213
+ - понедельник
214
+ - вторник
215
+ - среда
216
+ - четверг
217
+ - пятница
218
+ - суббота
219
+ formats:
220
+ default: ! '%d.%m.%Y'
221
+ long: ! '%d %B %Y'
222
+ short: ! '%d %b'
223
+ month_names:
224
+ -
225
+ - января
226
+ - февраля
227
+ - марта
228
+ - апреля
229
+ - мая
230
+ - июня
231
+ - июля
232
+ - августа
233
+ - сентября
234
+ - октября
235
+ - ноября
236
+ - декабря
237
+ order:
238
+ - :day
239
+ - :month
240
+ - :year
241
+ datetime:
242
+ distance_in_words:
243
+ about_x_hours:
244
+ few: около %{count} часов
245
+ many: около %{count} часов
246
+ one: около %{count} часа
247
+ other: около %{count} часа
248
+ about_x_months:
249
+ few: около %{count} месяцев
250
+ many: около %{count} месяцев
251
+ one: около %{count} месяца
252
+ other: около %{count} месяца
253
+ about_x_years:
254
+ few: около %{count} лет
255
+ many: около %{count} лет
256
+ one: около %{count} года
257
+ other: около %{count} лет
258
+ almost_x_years:
259
+ one: почти 1 год
260
+ few: почти %{count} года
261
+ many: почти %{count} лет
262
+ other: почти %{count} лет
263
+ half_a_minute: меньше минуты
264
+ less_than_x_minutes:
265
+ few: меньше %{count} минут
266
+ many: меньше %{count} минут
267
+ one: меньше %{count} минуты
268
+ other: меньше %{count} минуты
269
+ less_than_x_seconds:
270
+ few: меньше %{count} секунд
271
+ many: меньше %{count} секунд
272
+ one: меньше %{count} секунды
273
+ other: меньше %{count} секунды
274
+ over_x_years:
275
+ few: больше %{count} лет
276
+ many: больше %{count} лет
277
+ one: больше %{count} года
278
+ other: больше %{count} лет
279
+ x_days:
280
+ few: ! '%{count} дня'
281
+ many: ! '%{count} дней'
282
+ one: ! '%{count} день'
283
+ other: ! '%{count} дня'
284
+ x_minutes:
285
+ few: ! '%{count} минуты'
286
+ many: ! '%{count} минут'
287
+ one: ! '%{count} минуту'
288
+ other: ! '%{count} минуты'
289
+ x_months:
290
+ few: ! '%{count} месяца'
291
+ many: ! '%{count} месяцев'
292
+ one: ! '%{count} месяц'
293
+ other: ! '%{count} месяца'
294
+ x_seconds:
295
+ few: ! '%{count} секунды'
296
+ many: ! '%{count} секунд'
297
+ one: ! '%{count} секундy'
298
+ other: ! '%{count} секунды'
299
+ prompts:
300
+ day: День
301
+ hour: Часов
302
+ minute: Минут
303
+ month: Месяц
304
+ second: Секунд
305
+ year: Год
306
+ errors:
307
+ format: ! '%{attribute} %{message}'
308
+ messages:
309
+ extension_whitelist_error: Неверный формат изображения
310
+ accepted: нужно подтвердить
311
+ blank: не может быть пустым
312
+ present: нужно оставить пустым
313
+ confirmation: 'не совпадает со значением поля %{attribute}'
314
+ empty: не может быть пустым
315
+ equal_to: может иметь лишь значение, равное %{count}
316
+ even: может иметь лишь нечетное значение
317
+ exclusion: имеет зарезервированное значение
318
+ greater_than: может иметь значение большее %{count}
319
+ greater_than_or_equal_to: может иметь значение большее или равное %{count}
320
+ inclusion: имеет непредусмотренное значение
321
+ invalid: имеет неверное значение
322
+ less_than: может иметь значение меньшее чем %{count}
323
+ less_than_or_equal_to: может иметь значение меньшее или равное %{count}
324
+ not_a_number: не является числом
325
+ not_an_integer: не является целым числом
326
+ odd: может иметь лишь четное значение
327
+ record_invalid: ! 'Возникли ошибки: %{errors}'
328
+ restrict_dependent_destroy:
329
+ has_one: "Невозможно удалить запись, так как существует зависимость: %{record}"
330
+ has_many: "Невозможно удалить запись, так как существуют зависимости: %{record}"
331
+ taken: уже существует
332
+ too_long:
333
+ few: слишком большой длины (не может быть больше чем %{count} символа)
334
+ many: слишком большой длины (не может быть больше чем %{count} символов)
335
+ one: слишком большой длины (не может быть больше чем %{count} символ)
336
+ other: слишком большой длины (не может быть больше чем %{count} символа)
337
+ too_short:
338
+ few: недостаточной длины (не может быть меньше %{count} символов)
339
+ many: недостаточной длины (не может быть меньше %{count} символов)
340
+ one: недостаточной длины (не может быть меньше %{count} символа)
341
+ other: недостаточной длины (не может быть меньше %{count} символа)
342
+ wrong_length:
343
+ few: неверной длины (может быть длиной ровно %{count} символа)
344
+ many: неверной длины (может быть длиной ровно %{count} символов)
345
+ one: неверной длины (может быть длиной ровно %{count} символ)
346
+ other: неверной длины (может быть длиной ровно %{count} символа)
347
+ other_than: "должно отличаться от %{count}"
348
+ template:
349
+ body: ! 'Проблемы возникли со следующими полями:'
350
+ header:
351
+ few: ! '%{model}: сохранение не удалось из-за %{count} ошибок'
352
+ many: ! '%{model}: сохранение не удалось из-за %{count} ошибок'
353
+ one: ! '%{model}: сохранение не удалось из-за %{count} ошибки'
354
+ other: ! '%{model}: сохранение не удалось из-за %{count} ошибки'
355
+ helpers:
356
+ select:
357
+ prompt: ! 'Выберите...'
358
+ submit:
359
+ create: Создать %{model}
360
+ submit: Сохранить %{model}
361
+ update: Сохранить %{model}
362
+ number:
363
+ currency:
364
+ format:
365
+ delimiter: ! ' '
366
+ format: ! '%n %u'
367
+ precision: 2
368
+ separator: ','
369
+ significant: false
370
+ strip_insignificant_zeros: true
371
+ unit: руб.
372
+ format:
373
+ delimiter: ! ' '
374
+ precision: 3
375
+ separator: ','
376
+ significant: false
377
+ strip_insignificant_zeros: false
378
+ human:
379
+ decimal_units:
380
+ format: ! '%n %u'
381
+ units:
382
+ billion:
383
+ few: миллиардов
384
+ many: миллиардов
385
+ one: миллиард
386
+ other: миллиардов
387
+ million:
388
+ few: миллионов
389
+ many: миллионов
390
+ one: миллион
391
+ other: миллионов
392
+ quadrillion:
393
+ few: квадриллионов
394
+ many: квадриллионов
395
+ one: квадриллион
396
+ other: квадриллионов
397
+ thousand:
398
+ few: тысяч
399
+ many: тысяч
400
+ one: тысяча
401
+ other: тысяч
402
+ trillion:
403
+ few: триллионов
404
+ many: триллионов
405
+ one: триллион
406
+ other: триллионов
407
+ unit: ''
408
+ format:
409
+ delimiter: ''
410
+ precision: 1
411
+ significant: false
412
+ strip_insignificant_zeros: false
413
+ storage_units:
414
+ format: ! '%n %u'
415
+ units:
416
+ byte:
417
+ few: байта
418
+ many: байт
419
+ one: байт
420
+ other: байта
421
+ gb: ГБ
422
+ kb: КБ
423
+ mb: МБ
424
+ tb: ТБ
425
+ percentage:
426
+ format:
427
+ delimiter: ''
428
+ format: "%n%"
429
+ precision:
430
+ format:
431
+ delimiter: ''
432
+ support:
433
+ array:
434
+ last_word_connector: ! ' и '
435
+ two_words_connector: ! ' и '
436
+ words_connector: ! ', '
437
+ time:
438
+ am: утра
439
+ formats:
440
+ default: ! '%a, %d %b %Y, %H:%M:%S %z'
441
+ long: ! '%d %B %Y, %H:%M'
442
+ short: ! '%d %b, %H:%M'
443
+ xshort: ! '%d %b'
444
+ pm: вечера
@@ -0,0 +1,19 @@
1
+ class CreateUserCards < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :user_cards do |t|
4
+ t.references :userable, polymorphic: true, index: true
5
+ t.integer :userable_id
6
+ t.string :userable_type
7
+ t.string :access_level, null: true, limit: 32
8
+
9
+ t.string :password_digest
10
+ t.string :resurrection, null: true
11
+
12
+ t.integer :status, null: true, unsigned: true, index: true, limit: 1, default: 0
13
+ t.boolean :online, null: true, unsigned: true, index: true, default: 0
14
+
15
+ t.timestamps null: false
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ class CreateEmailAccessCards < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :email_access_cards do |t|
4
+ t.belongs_to :user_card, index: true, null: false, foreign_key: true
5
+
6
+ t.string :value, null: true, index: true, unique: true
7
+ t.boolean :active
8
+
9
+ t.timestamps
10
+ end
11
+
12
+ add_index :email_access_cards, :value, name: :ivalue, type: :fulltext
13
+
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ class CreateNicknameAccessCards < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :nickname_access_cards do |t|
4
+ t.belongs_to :user_card, index: true, null: false, foreign_key: true
5
+
6
+ t.string :value, null: true, index: true, unique: true, limit: 14
7
+ t.boolean :active
8
+
9
+ t.timestamps
10
+ end
11
+
12
+ add_index :nickname_access_cards, :value, name: :ivalue, type: :fulltext
13
+
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ class CreatePhoneAccessCards < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :phone_access_cards do |t|
4
+ t.belongs_to :user_card, index: true, null: false, foreign_key: true
5
+
6
+ t.string :value, null: true, index: true, unique: true, limit: 24
7
+ t.integer :verified, null: true, index: true, limit: 1, default: 0
8
+ t.boolean :active
9
+
10
+ t.timestamps
11
+ end
12
+
13
+ add_index :phone_access_cards, :value, name: :ivalue, type: :fulltext
14
+
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ class CreateOauthAccessCards < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :oauth_access_cards do |t|
4
+ t.belongs_to :user_card, index: true, null: false, foreign_key: true
5
+
6
+ t.string :photourl
7
+
8
+ t.boolean :active
9
+
10
+ t.string :oauth_name, null: true, index: true
11
+ t.string :oauth_uid, null: true, index: true
12
+ t.string :access_token, null: true
13
+ t.datetime :token_expired, null: true
14
+
15
+ t.timestamps
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ class CreateKreators < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :kreators do |t|
4
+ t.string :name, null: true, limit: 64
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end