fat_free_crm 0.12.3 → 0.13.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.

Potentially problematic release.


This version of fat_free_crm might be problematic. Click here for more details.

Files changed (521) hide show
  1. checksums.yaml +5 -13
  2. data/.travis.yml +1 -11
  3. data/Gemfile +7 -19
  4. data/Gemfile.lock +166 -166
  5. data/Procfile +1 -1
  6. data/README.md +20 -20
  7. data/app/assets/javascripts/admin/fields.js.coffee +3 -3
  8. data/app/assets/javascripts/application.js.erb +3 -0
  9. data/app/assets/javascripts/crm.js +1 -0
  10. data/app/assets/javascripts/crm_comments.js.coffee +66 -0
  11. data/app/assets/javascripts/lists.js.coffee +45 -2
  12. data/app/assets/javascripts/search.js.coffee +2 -0
  13. data/app/assets/javascripts/timeago.js +17 -0
  14. data/app/assets/stylesheets/advanced_search.css.scss +49 -25
  15. data/app/assets/stylesheets/application.css.erb +3 -0
  16. data/app/assets/stylesheets/common.scss +13 -0
  17. data/app/assets/stylesheets/format_buttons.css.scss +15 -10
  18. data/app/assets/stylesheets/header.scss +3 -0
  19. data/app/assets/stylesheets/lists.css.scss +4 -0
  20. data/app/controllers/admin/fields_controller.rb +5 -5
  21. data/app/controllers/admin/users_controller.rb +1 -3
  22. data/app/controllers/application_controller.rb +23 -23
  23. data/app/controllers/comments_controller.rb +3 -31
  24. data/app/controllers/entities/accounts_controller.rb +3 -3
  25. data/app/controllers/entities/campaigns_controller.rb +4 -4
  26. data/app/controllers/entities/contacts_controller.rb +2 -2
  27. data/app/controllers/entities/leads_controller.rb +3 -3
  28. data/app/controllers/entities/opportunities_controller.rb +4 -3
  29. data/app/controllers/entities_controller.rb +6 -6
  30. data/app/controllers/home_controller.rb +1 -1
  31. data/app/controllers/lists_controller.rb +8 -1
  32. data/app/controllers/tasks_controller.rb +1 -1
  33. data/app/controllers/users_controller.rb +46 -23
  34. data/app/helpers/admin/application_helper.rb +1 -3
  35. data/app/helpers/admin/field_groups_helper.rb +2 -1
  36. data/app/helpers/application_helper.rb +37 -16
  37. data/app/helpers/home_helper.rb +1 -2
  38. data/app/helpers/leads_helper.rb +5 -6
  39. data/app/helpers/tasks_helper.rb +36 -50
  40. data/app/models/entities/account.rb +10 -7
  41. data/app/models/entities/campaign.rb +4 -4
  42. data/app/models/entities/contact.rb +8 -5
  43. data/app/models/entities/lead.rb +8 -8
  44. data/app/models/entities/opportunity.rb +13 -18
  45. data/app/models/fields/custom_field.rb +10 -0
  46. data/app/models/fields/field.rb +3 -3
  47. data/app/models/fields/field_group.rb +1 -1
  48. data/app/models/list.rb +1 -0
  49. data/app/models/polymorphic/address.rb +3 -3
  50. data/app/models/polymorphic/comment.rb +2 -4
  51. data/app/models/polymorphic/task.rb +32 -27
  52. data/app/models/setting.rb +3 -9
  53. data/app/models/users/ability.rb +2 -13
  54. data/app/models/users/user.rb +12 -15
  55. data/app/views/accounts/_edit.html.haml +1 -1
  56. data/app/views/accounts/_index_brief.html.haml +3 -3
  57. data/app/views/accounts/_index_long.html.haml +3 -3
  58. data/app/views/accounts/_new.html.haml +1 -1
  59. data/app/views/accounts/create.js.haml +17 -0
  60. data/app/views/accounts/destroy.js.haml +6 -0
  61. data/app/views/accounts/edit.js.haml +32 -0
  62. data/app/views/accounts/index.js.haml +11 -0
  63. data/app/views/accounts/index.xls.builder +9 -7
  64. data/app/views/accounts/new.js.haml +11 -0
  65. data/app/views/accounts/show.js.haml +5 -0
  66. data/app/views/accounts/update.js.haml +17 -0
  67. data/app/views/admin/field_groups/_edit.html.haml +1 -1
  68. data/app/views/admin/field_groups/_new.html.haml +1 -1
  69. data/app/views/admin/field_groups/confirm.js.haml +7 -0
  70. data/app/views/admin/field_groups/create.js.haml +20 -0
  71. data/app/views/admin/field_groups/destroy.js.haml +9 -0
  72. data/app/views/admin/field_groups/edit.js.haml +12 -0
  73. data/app/views/admin/field_groups/new.js.haml +8 -0
  74. data/app/views/admin/field_groups/update.js.haml +8 -0
  75. data/app/views/admin/fields/_field.html.haml +2 -2
  76. data/app/views/admin/fields/_form.html.haml +2 -2
  77. data/app/views/admin/fields/create.js.haml +17 -0
  78. data/app/views/admin/fields/destroy.js.haml +8 -0
  79. data/app/views/admin/fields/edit.js.haml +3 -0
  80. data/app/views/admin/fields/update.js.haml +13 -0
  81. data/app/views/admin/groups/_edit.html.haml +1 -1
  82. data/app/views/admin/groups/_new.html.haml +1 -1
  83. data/app/views/admin/groups/create.js.haml +10 -0
  84. data/app/views/admin/groups/destroy.js.haml +9 -0
  85. data/app/views/admin/groups/edit.js.haml +14 -0
  86. data/app/views/admin/groups/index.html.haml +1 -1
  87. data/app/views/admin/groups/index.js.haml +2 -0
  88. data/app/views/admin/groups/new.js.haml +9 -0
  89. data/app/views/admin/groups/update.js.haml +9 -0
  90. data/app/views/admin/tags/_edit.html.haml +1 -1
  91. data/app/views/admin/tags/_new.html.haml +1 -1
  92. data/app/views/admin/tags/confirm.js.haml +7 -0
  93. data/app/views/admin/tags/create.js.haml +11 -0
  94. data/app/views/admin/tags/destroy.js.haml +10 -0
  95. data/app/views/admin/tags/edit.js.haml +20 -0
  96. data/app/views/admin/tags/new.js.haml +7 -0
  97. data/app/views/admin/tags/update.js.haml +9 -0
  98. data/app/views/admin/users/_edit.html.haml +1 -1
  99. data/app/views/admin/users/_new.html.haml +1 -1
  100. data/app/views/admin/users/_user.html.haml +1 -1
  101. data/app/views/admin/users/confirm.js.haml +7 -0
  102. data/app/views/admin/users/create.js.haml +10 -0
  103. data/app/views/admin/users/destroy.js.haml +10 -0
  104. data/app/views/admin/users/edit.js.haml +20 -0
  105. data/app/views/admin/users/index.js.haml +2 -0
  106. data/app/views/admin/users/new.js.haml +9 -0
  107. data/app/views/admin/users/reactivate.js.haml +3 -0
  108. data/app/views/admin/users/suspend.js.haml +3 -0
  109. data/app/views/admin/users/update.js.haml +9 -0
  110. data/app/views/authentications/new.html.haml +1 -1
  111. data/app/views/campaigns/_edit.html.haml +1 -1
  112. data/app/views/campaigns/_new.html.haml +1 -1
  113. data/app/views/campaigns/create.js.haml +20 -0
  114. data/app/views/campaigns/destroy.js.haml +6 -0
  115. data/app/views/campaigns/edit.js.haml +33 -0
  116. data/app/views/campaigns/index.js.haml +11 -0
  117. data/app/views/campaigns/index.xls.builder +9 -7
  118. data/app/views/campaigns/new.js.haml +11 -0
  119. data/app/views/campaigns/show.js.haml +5 -0
  120. data/app/views/campaigns/update.js.haml +20 -0
  121. data/app/views/comments/_comment.html.haml +1 -1
  122. data/app/views/comments/_edit.html.haml +1 -1
  123. data/app/views/comments/_new.html.haml +3 -2
  124. data/app/views/comments/create.js.haml +14 -0
  125. data/app/views/comments/destroy.js.haml +5 -0
  126. data/app/views/comments/edit.js.haml +11 -0
  127. data/app/views/comments/update.js.haml +9 -0
  128. data/app/views/contacts/_edit.html.haml +1 -1
  129. data/app/views/contacts/_index_full.html.haml +1 -1
  130. data/app/views/contacts/_index_long.html.haml +2 -1
  131. data/app/views/contacts/_new.html.haml +1 -1
  132. data/app/views/contacts/_section_general.html.haml +3 -3
  133. data/app/views/contacts/create.js.haml +23 -0
  134. data/app/views/contacts/destroy.js.haml +9 -0
  135. data/app/views/contacts/edit.js.haml +35 -0
  136. data/app/views/contacts/index.js.haml +11 -0
  137. data/app/views/contacts/index.xls.builder +9 -7
  138. data/app/views/contacts/new.js.haml +13 -0
  139. data/app/views/contacts/show.js.haml +5 -0
  140. data/app/views/contacts/update.js.haml +22 -0
  141. data/app/views/emails/destroy.js.haml +5 -0
  142. data/app/views/entities/_permissions.html.haml +1 -1
  143. data/app/views/entities/attach.js.haml +21 -0
  144. data/app/views/entities/contacts.js.haml +3 -0
  145. data/app/views/entities/discard.js.haml +6 -0
  146. data/app/views/entities/leads.js.haml +3 -0
  147. data/app/views/entities/opportunities.js.haml +3 -0
  148. data/app/views/entities/subscription_update.js.haml +4 -0
  149. data/app/views/entities/versions.js.haml +3 -0
  150. data/app/views/fields/group.js.erb +3 -0
  151. data/app/views/home/_account.html.haml +3 -3
  152. data/app/views/home/_opportunity.html.haml +3 -3
  153. data/app/views/home/index.atom.builder +3 -3
  154. data/app/views/home/index.js.haml +7 -0
  155. data/app/views/home/index.rss.builder +2 -2
  156. data/app/views/home/options.js.haml +7 -0
  157. data/app/views/layouts/_footer.html.haml +0 -4
  158. data/app/views/layouts/_sidebar.html.haml +1 -0
  159. data/app/views/layouts/_tabbed.html.haml +1 -4
  160. data/app/views/layouts/admin/application.html.haml +0 -1
  161. data/app/views/layouts/application.html.haml +5 -7
  162. data/app/views/leads/_convert.html.haml +1 -1
  163. data/app/views/leads/_edit.html.haml +1 -1
  164. data/app/views/leads/_index_long.html.haml +2 -2
  165. data/app/views/leads/_new.html.haml +1 -1
  166. data/app/views/leads/convert.js.haml +35 -0
  167. data/app/views/leads/create.js.haml +21 -0
  168. data/app/views/leads/destroy.js.haml +9 -0
  169. data/app/views/leads/edit.js.haml +35 -0
  170. data/app/views/leads/index.js.haml +11 -0
  171. data/app/views/leads/index.xls.builder +9 -7
  172. data/app/views/leads/new.js.haml +11 -0
  173. data/app/views/leads/promote.js.haml +26 -0
  174. data/app/views/leads/reject.js.haml +12 -0
  175. data/app/views/leads/show.js.haml +5 -0
  176. data/app/views/leads/update.js.haml +26 -0
  177. data/app/views/lists/_personal_sidebar.html.haml +28 -0
  178. data/app/views/lists/_sidebar.html.haml +10 -7
  179. data/app/views/lists/create.js.haml +10 -0
  180. data/app/views/lists/destroy.js.haml +1 -0
  181. data/app/views/opportunities/_edit.html.haml +1 -1
  182. data/app/views/opportunities/_index_brief.html.haml +3 -3
  183. data/app/views/opportunities/_index_long.html.haml +3 -3
  184. data/app/views/opportunities/_new.html.haml +1 -2
  185. data/app/views/opportunities/_top_section.html.haml +4 -0
  186. data/app/views/opportunities/contacts.js.haml +3 -0
  187. data/app/views/opportunities/create.js.haml +29 -0
  188. data/app/views/opportunities/destroy.js.haml +13 -0
  189. data/app/views/opportunities/edit.js.haml +35 -0
  190. data/app/views/opportunities/index.js.haml +11 -0
  191. data/app/views/opportunities/index.xls.builder +9 -7
  192. data/app/views/opportunities/new.js.haml +13 -0
  193. data/app/views/opportunities/show.js.haml +5 -0
  194. data/app/views/opportunities/update.js.haml +25 -0
  195. data/app/views/passwords/edit.html.haml +1 -1
  196. data/app/views/passwords/new.html.haml +1 -1
  197. data/app/views/shared/_comment.html.haml +1 -1
  198. data/app/views/shared/_inline_styles.html.haml +1 -1
  199. data/app/views/tasks/_edit.html.haml +1 -1
  200. data/app/views/tasks/_new.html.haml +1 -1
  201. data/app/views/tasks/complete.js.haml +14 -0
  202. data/app/views/tasks/create.js.haml +39 -0
  203. data/app/views/tasks/destroy.js.haml +7 -0
  204. data/app/views/tasks/discard.js.haml +1 -0
  205. data/app/views/tasks/edit.js.haml +26 -0
  206. data/app/views/tasks/filter.js.haml +4 -0
  207. data/app/views/tasks/index.xls.builder +7 -5
  208. data/app/views/tasks/new.js.haml +8 -0
  209. data/app/views/tasks/update.js.haml +19 -0
  210. data/app/views/users/_password.html.haml +1 -1
  211. data/app/views/users/_profile.html.haml +1 -1
  212. data/app/views/users/avatar.js.haml +9 -0
  213. data/app/views/users/change_password.js.haml +13 -0
  214. data/app/views/users/edit.js.haml +9 -0
  215. data/app/views/users/new.html.haml +1 -1
  216. data/app/views/users/password.js.haml +10 -0
  217. data/app/views/users/update.js.haml +9 -0
  218. data/app/views/users/upload_avatar.js.haml +7 -0
  219. data/app/views/versions/_version.html.haml +1 -1
  220. data/config/application.rb +1 -4
  221. data/config/environments/production.rb +3 -2
  222. data/config/initializers/custom_field_ransack_translations.rb +15 -0
  223. data/config/initializers/locale.rb +9 -1
  224. data/config/initializers/secret_token.rb +1 -25
  225. data/config/initializers/views.rb +20 -20
  226. data/config/locales/cz.yml +245 -211
  227. data/config/locales/cz_fat_free_crm.yml +105 -181
  228. data/config/locales/de.yml +162 -118
  229. data/config/locales/de_fat_free_crm.yml +760 -731
  230. data/config/locales/de_ransack.yml +91 -0
  231. data/config/locales/en-GB.yml +158 -119
  232. data/config/locales/en-GB_fat_free_crm.yml +161 -279
  233. data/config/locales/en-US.yml +158 -121
  234. data/config/locales/en-US_fat_free_crm.yml +185 -179
  235. data/config/locales/en-US_ransack.yml +81 -82
  236. data/config/locales/es.yml +164 -123
  237. data/config/locales/es_fat_free_crm.yml +151 -209
  238. data/config/locales/fr-CA.yml +167 -130
  239. data/config/locales/fr-CA_fat_free_crm.yml +142 -202
  240. data/config/locales/fr.yml +170 -125
  241. data/config/locales/fr_fat_free_crm.yml +199 -302
  242. data/config/locales/it.yml +158 -122
  243. data/config/locales/it_fat_free_crm.yml +105 -168
  244. data/config/locales/ja.yml +162 -131
  245. data/config/locales/ja_fat_free_crm.yml +118 -188
  246. data/config/locales/pl.yml +168 -132
  247. data/config/locales/pl_fat_free_crm.yml +115 -186
  248. data/config/locales/pt-BR.yml +160 -127
  249. data/config/locales/pt-BR_fat_free_crm.yml +125 -182
  250. data/config/locales/ru.yml +256 -233
  251. data/config/locales/ru_fat_free_crm.yml +136 -193
  252. data/config/locales/sv-SE.yml +164 -181
  253. data/config/locales/sv-SE_fat_free_crm.yml +129 -193
  254. data/config/locales/th_fat_free_crm.yml +114 -194
  255. data/config/locales/zh-CN.yml +176 -149
  256. data/config/locales/zh-CN_fat_free_crm.yml +78 -167
  257. data/config/routes.rb +1 -1
  258. data/config/settings.default.yml +74 -23
  259. data/custom_plan.rb +11 -0
  260. data/db/migrate/20131207033244_add_user_id_to_lists.rb +6 -0
  261. data/db/schema.rb +4 -1
  262. data/fat_free_crm.gemspec +3 -3
  263. data/lib/fat_free_crm.rb +1 -11
  264. data/lib/fat_free_crm/export_csv.rb +3 -3
  265. data/lib/fat_free_crm/fields.rb +10 -0
  266. data/lib/fat_free_crm/gem_dependencies.rb +1 -2
  267. data/lib/fat_free_crm/i18n.rb +9 -5
  268. data/lib/fat_free_crm/version.rb +2 -2
  269. data/lib/fat_free_crm/view_factory.rb +8 -5
  270. data/lib/tasks/ffcrm/config.rake +9 -12
  271. data/lib/tasks/ffcrm/missing_translations.rake +2 -1
  272. data/spec/controllers/admin/users_controller_spec.rb +6 -4
  273. data/spec/controllers/applications_controller_spec.rb +4 -4
  274. data/spec/controllers/authentications_controller_spec.rb +15 -15
  275. data/spec/controllers/comments_controller_spec.rb +9 -87
  276. data/spec/controllers/emails_controller_spec.rb +1 -1
  277. data/spec/controllers/entities/accounts_controller_spec.rb +7 -7
  278. data/spec/controllers/entities/campaigns_controller_spec.rb +5 -5
  279. data/spec/controllers/entities/contacts_controller_spec.rb +7 -7
  280. data/spec/controllers/entities/leads_controller_spec.rb +14 -14
  281. data/spec/controllers/entities/opportunities_controller_spec.rb +8 -8
  282. data/spec/controllers/home_controller_spec.rb +6 -6
  283. data/spec/controllers/tasks_controller_spec.rb +7 -7
  284. data/spec/controllers/users_controller_spec.rb +22 -50
  285. data/spec/features/support/selector_helpers.rb +1 -6
  286. data/spec/features/tasks_spec.rb +2 -2
  287. data/spec/helpers/application_helper_spec.rb +15 -15
  288. data/spec/lib/fields_spec.rb +29 -29
  289. data/spec/lib/mail_processor/base_spec.rb +7 -7
  290. data/spec/lib/mail_processor/dropbox_spec.rb +3 -3
  291. data/spec/lib/view_factory_spec.rb +14 -14
  292. data/spec/models/entities/opportunity_spec.rb +1 -1
  293. data/spec/models/fields/custom_field_date_pair_spec.rb +14 -14
  294. data/spec/models/fields/custom_field_pair_spec.rb +13 -13
  295. data/spec/models/fields/custom_field_spec.rb +5 -5
  296. data/spec/models/fields/field_spec.rb +2 -2
  297. data/spec/models/observers/entity_observer_spec.rb +2 -2
  298. data/spec/models/users/user_spec.rb +7 -7
  299. data/spec/routing/comments_routing_spec.rb +0 -9
  300. data/spec/shared/controllers.rb +75 -77
  301. data/spec/shared/models.rb +1 -1
  302. data/spec/spec_helper.rb +1 -2
  303. data/spec/support/auth_macros.rb +3 -3
  304. data/spec/support/mail_processor_mocks.rb +13 -13
  305. data/spec/views/accounts/_edit.haml_spec.rb +1 -1
  306. data/spec/views/accounts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
  307. data/spec/views/accounts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
  308. data/spec/views/accounts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
  309. data/spec/views/accounts/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -11
  310. data/spec/views/accounts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  311. data/spec/views/accounts/show.haml_spec.rb +1 -1
  312. data/spec/views/accounts/{update.rjs_spec.rb → update.js.haml_spec.rb} +16 -25
  313. data/spec/views/admin/field_groups/create.js.haml_spec.rb +31 -0
  314. data/spec/views/admin/field_groups/destroy.js.haml_spec.rb +31 -0
  315. data/spec/views/admin/field_groups/edit.js.haml_spec.rb +24 -0
  316. data/spec/views/admin/field_groups/new.js.haml_spec.rb +25 -0
  317. data/spec/views/admin/field_groups/update.js.haml_spec.rb +30 -0
  318. data/spec/views/admin/users/_create.haml_spec.rb +1 -1
  319. data/spec/views/admin/users/{create.rjs_spec.rb → create.js.haml_spec.rb} +6 -9
  320. data/spec/views/admin/users/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
  321. data/spec/views/admin/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +6 -12
  322. data/spec/views/admin/users/index.haml_spec.rb +0 -0
  323. data/spec/views/admin/users/{index.rjs_spec.rb → index.js.haml_spec.rb} +3 -5
  324. data/spec/views/admin/users/{new.rjs_spec.rb → new.js.haml_spec.rb} +4 -6
  325. data/spec/views/admin/users/{reactivate.rjs_spec.rb → reactivate.js.haml_spec.rb} +2 -4
  326. data/spec/views/admin/users/show.haml_spec.rb +0 -0
  327. data/spec/views/admin/users/{suspend.rjs_spec.rb → suspend.js.haml_spec.rb} +2 -4
  328. data/spec/views/admin/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +6 -10
  329. data/spec/views/campaigns/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
  330. data/spec/views/campaigns/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
  331. data/spec/views/campaigns/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +11 -19
  332. data/spec/views/campaigns/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
  333. data/spec/views/campaigns/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  334. data/spec/views/campaigns/{update.rjs_spec.rb → update.js.haml_spec.rb} +14 -21
  335. data/spec/views/comments/{new.rjs_spec.rb → edit.js.haml_spec.rb} +12 -9
  336. data/spec/views/contacts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -16
  337. data/spec/views/contacts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
  338. data/spec/views/contacts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -19
  339. data/spec/views/contacts/index.haml_spec.rb +1 -1
  340. data/spec/views/contacts/{index.rjs_spec.rb → index.js.html_spec.rb} +7 -11
  341. data/spec/views/contacts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -7
  342. data/spec/views/contacts/{update.rjs_spec.rb → update.js.haml_spec.rb} +20 -35
  343. data/spec/views/home/{index.rjs_spec.rb → index.js.haml_spec.rb} +2 -4
  344. data/spec/views/home/{options.rjs_spec.rb → options.js.haml_spec.rb} +7 -12
  345. data/spec/views/leads/{convert.rjs_spec.rb → convert.js.haml_spec.rb} +12 -20
  346. data/spec/views/leads/{create.rjs_spec.rb → create.js.haml_spec.rb} +13 -19
  347. data/spec/views/leads/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -12
  348. data/spec/views/leads/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -20
  349. data/spec/views/leads/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
  350. data/spec/views/leads/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  351. data/spec/views/leads/{promote.rjs_spec.rb → promote.js.haml_spec.rb} +28 -43
  352. data/spec/views/leads/{reject.rjs_spec.rb → reject.js.haml_spec.rb} +10 -17
  353. data/spec/views/leads/{update.rjs_spec.rb → update.js.haml_spec.rb} +25 -38
  354. data/spec/views/opportunities/{create.rjs_spec.rb → create.js.haml_spec.rb} +16 -26
  355. data/spec/views/opportunities/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +13 -16
  356. data/spec/views/opportunities/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
  357. data/spec/views/opportunities/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -12
  358. data/spec/views/opportunities/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  359. data/spec/views/opportunities/{update.rjs_spec.rb → update.js.haml_spec.rb} +29 -46
  360. data/spec/views/tasks/_edit.haml_spec.rb +1 -1
  361. data/spec/views/tasks/{complete.rjs_spec.rb → complete.js.haml_spec.rb} +9 -14
  362. data/spec/views/tasks/{create.rjs_spec.rb → create.js.haml_spec.rb} +25 -33
  363. data/spec/views/tasks/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -11
  364. data/spec/views/tasks/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +9 -14
  365. data/spec/views/tasks/index.haml_spec.rb +1 -2
  366. data/spec/views/tasks/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  367. data/spec/views/tasks/{update.rjs_spec.rb → update.js.haml_spec.rb} +28 -41
  368. data/spec/views/users/{avatar.rjs_spec.rb → avatar.js.haml_spec.rb} +7 -9
  369. data/spec/views/users/{change_password.rjs_spec.rb → change_password.js.haml_spec.rb} +10 -12
  370. data/spec/views/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +8 -10
  371. data/spec/views/users/{password.rjs_spec.rb → password.js.haml_spec.rb} +9 -11
  372. data/spec/views/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +7 -15
  373. data/spec/views/users/{upload_avatar.rjs_spec.rb → upload_avatar.js.haml_spec.rb} +8 -10
  374. data/vendor/assets/javascripts/ajax-chosen-jquery.js +2 -0
  375. data/vendor/assets/javascripts/ajax-chosen-prototype.js +2 -0
  376. data/vendor/assets/javascripts/ajax-chosen.jquery.coffee +81 -0
  377. data/vendor/assets/javascripts/ajax-chosen.proto.coffee +98 -0
  378. data/vendor/assets/javascripts/jquery_timeago/index.js +17 -0
  379. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js +18 -0
  380. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js +18 -0
  381. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js +20 -0
  382. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js +20 -0
  383. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js +18 -0
  384. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js +17 -0
  385. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js +17 -0
  386. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js +16 -0
  387. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js +19 -0
  388. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js +194 -0
  389. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js +31 -0
  390. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js +18 -0
  391. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js +34 -0
  392. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js +18 -0
  393. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js +20 -0
  394. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js +20 -0
  395. data/zeus.json +2 -1
  396. metadata +240 -245
  397. data/app/assets/images/delete.png +0 -0
  398. data/app/assets/images/iconset_attribution.png +0 -0
  399. data/app/views/accounts/create.js.rjs +0 -14
  400. data/app/views/accounts/destroy.js.rjs +0 -3
  401. data/app/views/accounts/edit.js.rjs +0 -33
  402. data/app/views/accounts/index.js.rjs +0 -8
  403. data/app/views/accounts/new.js.rjs +0 -9
  404. data/app/views/accounts/show.js.erb +0 -2
  405. data/app/views/accounts/update.js.rjs +0 -17
  406. data/app/views/admin/field_groups/confirm.js.rjs +0 -6
  407. data/app/views/admin/field_groups/create.js.rjs +0 -20
  408. data/app/views/admin/field_groups/destroy.js.rjs +0 -11
  409. data/app/views/admin/field_groups/edit.js.rjs +0 -14
  410. data/app/views/admin/field_groups/new.js.rjs +0 -9
  411. data/app/views/admin/field_groups/update.js.rjs +0 -9
  412. data/app/views/admin/fields/create.js.erb +0 -19
  413. data/app/views/admin/fields/destroy.js.erb +0 -9
  414. data/app/views/admin/fields/edit.js.erb +0 -1
  415. data/app/views/admin/fields/update.js.erb +0 -13
  416. data/app/views/admin/groups/create.js.rjs +0 -11
  417. data/app/views/admin/groups/destroy.js.rjs +0 -11
  418. data/app/views/admin/groups/edit.js.rjs +0 -21
  419. data/app/views/admin/groups/index.js.rjs +0 -2
  420. data/app/views/admin/groups/new.js.rjs +0 -9
  421. data/app/views/admin/groups/update.js.rjs +0 -10
  422. data/app/views/admin/tags/confirm.js.rjs +0 -6
  423. data/app/views/admin/tags/create.js.rjs +0 -12
  424. data/app/views/admin/tags/destroy.js.rjs +0 -11
  425. data/app/views/admin/tags/edit.js.rjs +0 -21
  426. data/app/views/admin/tags/new.js.rjs +0 -8
  427. data/app/views/admin/tags/update.js.rjs +0 -10
  428. data/app/views/admin/users/confirm.js.rjs +0 -6
  429. data/app/views/admin/users/create.js.rjs +0 -11
  430. data/app/views/admin/users/destroy.js.rjs +0 -11
  431. data/app/views/admin/users/edit.js.rjs +0 -21
  432. data/app/views/admin/users/index.js.rjs +0 -3
  433. data/app/views/admin/users/new.js.rjs +0 -8
  434. data/app/views/admin/users/reactivate.js.rjs +0 -3
  435. data/app/views/admin/users/suspend.js.rjs +0 -3
  436. data/app/views/admin/users/update.js.rjs +0 -10
  437. data/app/views/campaigns/create.js.rjs +0 -18
  438. data/app/views/campaigns/destroy.js.rjs +0 -3
  439. data/app/views/campaigns/edit.js.rjs +0 -34
  440. data/app/views/campaigns/index.js.rjs +0 -8
  441. data/app/views/campaigns/new.js.rjs +0 -9
  442. data/app/views/campaigns/show.js.erb +0 -2
  443. data/app/views/campaigns/update.js.rjs +0 -21
  444. data/app/views/comments/create.js.rjs +0 -11
  445. data/app/views/comments/destroy.js.rjs +0 -6
  446. data/app/views/comments/edit.js.rjs +0 -11
  447. data/app/views/comments/new.js.rjs +0 -14
  448. data/app/views/comments/update.js.rjs +0 -11
  449. data/app/views/contacts/create.js.rjs +0 -19
  450. data/app/views/contacts/destroy.js.rjs +0 -7
  451. data/app/views/contacts/edit.js.rjs +0 -36
  452. data/app/views/contacts/index.js.rjs +0 -8
  453. data/app/views/contacts/new.js.rjs +0 -11
  454. data/app/views/contacts/show.js.erb +0 -2
  455. data/app/views/contacts/update.js.rjs +0 -22
  456. data/app/views/emails/destroy.js.rjs +0 -6
  457. data/app/views/entities/attach.js.rjs +0 -24
  458. data/app/views/entities/contacts.js.rjs +0 -3
  459. data/app/views/entities/discard.js.rjs +0 -7
  460. data/app/views/entities/leads.js.rjs +0 -3
  461. data/app/views/entities/opportunities.js.rjs +0 -3
  462. data/app/views/entities/subscription_update.js.rjs +0 -4
  463. data/app/views/entities/versions.js.erb +0 -3
  464. data/app/views/fields/group.js.rjs +0 -7
  465. data/app/views/home/index.js.rjs +0 -7
  466. data/app/views/home/options.js.rjs +0 -8
  467. data/app/views/leads/convert.js.rjs +0 -37
  468. data/app/views/leads/create.js.rjs +0 -19
  469. data/app/views/leads/destroy.js.rjs +0 -7
  470. data/app/views/leads/edit.js.rjs +0 -36
  471. data/app/views/leads/index.js.rjs +0 -8
  472. data/app/views/leads/new.js.rjs +0 -9
  473. data/app/views/leads/promote.js.rjs +0 -27
  474. data/app/views/leads/reject.js.rjs +0 -10
  475. data/app/views/leads/show.js.erb +0 -2
  476. data/app/views/leads/update.js.rjs +0 -27
  477. data/app/views/lists/create.js.rjs +0 -9
  478. data/app/views/lists/destroy.js.rjs +0 -1
  479. data/app/views/opportunities/contacts.js.rjs +0 -3
  480. data/app/views/opportunities/create.js.rjs +0 -29
  481. data/app/views/opportunities/destroy.js.rjs +0 -11
  482. data/app/views/opportunities/edit.js.rjs +0 -36
  483. data/app/views/opportunities/index.js.rjs +0 -8
  484. data/app/views/opportunities/new.js.rjs +0 -12
  485. data/app/views/opportunities/show.js.erb +0 -2
  486. data/app/views/opportunities/update.js.rjs +0 -26
  487. data/app/views/tasks/complete.js.rjs +0 -17
  488. data/app/views/tasks/create.js.rjs +0 -41
  489. data/app/views/tasks/destroy.js.rjs +0 -7
  490. data/app/views/tasks/discard.rjs +0 -1
  491. data/app/views/tasks/edit.js.rjs +0 -23
  492. data/app/views/tasks/filter.js.rjs +0 -1
  493. data/app/views/tasks/new.js.rjs +0 -9
  494. data/app/views/tasks/update.js.rjs +0 -21
  495. data/app/views/users/avatar.js.rjs +0 -10
  496. data/app/views/users/change_password.js.rjs +0 -15
  497. data/app/views/users/edit.js.rjs +0 -10
  498. data/app/views/users/password.js.rjs +0 -11
  499. data/app/views/users/update.js.rjs +0 -10
  500. data/app/views/users/upload_avatar.js.rjs +0 -8
  501. data/lib/fat_free_crm/secret_token_generator.rb +0 -65
  502. data/spec/lib/secret_token_generator_spec.rb +0 -79
  503. data/spec/models/users/abilities/user_ability_spec.rb +0 -58
  504. data/spec/support/rjs_support.rb +0 -14
  505. data/vendor/assets/images/brief.png +0 -0
  506. data/vendor/assets/images/full.png +0 -0
  507. data/vendor/assets/images/long.png +0 -0
  508. data/vendor/assets/images/tab_icons/accounts.png +0 -0
  509. data/vendor/assets/images/tab_icons/accounts_active.png +0 -0
  510. data/vendor/assets/images/tab_icons/campaigns.png +0 -0
  511. data/vendor/assets/images/tab_icons/campaigns_active.png +0 -0
  512. data/vendor/assets/images/tab_icons/contacts.png +0 -0
  513. data/vendor/assets/images/tab_icons/contacts_active.png +0 -0
  514. data/vendor/assets/images/tab_icons/dashboard.png +0 -0
  515. data/vendor/assets/images/tab_icons/dashboard_active.png +0 -0
  516. data/vendor/assets/images/tab_icons/leads.png +0 -0
  517. data/vendor/assets/images/tab_icons/leads_active.png +0 -0
  518. data/vendor/assets/images/tab_icons/opportunities.png +0 -0
  519. data/vendor/assets/images/tab_icons/opportunities_active.png +0 -0
  520. data/vendor/assets/images/tab_icons/tasks.png +0 -0
  521. data/vendor/assets/images/tab_icons/tasks_active.png +0 -0
@@ -1,303 +1,326 @@
1
- # Russian localization for Ruby on Rails 2.2+
2
- # by Yaroslav Markin <yaroslav@markin.net>
3
- #
4
- # Be sure to check out "russian" gem (http://github.com/yaroslav/russian) for
5
- # full Russian language support in Rails (month names, pluralization, etc).
6
- # The following is an excerpt from that gem.
7
- #
8
- # Для полноценной поддержки русского языка (варианты названий месяцев,
9
- # плюрализация и так далее) в Rails 2.2 нужно использовать gem "russian"
10
- # (http://github.com/yaroslav/russian). Следующие данные -- выдержка их него, чтобы
11
- # была возможность минимальной локализации приложения на русский язык.
12
-
1
+ ---
13
2
  ru:
14
3
  date:
15
4
  formats:
16
- default: "%d.%m.%Y"
17
- short: "%d %b"
18
- long: "%d %B %Y"
19
-
20
- day_names: [воскресенье, понедельник, вторник, среда, четверг, пятница, суббота]
21
- standalone_day_names: [Воскресенье, Понедельник, Вторник, Среда, Четверг, Пятница, Суббота]
22
- abbr_day_names: [Вс, Пн, Вт, Ср, Чт, Пт, Сб]
23
-
24
- month_names: [~, января, февраля, марта, апреля, мая, июня, июля, августа, сентября, октября, ноября, декабря]
25
- # see russian gem for info on "standalone" day names
26
- standalone_month_names: [~, Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь]
27
- abbr_month_names: [~, янв., февр., марта, апр., мая, июня, июля, авг., сент., окт., нояб., дек.]
28
- standalone_abbr_month_names: [~, янв., февр., март, апр., май, июнь, июль, авг., сент., окт., нояб., дек.]
29
-
5
+ default: ! '%d.%m.%Y'
6
+ short: ! '%d %b'
7
+ long: ! '%d %B %Y'
8
+ day_names:
9
+ - воскресенье
10
+ - понедельник
11
+ - вторник
12
+ - среда
13
+ - четверг
14
+ - пятница
15
+ - суббота
16
+ standalone_day_names:
17
+ - Воскресенье
18
+ - Понедельник
19
+ - Вторник
20
+ - Среда
21
+ - Четверг
22
+ - Пятница
23
+ - Суббота
24
+ abbr_day_names:
25
+ - Вс
26
+ - Пн
27
+ - Вт
28
+ - Ср
29
+ - Чт
30
+ - Пт
31
+ - Сб
32
+ month_names:
33
+ -
34
+ - января
35
+ - февраля
36
+ - марта
37
+ - апреля
38
+ - мая
39
+ - июня
40
+ - июля
41
+ - августа
42
+ - сентября
43
+ - октября
44
+ - ноября
45
+ - декабря
46
+ standalone_month_names:
47
+ -
48
+ - Январь
49
+ - Февраль
50
+ - Март
51
+ - Апрель
52
+ - Май
53
+ - Июнь
54
+ - Июль
55
+ - Август
56
+ - Сентябрь
57
+ - Октябрь
58
+ - Ноябрь
59
+ - Декабрь
60
+ abbr_month_names:
61
+ -
62
+ - янв.
63
+ - февр.
64
+ - марта
65
+ - апр.
66
+ - мая
67
+ - июня
68
+ - июля
69
+ - авг.
70
+ - сент.
71
+ - окт.
72
+ - нояб.
73
+ - дек.
74
+ standalone_abbr_month_names:
75
+ -
76
+ - янв.
77
+ - февр.
78
+ - март
79
+ - апр.
80
+ - май
81
+ - июнь
82
+ - июль
83
+ - авг.
84
+ - сент.
85
+ - окт.
86
+ - нояб.
87
+ - дек.
30
88
  order:
31
- - :day
32
- - :month
33
- - :year
34
-
89
+ - :day
90
+ - :month
91
+ - :year
35
92
  time:
36
93
  formats:
37
- default: "%a, %d %b %Y, %H:%M:%S %z"
38
- short: "%d %b, %H:%M"
39
- long: "%d %B %Y, %H:%M"
40
-
41
- am: "утра"
42
- pm: "вечера"
43
-
94
+ default: ! '%a, %d %b %Y, %H:%M:%S %z'
95
+ short: ! '%d %b, %H:%M'
96
+ long: ! '%d %B %Y, %H:%M'
97
+ am: утра
98
+ pm: вечера
44
99
  number:
45
100
  format:
46
- separator: "."
47
- delimiter: " "
101
+ separator: .
102
+ delimiter: ! ' '
48
103
  precision: 3
49
104
  significant: false
50
105
  strip_insignificant_zeros: false
51
-
52
106
  currency:
53
107
  format:
54
- format: "%n %u"
55
- unit: "руб."
56
- separator: "."
57
- delimiter: " "
108
+ format: ! '%n %u'
109
+ unit: руб.
110
+ separator: .
111
+ delimiter: ! ' '
58
112
  precision: 2
59
113
  significant: false
60
114
  strip_insignificant_zeros: false
61
-
62
115
  percentage:
63
116
  format:
64
- delimiter: ""
65
-
117
+ delimiter: ''
66
118
  precision:
67
119
  format:
68
- delimiter: ""
69
-
120
+ delimiter: ''
70
121
  human:
71
122
  format:
72
- delimiter: ""
123
+ delimiter: ''
73
124
  precision: 1
74
125
  significant: false
75
126
  strip_insignificant_zeros: false
76
-
77
- # Rails 2.2
78
- # storage_units: [байт, КБ, МБ, ГБ, ТБ]
79
-
80
- # Rails 2.3
81
127
  storage_units:
82
- # Storage units output formatting.
83
- # %u is the storage unit, %n is the number (default: 2 MB)
84
- format: "%n %u"
128
+ format: ! '%n %u'
85
129
  units:
86
130
  byte:
87
- one: "байт"
88
- few: "байта"
89
- many: "байт"
90
- other: "байта"
91
- kb: "КБ"
92
- mb: "МБ"
93
- gb: "ГБ"
94
- tb: "ТБ"
95
-
96
- # Rails 3
131
+ one: байт
132
+ few: байта
133
+ many: байт
134
+ other: байта
135
+ kb: КБ
136
+ mb: МБ
137
+ gb: ГБ
138
+ tb: ТБ
97
139
  decimal_units:
98
- format: "%n %u"
140
+ format: ! '%n %u'
99
141
  units:
100
- unit: ""
142
+ unit: ''
101
143
  thousand:
102
- one: "Тысяча"
103
- few: "Тысяч"
104
- many: "Тысяч"
105
- other: "Тысяч"
144
+ one: Тысяча
145
+ few: Тысяч
146
+ many: Тысяч
147
+ other: Тысяч
106
148
  million:
107
- one: "Миллион"
108
- few: "Миллионов"
109
- many: "Миллионов"
110
- other: "Миллионов"
149
+ one: Миллион
150
+ few: Миллионов
151
+ many: Миллионов
152
+ other: Миллионов
111
153
  billion:
112
- one: "Миллиард"
113
- few: "Миллиардов"
114
- many: "Миллиардов"
115
- other: "Миллиардов"
154
+ one: Миллиард
155
+ few: Миллиардов
156
+ many: Миллиардов
157
+ other: Миллиардов
116
158
  trillion:
117
- one: "Триллион"
118
- few: "Триллионов"
119
- many: "Триллионов"
120
- other: "Триллионов"
159
+ one: Триллион
160
+ few: Триллионов
161
+ many: Триллионов
162
+ other: Триллионов
121
163
  quadrillion:
122
- one: "Квадриллион"
123
- few: "Квадриллионов"
124
- many: "Квадриллионов"
125
- other: "Квадриллионов"
126
-
164
+ one: Квадриллион
165
+ few: Квадриллионов
166
+ many: Квадриллионов
167
+ other: Квадриллионов
127
168
  datetime:
128
169
  distance_in_words:
129
- half_a_minute: "меньше минуты"
170
+ half_a_minute: меньше минуты
130
171
  less_than_x_seconds:
131
- one: "меньше %{count} секунды"
132
- few: "меньше %{count} секунд"
133
- many: "меньше %{count} секунд"
134
- other: "меньше %{count} секунды"
172
+ one: меньше %{count} секунды
173
+ few: меньше %{count} секунд
174
+ many: меньше %{count} секунд
175
+ other: меньше %{count} секунды
135
176
  x_seconds:
136
- one: "%{count} секунда"
137
- few: "%{count} секунды"
138
- many: "%{count} секунд"
139
- other: "%{count} секунды"
177
+ one: ! '%{count} секунда'
178
+ few: ! '%{count} секунды'
179
+ many: ! '%{count} секунд'
180
+ other: ! '%{count} секунды'
140
181
  less_than_x_minutes:
141
- one: "меньше %{count} минуты"
142
- few: "меньше %{count} минут"
143
- many: "меньше %{count} минут"
144
- other: "меньше %{count} минуты"
182
+ one: меньше %{count} минуты
183
+ few: меньше %{count} минут
184
+ many: меньше %{count} минут
185
+ other: меньше %{count} минуты
145
186
  x_minutes:
146
- one: "%{count} минуту"
147
- few: "%{count} минуты"
148
- many: "%{count} минут"
149
- other: "%{count} минуты"
187
+ one: ! '%{count} минуту'
188
+ few: ! '%{count} минуты'
189
+ many: ! '%{count} минут'
190
+ other: ! '%{count} минуты'
150
191
  about_x_hours:
151
- one: "около %{count} часа"
152
- few: "около %{count} часов"
153
- many: "около %{count} часов"
154
- other: "около %{count} часа"
192
+ one: около %{count} часа
193
+ few: около %{count} часов
194
+ many: около %{count} часов
195
+ other: около %{count} часа
155
196
  x_days:
156
- one: "%{count} день"
157
- few: "%{count} дня"
158
- many: "%{count} дней"
159
- other: "%{count} дня"
197
+ one: ! '%{count} день'
198
+ few: ! '%{count} дня'
199
+ many: ! '%{count} дней'
200
+ other: ! '%{count} дня'
160
201
  about_x_months:
161
- one: "около %{count} месяца"
162
- few: "около %{count} месяцев"
163
- many: "около %{count} месяцев"
164
- other: "около %{count} месяца"
202
+ one: около %{count} месяца
203
+ few: около %{count} месяцев
204
+ many: около %{count} месяцев
205
+ other: около %{count} месяца
165
206
  x_months:
166
- one: "%{count} месяц"
167
- few: "%{count} месяца"
168
- many: "%{count} месяцев"
169
- other: "%{count} месяца"
207
+ one: ! '%{count} месяц'
208
+ few: ! '%{count} месяца'
209
+ many: ! '%{count} месяцев'
210
+ other: ! '%{count} месяца'
170
211
  about_x_years:
171
- one: "около %{count} года"
172
- few: "около %{count} лет"
173
- many: "около %{count} лет"
174
- other: "около %{count} лет"
212
+ one: около %{count} года
213
+ few: около %{count} лет
214
+ many: около %{count} лет
215
+ other: около %{count} лет
175
216
  over_x_years:
176
- one: "больше %{count} года"
177
- few: "больше %{count} лет"
178
- many: "больше %{count} лет"
179
- other: "больше %{count} лет"
217
+ one: больше %{count} года
218
+ few: больше %{count} лет
219
+ many: больше %{count} лет
220
+ other: больше %{count} лет
180
221
  almost_x_years:
181
- one: "почти 1 год"
182
- other: "почти %{count} лет"
183
-
222
+ one: почти 1 год
223
+ other: почти %{count} лет
184
224
  prompts:
185
- year: "Год"
186
- month: "Месяц"
187
- day: "День"
188
- hour: "Часов"
189
- minute: "Минут"
190
- second: "Секунд"
191
-
225
+ year: Год
226
+ month: Месяц
227
+ day: День
228
+ hour: Часов
229
+ minute: Минут
230
+ second: Секунд
192
231
  helpers:
193
232
  select:
194
- # Default value for :prompt => true in FormOptionsHelper
195
- prompt: "Выберите: "
196
-
197
- # Default translation keys for submit FormHelper
233
+ prompt: ! 'Выберите: '
198
234
  submit:
199
- create: 'Создать %{model}'
200
- update: 'Сохранить %{model}'
201
- submit: 'Сохранить %{model}'
202
-
203
- # In rails 3 errors is top-level namespace
235
+ create: Создать %{model}
236
+ update: Сохранить %{model}
237
+ submit: Сохранить %{model}
204
238
  errors:
205
- format: "%{attribute} %{message}"
206
-
239
+ format: ! '%{attribute} %{message}'
207
240
  messages:
208
- inclusion: "имеет непредусмотренное значение"
209
- exclusion: "имеет зарезервированное значение"
210
- invalid: "имеет неверное значение"
211
- confirmation: "не совпадает с подтверждением"
212
- accepted: "нужно подтвердить"
213
- empty: "не может быть пустым"
214
- blank: "не может быть пустым"
241
+ inclusion: имеет непредусмотренное значение
242
+ exclusion: имеет зарезервированное значение
243
+ invalid: имеет неверное значение
244
+ confirmation: не совпадает с подтверждением
245
+ accepted: нужно подтвердить
246
+ empty: не может быть пустым
247
+ blank: не может быть пустым
215
248
  too_long:
216
- one: "слишком большой длины (не может быть больше чем %{count} символ)"
217
- few: "слишком большой длины (не может быть больше чем %{count} символа)"
218
- many: "слишком большой длины (не может быть больше чем %{count} символов)"
219
- other: "слишком большой длины (не может быть больше чем %{count} символа)"
249
+ one: слишком большой длины (не может быть больше чем %{count} символ)
250
+ few: слишком большой длины (не может быть больше чем %{count} символа)
251
+ many: слишком большой длины (не может быть больше чем %{count} символов)
252
+ other: слишком большой длины (не может быть больше чем %{count} символа)
220
253
  too_short:
221
- one: "недостаточной длины (не может быть меньше %{count} символа)"
222
- few: "недостаточной длины (не может быть меньше %{count} символов)"
223
- many: "недостаточной длины (не может быть меньше %{count} символов)"
224
- other: "недостаточной длины (не может быть меньше %{count} символа)"
254
+ one: недостаточной длины (не может быть меньше %{count} символа)
255
+ few: недостаточной длины (не может быть меньше %{count} символов)
256
+ many: недостаточной длины (не может быть меньше %{count} символов)
257
+ other: недостаточной длины (не может быть меньше %{count} символа)
225
258
  wrong_length:
226
- one: "неверной длины (может быть длиной ровно %{count} символ)"
227
- few: "неверной длины (может быть длиной ровно %{count} символа)"
228
- many: "неверной длины (может быть длиной ровно %{count} символов)"
229
- other: "неверной длины (может быть длиной ровно %{count} символа)"
230
- taken: "уже существует"
231
- not_a_number: "не является числом"
232
- not_an_integer: "не является целым числом"
233
- greater_than: "может иметь значение большее %{count}"
234
- greater_than_or_equal_to: "может иметь значение большее или равное %{count}"
235
- equal_to: "может иметь лишь значение, равное %{count}"
236
- less_than: "может иметь значение меньшее чем %{count}"
237
- less_than_or_equal_to: "может иметь значение меньшее или равное %{count}"
238
- odd: "может иметь лишь четное значение"
239
- even: "может иметь лишь нечетное значение"
240
- record_invalid: "Возникли ошибки: %{errors}"
241
-
259
+ one: неверной длины (может быть длиной ровно %{count} символ)
260
+ few: неверной длины (может быть длиной ровно %{count} символа)
261
+ many: неверной длины (может быть длиной ровно %{count} символов)
262
+ other: неверной длины (может быть длиной ровно %{count} символа)
263
+ taken: уже существует
264
+ not_a_number: не является числом
265
+ not_an_integer: не является целым числом
266
+ greater_than: может иметь значение большее %{count}
267
+ greater_than_or_equal_to: может иметь значение большее или равное %{count}
268
+ equal_to: может иметь лишь значение, равное %{count}
269
+ less_than: может иметь значение меньшее чем %{count}
270
+ less_than_or_equal_to: может иметь значение меньшее или равное %{count}
271
+ odd: может иметь лишь четное значение
272
+ even: может иметь лишь нечетное значение
273
+ record_invalid: ! 'Возникли ошибки: %{errors}'
242
274
  activerecord:
243
275
  errors:
244
276
  template:
245
277
  header:
246
- one: "%{model}: сохранение не удалось из-за %{count} ошибки"
247
- few: "%{model}: сохранение не удалось из-за %{count} ошибок"
248
- many: "%{model}: сохранение не удалось из-за %{count} ошибок"
249
- other: "%{model}: сохранение не удалось из-за %{count} ошибки"
250
-
251
- body: "Проблемы возникли со следующими полями:"
252
-
278
+ one: ! '%{model}: сохранение не удалось из-за %{count} ошибки'
279
+ few: ! '%{model}: сохранение не удалось из-за %{count} ошибок'
280
+ many: ! '%{model}: сохранение не удалось из-за %{count} ошибок'
281
+ other: ! '%{model}: сохранение не удалось из-за %{count} ошибки'
282
+ body: ! 'Проблемы возникли со следующими полями:'
253
283
  messages:
254
- inclusion: "имеет непредусмотренное значение"
255
- exclusion: "имеет зарезервированное значение"
256
- invalid: "имеет неверное значение"
257
- confirmation: "не совпадает с подтверждением"
258
- accepted: "нужно подтвердить"
259
- empty: "не может быть пустым"
260
- blank: "не может быть пустым"
284
+ inclusion: имеет непредусмотренное значение
285
+ exclusion: имеет зарезервированное значение
286
+ invalid: имеет неверное значение
287
+ confirmation: не совпадает с подтверждением
288
+ accepted: нужно подтвердить
289
+ empty: не может быть пустым
290
+ blank: не может быть пустым
261
291
  too_long:
262
- one: "слишком большой длины (не может быть больше чем %{count} символ)"
263
- few: "слишком большой длины (не может быть больше чем %{count} символа)"
264
- many: "слишком большой длины (не может быть больше чем %{count} символов)"
265
- other: "слишком большой длины (не может быть больше чем %{count} символа)"
292
+ one: слишком большой длины (не может быть больше чем %{count} символ)
293
+ few: слишком большой длины (не может быть больше чем %{count} символа)
294
+ many: слишком большой длины (не может быть больше чем %{count} символов)
295
+ other: слишком большой длины (не может быть больше чем %{count} символа)
266
296
  too_short:
267
- one: "недостаточной длины (не может быть меньше %{count} символа)"
268
- few: "недостаточной длины (не может быть меньше %{count} символов)"
269
- many: "недостаточной длины (не может быть меньше %{count} символов)"
270
- other: "недостаточной длины (не может быть меньше %{count} символа)"
297
+ one: недостаточной длины (не может быть меньше %{count} символа)
298
+ few: недостаточной длины (не может быть меньше %{count} символов)
299
+ many: недостаточной длины (не может быть меньше %{count} символов)
300
+ other: недостаточной длины (не может быть меньше %{count} символа)
271
301
  wrong_length:
272
- one: "неверной длины (может быть длиной ровно %{count} символ)"
273
- few: "неверной длины (может быть длиной ровно %{count} символа)"
274
- many: "неверной длины (может быть длиной ровно %{count} символов)"
275
- other: "неверной длины (может быть длиной ровно %{count} символа)"
276
- taken: "уже существует"
277
- not_a_number: "не является числом"
278
- greater_than: "может иметь значение большее %{count}"
279
- greater_than_or_equal_to: "может иметь значение большее или равное %{count}"
280
- equal_to: "может иметь лишь значение, равное %{count}"
281
- less_than: "может иметь значение меньшее чем %{count}"
282
- less_than_or_equal_to: "может иметь значение меньшее или равное %{count}"
283
- odd: "может иметь лишь четное значение"
284
- even: "может иметь лишь нечетное значение"
285
- record_invalid: "Возникли ошибки: %{errors}"
286
-
302
+ one: неверной длины (может быть длиной ровно %{count} символ)
303
+ few: неверной длины (может быть длиной ровно %{count} символа)
304
+ many: неверной длины (может быть длиной ровно %{count} символов)
305
+ other: неверной длины (может быть длиной ровно %{count} символа)
306
+ taken: уже существует
307
+ not_a_number: не является числом
308
+ greater_than: может иметь значение большее %{count}
309
+ greater_than_or_equal_to: может иметь значение большее или равное %{count}
310
+ equal_to: может иметь лишь значение, равное %{count}
311
+ less_than: может иметь значение меньшее чем %{count}
312
+ less_than_or_equal_to: может иметь значение меньшее или равное %{count}
313
+ odd: может иметь лишь четное значение
314
+ even: может иметь лишь нечетное значение
315
+ record_invalid: ! 'Возникли ошибки: %{errors}'
287
316
  full_messages:
288
- format: "%{attribute} %{message}"
289
-
290
-
317
+ format: ! '%{attribute} %{message}'
291
318
  support:
292
319
  select:
293
- prompt: "Выберите: "
294
-
320
+ prompt: ! 'Выберите: '
295
321
  array:
296
- # Rails 2.2
297
- sentence_connector: "и"
322
+ sentence_connector: и
298
323
  skip_last_comma: true
299
-
300
- # Rails 2.3
301
- words_connector: ", "
302
- two_words_connector: " и "
303
- last_word_connector: " и "
324
+ words_connector: ! ', '
325
+ two_words_connector: ! ' и '
326
+ last_word_connector: ! ' и '