fat_free_crm 0.13.6 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (534) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.travis.yml +8 -5
  4. data/CHANGELOG +26 -0
  5. data/Gemfile +26 -26
  6. data/Gemfile.lock +280 -250
  7. data/Guardfile +0 -1
  8. data/README.md +7 -9
  9. data/Rakefile +1 -1
  10. data/app/assets/javascripts/application.js.erb +1 -0
  11. data/app/assets/javascripts/crm.js.coffee +6 -7
  12. data/app/assets/javascripts/search.js.coffee +7 -1
  13. data/app/assets/stylesheets/about.css.scss +10 -0
  14. data/app/assets/stylesheets/application.css.erb +2 -0
  15. data/app/assets/stylesheets/common.scss +1 -1
  16. data/app/controllers/admin/application_controller.rb +3 -3
  17. data/app/controllers/admin/field_groups_controller.rb +12 -7
  18. data/app/controllers/admin/fields_controller.rb +21 -17
  19. data/app/controllers/admin/groups_controller.rb +10 -4
  20. data/app/controllers/admin/plugins_controller.rb +1 -2
  21. data/app/controllers/admin/settings_controller.rb +1 -2
  22. data/app/controllers/admin/tags_controller.rb +10 -4
  23. data/app/controllers/admin/users_controller.rb +32 -12
  24. data/app/controllers/application_controller.rb +58 -38
  25. data/app/controllers/authentications_controller.rb +5 -8
  26. data/app/controllers/comments_controller.rb +15 -11
  27. data/app/controllers/emails_controller.rb +1 -2
  28. data/app/controllers/entities/accounts_controller.rb +20 -20
  29. data/app/controllers/entities/campaigns_controller.rb +25 -22
  30. data/app/controllers/entities/contacts_controller.rb +25 -24
  31. data/app/controllers/entities/leads_controller.rb +33 -31
  32. data/app/controllers/entities/opportunities_controller.rb +31 -28
  33. data/app/controllers/entities_controller.rb +26 -22
  34. data/app/controllers/home_controller.rb +18 -18
  35. data/app/controllers/lists_controller.rb +11 -7
  36. data/app/controllers/passwords_controller.rb +5 -6
  37. data/app/controllers/tasks_controller.rb +23 -18
  38. data/app/controllers/users_controller.rb +31 -7
  39. data/app/helpers/accounts_helper.rb +40 -42
  40. data/app/helpers/addresses_helper.rb +1 -3
  41. data/app/helpers/admin/application_helper.rb +4 -4
  42. data/app/helpers/admin/field_groups_helper.rb +5 -7
  43. data/app/helpers/admin/fields_helper.rb +2 -3
  44. data/app/helpers/admin/plugins_helper.rb +0 -1
  45. data/app/helpers/admin/settings_helper.rb +0 -1
  46. data/app/helpers/admin/tags_helper.rb +1 -1
  47. data/app/helpers/admin/users_helper.rb +16 -18
  48. data/app/helpers/application_helper.rb +127 -119
  49. data/app/helpers/authentications_helper.rb +0 -1
  50. data/app/helpers/campaigns_helper.rb +5 -7
  51. data/app/helpers/comments_helper.rb +0 -1
  52. data/app/helpers/contacts_helper.rb +0 -1
  53. data/app/helpers/home_helper.rb +14 -14
  54. data/app/helpers/javascript_helper.rb +30 -0
  55. data/app/helpers/leads_helper.rb +7 -7
  56. data/app/helpers/opportunities_helper.rb +8 -10
  57. data/app/helpers/passwords_helper.rb +0 -1
  58. data/app/helpers/tags_helper.rb +1 -3
  59. data/app/helpers/tasks_helper.rb +24 -26
  60. data/app/helpers/users_helper.rb +6 -7
  61. data/app/helpers/versions_helper.rb +3 -5
  62. data/app/inputs/date_pair_input.rb +6 -7
  63. data/app/inputs/date_time_input.rb +3 -4
  64. data/app/inputs/datetime_pair_input.rb +0 -1
  65. data/app/inputs/text_input.rb +2 -2
  66. data/app/mailers/dropbox_mailer.rb +4 -7
  67. data/app/mailers/subscription_mailer.rb +4 -5
  68. data/app/mailers/user_mailer.rb +7 -9
  69. data/app/models/entities/account.rb +31 -28
  70. data/app/models/entities/account_contact.rb +2 -1
  71. data/app/models/entities/account_opportunity.rb +1 -1
  72. data/app/models/entities/campaign.rb +22 -19
  73. data/app/models/entities/contact.rb +55 -53
  74. data/app/models/entities/contact_opportunity.rb +1 -1
  75. data/app/models/entities/lead.rb +49 -41
  76. data/app/models/entities/opportunity.rb +38 -38
  77. data/app/models/fields/custom_field.rb +21 -27
  78. data/app/models/fields/custom_field_date_pair.rb +7 -8
  79. data/app/models/fields/custom_field_datetime_pair.rb +0 -2
  80. data/app/models/fields/custom_field_pair.rb +8 -10
  81. data/app/models/fields/field.rb +29 -30
  82. data/app/models/fields/field_group.rb +4 -4
  83. data/app/models/list.rb +1 -1
  84. data/app/models/observers/entity_observer.rb +1 -1
  85. data/app/models/observers/lead_observer.rb +1 -1
  86. data/app/models/observers/opportunity_observer.rb +1 -1
  87. data/app/models/observers/task_observer.rb +1 -1
  88. data/app/models/polymorphic/address.rb +7 -7
  89. data/app/models/polymorphic/avatar.rb +8 -9
  90. data/app/models/polymorphic/comment.rb +16 -10
  91. data/app/models/polymorphic/email.rb +13 -6
  92. data/app/models/polymorphic/tag.rb +2 -2
  93. data/app/models/polymorphic/task.rb +45 -45
  94. data/{config/initializers/paper_trail.rb → app/models/polymorphic/version.rb} +26 -31
  95. data/app/models/setting.rb +12 -17
  96. data/app/models/users/ability.rb +5 -6
  97. data/app/models/users/authentication.rb +6 -5
  98. data/app/models/users/group.rb +1 -3
  99. data/app/models/users/permission.rb +3 -3
  100. data/app/models/users/preference.rb +7 -7
  101. data/app/models/users/user.rb +36 -43
  102. data/app/views/accounts/_top_section.html.haml +2 -2
  103. data/app/views/accounts/edit.js.haml +0 -1
  104. data/app/views/admin/fields/_field.html.haml +1 -1
  105. data/app/views/admin/tags/_tag.html.haml +1 -1
  106. data/app/views/admin/users/_user.html.haml +4 -4
  107. data/app/views/campaigns/_top_section.html.haml +1 -1
  108. data/app/views/campaigns/edit.js.haml +0 -2
  109. data/app/views/contacts/_top_section.html.haml +1 -1
  110. data/app/views/contacts/edit.js.haml +0 -1
  111. data/app/views/entities/_basic_search.html.haml +1 -1
  112. data/app/views/home/_account.html.haml +2 -2
  113. data/app/views/home/_opportunity.html.haml +2 -2
  114. data/app/views/layouts/_about.html.haml +1 -1
  115. data/app/views/leads/_top_section.html.haml +1 -1
  116. data/app/views/leads/edit.js.haml +0 -2
  117. data/app/views/lists/_sidebar.html.haml +1 -1
  118. data/app/views/opportunities/_top_section.html.haml +2 -2
  119. data/app/views/opportunities/edit.js.haml +0 -1
  120. data/app/views/shared/_tags.html.haml +2 -1
  121. data/app/views/tasks/_edit.html.haml +2 -3
  122. data/app/views/tasks/_top_section.html.haml +1 -1
  123. data/app/views/users/_user.html.haml +2 -1
  124. data/app/views/users/opportunities_overview.html.haml +2 -2
  125. data/bin/bundle +3 -0
  126. data/bin/rails +4 -0
  127. data/bin/rake +4 -0
  128. data/config/application.rb +16 -33
  129. data/config/boot.rb +1 -1
  130. data/config/database.mysql.mac.yml +1 -0
  131. data/config/database.mysql.yml +1 -0
  132. data/config/database.postgres.docker.yml +1 -1
  133. data/config/database.postgres.yml +1 -0
  134. data/config/database.sqlite.yml +1 -0
  135. data/config/deploy.example.rb +3 -5
  136. data/config/environments/development.rb +13 -14
  137. data/config/environments/production.rb +8 -7
  138. data/config/environments/staging.rb +43 -41
  139. data/config/environments/test.rb +12 -14
  140. data/config/initializers/assets.rb +14 -0
  141. data/config/initializers/backtrace_silencers.rb +7 -0
  142. data/config/initializers/cookies_serializer.rb +3 -0
  143. data/config/initializers/custom_field_ransack_translations.rb +1 -1
  144. data/config/initializers/filter_parameter_logging.rb +4 -0
  145. data/config/initializers/inflections.rb +16 -0
  146. data/config/initializers/mime_types.rb +0 -1
  147. data/config/initializers/paginate_arrays.rb +0 -1
  148. data/config/initializers/ransack.rb +5 -5
  149. data/config/initializers/session_store.rb +5 -0
  150. data/config/initializers/simple_form.rb +1 -1
  151. data/config/initializers/views.rb +33 -33
  152. data/config/initializers/wrap_parameters.rb +14 -0
  153. data/config/locales/cz_fat_free_crm.yml +1 -1
  154. data/config/locales/de_fat_free_crm.yml +2 -2
  155. data/config/locales/en-GB_fat_free_crm.yml +2 -3
  156. data/config/locales/en-US_fat_free_crm.yml +2 -3
  157. data/config/locales/en.yml +23 -0
  158. data/config/locales/es-CL.yml +227 -0
  159. data/config/locales/es-CL_fat_free_crm.yml +929 -0
  160. data/config/locales/es-CL_ransack.yml +91 -0
  161. data/config/locales/es.yml +53 -59
  162. data/config/locales/es_fat_free_crm.yml +708 -370
  163. data/config/locales/es_ransack.yml +91 -0
  164. data/config/locales/fr-CA_fat_free_crm.yml +7 -7
  165. data/config/locales/fr_fat_free_crm.yml +285 -81
  166. data/config/locales/it_fat_free_crm.yml +1 -1
  167. data/config/locales/ja_fat_free_crm.yml +1 -1
  168. data/config/locales/nl.yml +210 -0
  169. data/config/locales/nl_fat_free_crm.yml +920 -0
  170. data/config/locales/nl_ransack.yml +91 -0
  171. data/config/locales/pl_fat_free_crm.yml +1 -1
  172. data/config/locales/pt-BR_fat_free_crm.yml +111 -38
  173. data/config/locales/ru_fat_free_crm.yml +3 -4
  174. data/config/locales/sv-SE_fat_free_crm.yml +1 -1
  175. data/config/locales/th.rb +157 -158
  176. data/config/locales/th_fat_free_crm.yml +1 -1
  177. data/config/locales/zh-CN_fat_free_crm.yml +3 -4
  178. data/config/routes.rb +93 -94
  179. data/config/unicorn.rb +25 -2
  180. data/custom_plan.rb +0 -2
  181. data/db/demo/accounts.yml +4 -5
  182. data/db/demo/addresses.yml +5 -5
  183. data/db/demo/campaigns.yml +2 -2
  184. data/db/demo/comments.yml +1 -1
  185. data/db/demo/contacts.yml +8 -8
  186. data/db/demo/emails.yml +5 -5
  187. data/db/demo/leads.yml +10 -10
  188. data/db/demo/opportunities.yml +2 -2
  189. data/db/demo/tasks.yml +2 -2
  190. data/db/demo/users.yml +12 -16
  191. data/db/migrate/20100928030598_create_sessions.rb +1 -2
  192. data/db/migrate/20100928030599_create_users.rb +24 -25
  193. data/db/migrate/20100928030600_create_openid_tables.rb +11 -12
  194. data/db/migrate/20100928030601_create_accounts.rb +14 -15
  195. data/db/migrate/20100928030602_create_permissions.rb +2 -3
  196. data/db/migrate/20100928030603_create_settings.rb +4 -5
  197. data/db/migrate/20100928030604_create_preferences.rb +3 -4
  198. data/db/migrate/20100928030605_create_campaigns.rb +19 -20
  199. data/db/migrate/20100928030606_create_leads.rb +26 -27
  200. data/db/migrate/20100928030607_create_contacts.rb +26 -27
  201. data/db/migrate/20100928030608_create_opportunities.rb +15 -16
  202. data/db/migrate/20100928030609_create_account_contacts.rb +2 -3
  203. data/db/migrate/20100928030610_create_account_opportunities.rb +2 -3
  204. data/db/migrate/20100928030611_create_contact_opportunities.rb +3 -4
  205. data/db/migrate/20100928030612_create_tasks.rb +14 -15
  206. data/db/migrate/20100928030613_create_comments.rb +6 -7
  207. data/db/migrate/20100928030614_create_activities.rb +6 -7
  208. data/db/migrate/20100928030615_create_avatars.rb +5 -6
  209. data/db/migrate/20100928030616_rename_remember_token.rb +0 -1
  210. data/db/migrate/20100928030617_drop_openid_tables.rb +11 -11
  211. data/db/migrate/20100928030618_add_admin_to_users.rb +1 -2
  212. data/db/migrate/20100928030619_add_suspended_to_users.rb +0 -1
  213. data/db/migrate/20100928030620_remove_uuid.rb +3 -3
  214. data/db/migrate/20100928030621_add_email_to_accounts.rb +1 -2
  215. data/db/migrate/20100928030622_add_background_info_to_models.rb +0 -1
  216. data/db/migrate/20100928030623_create_addresses.rb +14 -16
  217. data/db/migrate/20100928030624_add_index_on_permissions.rb +2 -3
  218. data/db/migrate/20100928030625_create_emails.rb +15 -16
  219. data/db/migrate/20100928030626_add_state_to_timeline_objects.rb +2 -3
  220. data/db/migrate/20100928030627_acts_as_taggable_on_migration.rb +2 -3
  221. data/db/migrate/20101221123456_add_single_access_token_to_users.rb +0 -1
  222. data/db/migrate/20101221345678_add_rating_and_category_to_accounts.rb +2 -3
  223. data/db/migrate/20110719082054_add_skype_to_contacts_and_leads.rb +2 -3
  224. data/db/migrate/20111101083437_create_fields.rb +14 -15
  225. data/db/migrate/20111101090312_create_field_groups.rb +4 -5
  226. data/db/migrate/20111116091952_add_field_groups_tag_id.rb +0 -1
  227. data/db/migrate/20111117041311_change_fields_collection_to_text.rb +0 -1
  228. data/db/migrate/20111201030535_add_field_groups_klass_name.rb +4 -4
  229. data/db/migrate/20120121054235_create_lists.rb +1 -1
  230. data/db/migrate/20120216031616_create_versions.rb +5 -5
  231. data/db/migrate/20120216042541_is_paranoid_to_paper_trail.rb +1 -3
  232. data/db/migrate/20120224073107_remove_default_value_and_clear_settings.rb +1 -1
  233. data/db/migrate/20120316045804_activities_to_versions.rb +6 -6
  234. data/db/migrate/20120405080727_change_subscribed_users_to_set.rb +5 -5
  235. data/db/migrate/20120405080742_change_further_subscribed_users_to_set.rb +5 -5
  236. data/db/migrate/20120406082136_create_groups.rb +1 -1
  237. data/db/migrate/20120510025219_add_not_null_constraints_for_timestamp_columns.rb +2 -1
  238. data/db/migrate/20120528102124_increase_length_of_version_events.rb +2 -2
  239. data/db/migrate/20121003063155_add_settings_to_custom_fields.rb +1 -1
  240. data/db/migrate/20121221033947_fix_country_mapping.rb +0 -1
  241. data/db/migrate/20131207033244_add_user_id_to_lists.rb +1 -1
  242. data/db/migrate/20141126031837_increase_email_to254_chars.rb +14 -14
  243. data/db/migrate/20141230021159_add_transaction_id_column_to_versions.rb +11 -0
  244. data/db/migrate/20141230205453_add_missing_unique_indices.acts_as_taggable_on_engine.rb +20 -0
  245. data/db/migrate/20141230205454_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  246. data/db/migrate/20141230205455_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  247. data/db/migrate/20150123060900_convert_radio_to_radio_buttons.rb +10 -0
  248. data/db/migrate/20150227123054_remove_last_request_at_from_users.rb +5 -0
  249. data/db/migrate/20150427131956_create_index_related_type.rb +9 -0
  250. data/db/migrate/20160511053730_add_account_contacts_index.rb +5 -0
  251. data/db/schema.rb +236 -228
  252. data/db/seeds.rb +1 -2
  253. data/db/seeds/fields.rb +36 -37
  254. data/{fig.yml → docker-compose.yml} +0 -0
  255. data/fat_free_crm.gemspec +31 -18
  256. data/lib/development_tasks/license.rake +29 -29
  257. data/lib/fat_free_crm.rb +1 -5
  258. data/lib/fat_free_crm/callback.rb +28 -20
  259. data/lib/fat_free_crm/comment_extensions.rb +1 -1
  260. data/lib/fat_free_crm/core_ext.rb +1 -1
  261. data/lib/fat_free_crm/core_ext/nil.rb +0 -3
  262. data/lib/fat_free_crm/core_ext/string.rb +7 -21
  263. data/lib/fat_free_crm/custom_fields.rb +2 -2
  264. data/lib/fat_free_crm/engine.rb +14 -0
  265. data/lib/fat_free_crm/errors.rb +0 -2
  266. data/lib/fat_free_crm/exceptions.rb +3 -4
  267. data/lib/fat_free_crm/export_csv.rb +0 -2
  268. data/lib/fat_free_crm/exportable.rb +5 -7
  269. data/lib/fat_free_crm/fields.rb +7 -8
  270. data/lib/fat_free_crm/gem_dependencies.rb +4 -1
  271. data/lib/fat_free_crm/gem_ext/active_record/schema_dumper.rb +2 -2
  272. data/lib/fat_free_crm/gem_ext/active_support/buffered_logger.rb +0 -3
  273. data/lib/fat_free_crm/gem_ext/rails/engine.rb +5 -12
  274. data/lib/fat_free_crm/gem_ext/rake/task.rb +1 -1
  275. data/lib/fat_free_crm/gem_ext/simple_form/action_view_extensions/form_helper.rb +1 -2
  276. data/lib/fat_free_crm/i18n.rb +2 -3
  277. data/lib/fat_free_crm/load_settings.rb +0 -2
  278. data/lib/fat_free_crm/mail_processor/base.rb +15 -16
  279. data/lib/fat_free_crm/mail_processor/comment_replies.rb +5 -10
  280. data/lib/fat_free_crm/mail_processor/dropbox.rb +56 -59
  281. data/lib/fat_free_crm/permissions.rb +18 -15
  282. data/lib/fat_free_crm/renderers.rb +2 -2
  283. data/lib/fat_free_crm/secret_token_generator.rb +3 -9
  284. data/lib/fat_free_crm/sortable.rb +4 -8
  285. data/lib/fat_free_crm/version.rb +2 -2
  286. data/lib/fat_free_crm/view_factory.rb +3 -8
  287. data/lib/gravatar_image_tag.rb +19 -24
  288. data/lib/missing_translation_detector.rb +10 -10
  289. data/lib/tasks/ffcrm/comment_replies.rake +3 -5
  290. data/lib/tasks/ffcrm/config.rake +3 -5
  291. data/lib/tasks/ffcrm/demo.rake +14 -16
  292. data/lib/tasks/ffcrm/dropbox.rake +3 -5
  293. data/lib/tasks/ffcrm/missing_translations.rake +1 -1
  294. data/lib/tasks/ffcrm/secret.rake +1 -3
  295. data/lib/tasks/ffcrm/settings.rake +2 -4
  296. data/lib/tasks/ffcrm/setup.rake +3 -6
  297. data/lib/tasks/ffcrm/update_data.rake +110 -116
  298. data/spec/controllers/admin/groups_controller_spec.rb +0 -1
  299. data/spec/controllers/admin/users_controller_spec.rb +98 -102
  300. data/spec/controllers/applications_controller_spec.rb +17 -21
  301. data/spec/controllers/authentications_controller_spec.rb +57 -61
  302. data/spec/controllers/comments_controller_spec.rb +32 -39
  303. data/spec/controllers/emails_controller_spec.rb +6 -7
  304. data/spec/controllers/entities/accounts_controller_spec.rb +204 -214
  305. data/spec/controllers/entities/campaigns_controller_spec.rb +210 -224
  306. data/spec/controllers/entities/contacts_controller_spec.rb +250 -270
  307. data/spec/controllers/entities/leads_controller_spec.rb +415 -438
  308. data/spec/controllers/entities/opportunities_controller_spec.rb +344 -359
  309. data/spec/controllers/entities_controller_spec.rb +10 -14
  310. data/spec/controllers/home_controller_spec.rb +85 -92
  311. data/spec/controllers/lists_controller_spec.rb +0 -1
  312. data/spec/controllers/passwords_controller_spec.rb +5 -9
  313. data/spec/controllers/tasks_controller_spec.rb +193 -210
  314. data/spec/controllers/users_controller_spec.rb +137 -146
  315. data/spec/factories/account_factories.rb +11 -13
  316. data/spec/factories/campaign_factories.rb +6 -6
  317. data/spec/factories/contact_factories.rb +21 -22
  318. data/spec/factories/field_factories.rb +8 -10
  319. data/spec/factories/lead_factories.rb +16 -16
  320. data/spec/factories/list_factories.rb +2 -2
  321. data/spec/factories/opportunity_factories.rb +8 -10
  322. data/spec/factories/sequences.rb +8 -9
  323. data/spec/factories/setting_factories.rb +2 -2
  324. data/spec/factories/shared_factories.rb +26 -30
  325. data/spec/factories/tag_factories.rb +1 -1
  326. data/spec/factories/task_factories.rb +11 -11
  327. data/spec/factories/user_factories.rb +22 -27
  328. data/spec/features/acceptance_helper.rb +1 -1
  329. data/spec/features/accounts_spec.rb +65 -61
  330. data/spec/features/admin/groups_spec.rb +11 -12
  331. data/spec/features/admin/users_spec.rb +17 -19
  332. data/spec/features/campaigns_spec.rb +61 -57
  333. data/spec/features/contacts_spec.rb +90 -59
  334. data/spec/features/dashboard_spec.rb +20 -21
  335. data/spec/features/leads_spec.rb +88 -67
  336. data/spec/features/opportunities_overview_spec.rb +31 -31
  337. data/spec/features/opportunities_spec.rb +64 -60
  338. data/spec/features/support/browser.rb +2 -2
  339. data/spec/features/support/headless.rb +1 -1
  340. data/spec/features/support/helpers.rb +5 -6
  341. data/spec/features/support/paths.rb +1 -2
  342. data/spec/features/support/selector_helpers.rb +2 -2
  343. data/spec/features/tasks_spec.rb +60 -54
  344. data/spec/helpers/accounts_helper_spec.rb +2 -5
  345. data/spec/helpers/admin/field_groups_helper_spec.rb +4 -4
  346. data/spec/helpers/admin/plugins_helper_spec.rb +0 -1
  347. data/spec/helpers/admin/settings_helper_spec.rb +0 -1
  348. data/spec/helpers/admin/users_helper_spec.rb +0 -1
  349. data/spec/helpers/application_helper_spec.rb +30 -33
  350. data/spec/helpers/authentications_helper_spec.rb +2 -5
  351. data/spec/helpers/campaigns_helper_spec.rb +2 -5
  352. data/spec/helpers/comments_helper_spec.rb +2 -5
  353. data/spec/helpers/contacts_helper_spec.rb +2 -5
  354. data/spec/helpers/emails_helper_spec.rb +0 -1
  355. data/spec/helpers/fields_helper_spec.rb +0 -1
  356. data/spec/helpers/groups_helper_spec.rb +0 -1
  357. data/spec/helpers/home_helper_spec.rb +2 -5
  358. data/spec/helpers/leads_helper_spec.rb +2 -5
  359. data/spec/helpers/lists_helper_spec.rb +0 -1
  360. data/spec/helpers/opportunities_helper_spec.rb +2 -5
  361. data/spec/helpers/passwords_helper_spec.rb +2 -5
  362. data/spec/helpers/tasks_helper_spec.rb +1 -5
  363. data/spec/helpers/users_helper_spec.rb +9 -11
  364. data/spec/lib/comment_extensions_spec.rb +3 -3
  365. data/spec/lib/core_ext/string_spec.rb +1 -1
  366. data/spec/lib/errors_spec.rb +10 -10
  367. data/spec/lib/fields_spec.rb +23 -33
  368. data/spec/lib/mail_processor/base_spec.rb +41 -43
  369. data/spec/lib/mail_processor/comment_replies_spec.rb +17 -17
  370. data/spec/lib/mail_processor/dropbox_spec.rb +91 -95
  371. data/spec/lib/mail_processor/sample_emails/dropbox.rb +13 -14
  372. data/spec/lib/permissions_spec.rb +44 -47
  373. data/spec/lib/secret_token_generator_spec.rb +16 -28
  374. data/spec/lib/view_factory_spec.rb +18 -24
  375. data/spec/mailers/subscription_mailer_spec.rb +14 -16
  376. data/spec/mailers/user_mailer_spec.rb +33 -34
  377. data/spec/models/entities/account_contact_spec.rb +2 -3
  378. data/spec/models/entities/account_opportunity_spec.rb +2 -3
  379. data/spec/models/entities/account_spec.rb +52 -59
  380. data/spec/models/entities/campaign_spec.rb +32 -39
  381. data/spec/models/entities/contact_opportunity_spec.rb +2 -3
  382. data/spec/models/entities/contact_spec.rb +71 -72
  383. data/spec/models/entities/lead_spec.rb +15 -22
  384. data/spec/models/entities/opportunity_spec.rb +104 -103
  385. data/spec/models/fields/custom_field_date_pair_spec.rb +38 -44
  386. data/spec/models/fields/custom_field_pair_spec.rb +28 -36
  387. data/spec/models/fields/custom_field_spec.rb +50 -56
  388. data/spec/models/fields/field_group_spec.rb +1 -2
  389. data/spec/models/fields/field_spec.rb +13 -15
  390. data/spec/models/list_spec.rb +4 -4
  391. data/spec/models/observers/entity_observer_spec.rb +18 -21
  392. data/spec/models/polymorphic/address_spec.rb +1 -3
  393. data/spec/models/polymorphic/avatar_spec.rb +6 -8
  394. data/spec/models/polymorphic/comment_spec.rb +7 -9
  395. data/spec/models/polymorphic/email_spec.rb +1 -2
  396. data/spec/models/polymorphic/task_spec.rb +130 -142
  397. data/spec/models/polymorphic/version_spec.rb +84 -91
  398. data/spec/models/setting_spec.rb +17 -19
  399. data/spec/models/users/abilities/user_ability_spec.rb +25 -20
  400. data/spec/models/users/authentication_spec.rb +0 -1
  401. data/spec/models/users/group_spec.rb +0 -1
  402. data/spec/models/users/permission_spec.rb +12 -13
  403. data/spec/models/users/preference_spec.rb +15 -15
  404. data/spec/models/users/user_spec.rb +53 -55
  405. data/spec/routing/accounts_routing_spec.rb +12 -14
  406. data/spec/routing/admin/users_routing_spec.rb +7 -9
  407. data/spec/routing/campaigns_routing_spec.rb +13 -14
  408. data/spec/routing/comments_routing_spec.rb +5 -6
  409. data/spec/routing/contacts_routing_spec.rb +12 -14
  410. data/spec/routing/emails_routing_spec.rb +7 -8
  411. data/spec/routing/leads_routing_spec.rb +19 -21
  412. data/spec/routing/opportunities_routing_spec.rb +13 -15
  413. data/spec/routing/tasks_routing_spec.rb +14 -15
  414. data/spec/routing/users_routing_spec.rb +18 -19
  415. data/spec/shared/controllers.rb +35 -35
  416. data/spec/shared/models.rb +52 -55
  417. data/spec/spec_helper.rb +21 -42
  418. data/spec/support/assert_select.rb +19 -18
  419. data/spec/support/auth_macros.rb +3 -3
  420. data/spec/support/macros.rb +5 -6
  421. data/spec/support/mail_processor_mocks.rb +11 -11
  422. data/spec/views/accounts/_edit.haml_spec.rb +9 -9
  423. data/spec/views/accounts/_new.haml_spec.rb +8 -9
  424. data/spec/views/accounts/create.js.haml_spec.rb +11 -12
  425. data/spec/views/accounts/destroy.js.haml_spec.rb +6 -7
  426. data/spec/views/accounts/edit.js.haml_spec.rb +12 -13
  427. data/spec/views/accounts/index.haml_spec.rb +8 -8
  428. data/spec/views/accounts/index.js.haml_spec.rb +7 -8
  429. data/spec/views/accounts/new.js.haml_spec.rb +7 -8
  430. data/spec/views/accounts/show.haml_spec.rb +11 -12
  431. data/spec/views/accounts/update.js.haml_spec.rb +18 -18
  432. data/spec/views/admin/field_groups/create.js.haml_spec.rb +8 -10
  433. data/spec/views/admin/field_groups/destroy.js.haml_spec.rb +7 -9
  434. data/spec/views/admin/field_groups/edit.js.haml_spec.rb +5 -7
  435. data/spec/views/admin/field_groups/new.js.haml_spec.rb +6 -8
  436. data/spec/views/admin/field_groups/update.js.haml_spec.rb +7 -9
  437. data/spec/views/admin/users/_create.haml_spec.rb +4 -4
  438. data/spec/views/admin/users/create.js.haml_spec.rb +8 -9
  439. data/spec/views/admin/users/destroy.js.haml_spec.rb +6 -6
  440. data/spec/views/admin/users/edit.js.haml_spec.rb +7 -9
  441. data/spec/views/admin/users/index.haml_spec.rb +4 -5
  442. data/spec/views/admin/users/index.js.haml_spec.rb +6 -8
  443. data/spec/views/admin/users/new.js.haml_spec.rb +4 -6
  444. data/spec/views/admin/users/reactivate.js.haml_spec.rb +4 -4
  445. data/spec/views/admin/users/show.haml_spec.rb +0 -1
  446. data/spec/views/admin/users/suspend.js.haml_spec.rb +4 -4
  447. data/spec/views/admin/users/update.js.haml_spec.rb +6 -7
  448. data/spec/views/application/auto_complete.haml_spec.rb +12 -14
  449. data/spec/views/authentications/new.haml_spec.rb +6 -7
  450. data/spec/views/campaigns/_edit.haml_spec.rb +9 -9
  451. data/spec/views/campaigns/_new.haml_spec.rb +8 -8
  452. data/spec/views/campaigns/create.js.haml_spec.rb +11 -12
  453. data/spec/views/campaigns/destroy.js.haml_spec.rb +7 -8
  454. data/spec/views/campaigns/edit.js.haml_spec.rb +12 -20
  455. data/spec/views/campaigns/index.haml_spec.rb +6 -7
  456. data/spec/views/campaigns/index.js.haml_spec.rb +9 -10
  457. data/spec/views/campaigns/new.js.haml_spec.rb +7 -8
  458. data/spec/views/campaigns/show.haml_spec.rb +12 -13
  459. data/spec/views/campaigns/update.js.haml_spec.rb +16 -16
  460. data/spec/views/comments/edit.js.haml_spec.rb +7 -7
  461. data/spec/views/contacts/_edit.haml_spec.rb +21 -21
  462. data/spec/views/contacts/_new.haml_spec.rb +12 -13
  463. data/spec/views/contacts/create.js.haml_spec.rb +12 -13
  464. data/spec/views/contacts/destroy.js.haml_spec.rb +6 -7
  465. data/spec/views/contacts/edit.js.haml_spec.rb +15 -17
  466. data/spec/views/contacts/index.haml_spec.rb +6 -7
  467. data/spec/views/contacts/index.js.html_spec.rb +7 -8
  468. data/spec/views/contacts/new.js.haml_spec.rb +8 -9
  469. data/spec/views/contacts/show.haml_spec.rb +9 -10
  470. data/spec/views/contacts/update.js.haml_spec.rb +26 -26
  471. data/spec/views/home/index.haml_spec.rb +4 -5
  472. data/spec/views/home/index.js.haml_spec.rb +6 -7
  473. data/spec/views/home/options.js.haml_spec.rb +10 -10
  474. data/spec/views/leads/_convert.haml_spec.rb +5 -6
  475. data/spec/views/leads/_edit.haml_spec.rb +13 -13
  476. data/spec/views/leads/_new.haml_spec.rb +11 -11
  477. data/spec/views/leads/_sidebar_show.haml_spec.rb +9 -9
  478. data/spec/views/leads/convert.js.haml_spec.rb +16 -17
  479. data/spec/views/leads/create.js.haml_spec.rb +16 -17
  480. data/spec/views/leads/destroy.js.haml_spec.rb +10 -11
  481. data/spec/views/leads/edit.js.haml_spec.rb +16 -17
  482. data/spec/views/leads/index.haml_spec.rb +7 -8
  483. data/spec/views/leads/index.js.haml_spec.rb +10 -11
  484. data/spec/views/leads/new.js.haml_spec.rb +8 -9
  485. data/spec/views/leads/promote.js.haml_spec.rb +30 -31
  486. data/spec/views/leads/reject.js.haml_spec.rb +10 -11
  487. data/spec/views/leads/show.haml_spec.rb +7 -8
  488. data/spec/views/leads/update.js.haml_spec.rb +28 -29
  489. data/spec/views/opportunities/_edit.haml_spec.rb +19 -19
  490. data/spec/views/opportunities/_new.haml_spec.rb +10 -10
  491. data/spec/views/opportunities/create.js.haml_spec.rb +19 -20
  492. data/spec/views/opportunities/destroy.js.haml_spec.rb +14 -15
  493. data/spec/views/opportunities/edit.js.haml_spec.rb +14 -16
  494. data/spec/views/opportunities/index.haml_spec.rb +6 -7
  495. data/spec/views/opportunities/index.js.haml_spec.rb +7 -8
  496. data/spec/views/opportunities/new.js.haml_spec.rb +8 -9
  497. data/spec/views/opportunities/show.haml_spec.rb +9 -10
  498. data/spec/views/opportunities/update.js.haml_spec.rb +35 -35
  499. data/spec/views/tasks/_edit.haml_spec.rb +9 -9
  500. data/spec/views/tasks/complete.js.haml_spec.rb +11 -12
  501. data/spec/views/tasks/create.js.haml_spec.rb +29 -31
  502. data/spec/views/tasks/destroy.js.haml_spec.rb +8 -8
  503. data/spec/views/tasks/edit.js.haml_spec.rb +12 -15
  504. data/spec/views/tasks/index.haml_spec.rb +7 -7
  505. data/spec/views/tasks/new.js.haml_spec.rb +7 -8
  506. data/spec/views/tasks/uncomplete.js.haml_spec.rb +6 -6
  507. data/spec/views/tasks/update.js.haml_spec.rb +41 -44
  508. data/spec/views/users/avatar.js.haml_spec.rb +7 -8
  509. data/spec/views/users/change_password.js.haml_spec.rb +9 -10
  510. data/spec/views/users/edit.js.haml_spec.rb +7 -8
  511. data/spec/views/users/password.js.haml_spec.rb +8 -9
  512. data/spec/views/users/update.js.haml_spec.rb +6 -7
  513. data/spec/views/users/upload_avatar.js.haml_spec.rb +9 -9
  514. data/vendor/assets/javascripts/jquery_timeago/index.js +2 -0
  515. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es-CL.js +18 -0
  516. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.nl.js +20 -0
  517. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es-CL.js +20 -0
  518. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es-CL.js +23 -0
  519. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-nl.js +21 -0
  520. data/vendor/assets/stylesheets/{jquery-ui.custom.css → jquery-ui.custom.scss} +52 -51
  521. data/vendor/gems/globby-0.1.2/LICENSE.txt +20 -0
  522. data/vendor/gems/globby-0.1.2/README.md +65 -0
  523. data/vendor/gems/globby-0.1.2/Rakefile +9 -0
  524. data/vendor/gems/globby-0.1.2/lib/globby.rb +47 -0
  525. data/vendor/gems/globby-0.1.2/lib/globby/glob.rb +90 -0
  526. data/vendor/gems/globby-0.1.2/lib/globby/globject.rb +18 -0
  527. data/vendor/gems/globby-0.1.2/lib/globby/result.rb +20 -0
  528. data/vendor/gems/globby-0.1.2/spec/gitignore_spec.rb +109 -0
  529. data/vendor/gems/globby-0.1.2/spec/globby_spec.rb +93 -0
  530. metadata +177 -55
  531. data/Gemfile.ci +0 -13
  532. data/config/initializers/sass.rb +0 -18
  533. data/lib/country_select.rb +0 -570
  534. data/lib/fat_free_crm/plugin.rb +0 -94
@@ -0,0 +1,91 @@
1
+ ---
2
+ es:
3
+ ransack:
4
+ search: buscar
5
+ predicate: predicado
6
+ and: y
7
+ or: o
8
+ any: algún
9
+ all: todos
10
+ combinator: combinador
11
+ attribute: atributo
12
+ value: valor
13
+ condition: condición
14
+ sort: ordenar
15
+ asc: ascendente
16
+ desc: descendente
17
+ submit: Buscar
18
+ add_group: Añadir un grupo de filtros
19
+ group_first: Mostrando resultados donde %{combinator} de las siguientes coincidencias
20
+ group_rest: ! '...y donde %{combinator} de las siguientes coincidencias'
21
+ add_condition: Añadir un filtro
22
+ remove_condition: Borrar un filtro
23
+ predicates:
24
+ eq: es
25
+ eq_any: es cualquier
26
+ eq_all: es todo
27
+ not_eq: no es
28
+ not_eq_any: no es ninguna
29
+ not_eq_all: no es todo
30
+ matches: coincidencias
31
+ matches_any: coincide con cualquiera
32
+ matches_all: coincide con todos
33
+ does_not_match: no coincide
34
+ does_not_match_any: no coincide ninguno
35
+ does_not_match_all: no coincide todos
36
+ lt: es menor que
37
+ lt_any: es menor que cualquiera
38
+ lt_all: es menor que todos
39
+ lteq: es menor o igual que
40
+ lteq_any: es menor o igual que cualquiera
41
+ lteq_all: es menor o igual que todos
42
+ gt: es mayor que
43
+ gt_any: es mayor que cualquiera
44
+ gt_all: es mayor que todos
45
+ gteq: es mayor o igual que
46
+ gteq_any: es mayor o igual que cualquiera
47
+ gteq_all: es mayor o igual que todos
48
+ in: esta en
49
+ in_any: esta en cualquiera
50
+ in_all: esta en todos
51
+ not_in: no esta en
52
+ not_in_any: no esta en ninguno
53
+ not_in_all: no esta en todos
54
+ cont: contiene
55
+ cont_any: contiene algún
56
+ cont_all: contiene todos
57
+ not_cont: no contiene
58
+ not_cont_any: no contiene ningún
59
+ not_cont_all: no contiene todo
60
+ start: empieza con
61
+ start_any: empieza con cualquiera
62
+ start_all: empieza con todo
63
+ not_start: no empieza con
64
+ not_start_any: no empieza con cualquiera
65
+ not_start_all: no empieza con todo
66
+ end: termina con
67
+ end_any: termina con cualquiera
68
+ end_all: termina con todo
69
+ not_end: no termina con
70
+ not_end_any: no termina con ninguna
71
+ not_end_all: no termina con todas
72
+ 'true': es cierto
73
+ 'false': es falso
74
+ present: esta presente
75
+ blank: es blanco
76
+ 'null': es nulo
77
+ not_null: no es nulo
78
+ alt:
79
+ date:
80
+ lt: es antes
81
+ lt_any: es antes de cualquier
82
+ lt_all: es antes de todos
83
+ lteq: es antes o en
84
+ lteq_any: es antes o en cualquier
85
+ lteq_all: es antes o en todos
86
+ gt: es después
87
+ gt_any: es después de cualquier
88
+ gt_all: es despueś de todos
89
+ gteq: es despueś o en
90
+ gteq_any: es despueś o en cualquier
91
+ gteq_all: es despueś o en todos
@@ -373,7 +373,7 @@ fr-CA:
373
373
  total_leads: Total des pistes
374
374
  amount: Montant
375
375
  close_date: Date de clôture
376
- closed_ago_on: clôturé il y à%{time_ago} le %{date}
376
+ closed_ago_on: clôturé il y a%{time_ago} le %{date}
377
377
  closes_today: doit être clôturé aujourd'hui!
378
378
  closing_date: la date de clôture est %{value}
379
379
  create_opportunity: Créer une opportunité
@@ -424,8 +424,8 @@ fr-CA:
424
424
  task_assigned_to: et assignée à %{value}
425
425
  task_completed: complétée
426
426
  task_uncomplete: Revenir
427
- task_completed_ago: complétée il y à %{value}
428
- task_completed_by: complétée il y à %{time_ago} par %{user}
427
+ task_completed_ago: complétée il y a %{value}
428
+ task_completed_by: complétée il y a %{time_ago} par %{user}
429
429
  task_created: La tâche à été crée.
430
430
  task_due_in: échéance dans %{value}
431
431
  task_due_later: a faire bientôt
@@ -462,8 +462,8 @@ fr-CA:
462
462
  add_note: Ajouter une note
463
463
  save_note: Enregistrer la note
464
464
  add_note_help: Ajouter une nouvelle note...
465
- added_ago: ajoutée il y à %{value}
466
- added_by: ajoutée il y à %{time_ago} par %{user}
465
+ added_ago: ajoutée il y a %{value}
466
+ added_by: ajoutée il y a %{time_ago} par %{user}
467
467
  back: Retour
468
468
  cancel: Annuler
469
469
  close_form: Fermer le formulaire
@@ -489,7 +489,7 @@ fr-CA:
489
489
  please_retry: tentez une autre requête.
490
490
  recent_items: Objets récents
491
491
  search_assets: Recherche de %{value}
492
- time_ago: il y à %{value}
492
+ time_ago: il y a %{value}
493
493
  about: A propos
494
494
  about_dev_group: Groupe de discussion développeur
495
495
  about_features: Fonctionnalités et bugs
@@ -517,7 +517,7 @@ fr-CA:
517
517
  crm_admin_page: Administration Fat Free CRM
518
518
  approve: Approuver
519
519
  create_user: Créer un utilisateur
520
- last_seen: vu pour la dernière fois il y à %{value}
520
+ last_logged_in: last logged in %{value}
521
521
  personal_information: Informations personnelles
522
522
  reactivate: Réactiver
523
523
  save_user: Enregistrer l'utilisateur
@@ -1,12 +1,10 @@
1
- # French I18n file for Fat Free CRM
2
- # Translation by Cédric Brancourt aka Electron-libre
3
- # cedric.brancourt@gmail.com
4
- # Updated by David Keita aka ManInGA
5
- # maninga@gmail.com
6
-
7
1
  ---
8
2
  fr:
9
3
  language: Français
4
+
5
+ # Generic terms.
6
+ #----------------------------------------------------------------------------
7
+ id: Id
10
8
  all: Tous
11
9
  at: à
12
10
  here: ici
@@ -16,6 +14,10 @@ fr:
16
14
  select_none: -- Aucun --
17
15
  select_blank: -- Sélectionnez --
18
16
  yes_button: Oui
17
+
18
+
19
+ # Settings.
20
+ #----------------------------------------------------------------------------
19
21
  tab_dashboard: Tableau de bord
20
22
  tab_tasks: Tâches
21
23
  tab_campaigns: Campagnes
@@ -23,30 +25,32 @@ fr:
23
25
  tab_accounts: Comptes
24
26
  tab_contacts: Contacts
25
27
  tab_opportunities: Opportunités
28
+ tab_team: Equipe
29
+ admin_tab_groups: Groupes
26
30
  admin_tab_users: Utilisateurs
27
31
  admin_tab_fields: Champs Personnalisés
28
32
  admin_tab_tags: Tags
29
33
  admin_tab_settings: Paramètres
30
34
  admin_tab_plugins: Plugins
31
35
  affiliate: Affilié
32
- competitor: Concurrent
36
+ competitor: Compétiteur
33
37
  customer: Client
34
- partner: Partenaire adm
38
+ partner: Partenaire
35
39
  reseller: Revendeur
36
40
  vendor: Vendeur
37
41
  planned: Planifié
38
42
  started: Démarré
39
43
  on_hold: En attente
40
- completed: Complétée
44
+ completed: Complété
41
45
  called_off: Abandonné
42
46
  new: Nouvelle
43
47
  contacted: Contactée
44
48
  converted: Convertie
45
49
  rejected: Rejetée
46
- cold_call: Appel entrant
50
+ cold_call: Appel spontané
47
51
  conference: Conférence
48
52
  online: Marketing web
49
- referral: Référant
53
+ referral: Référent
50
54
  self: Interne
51
55
  web: Website
52
56
  word_of_mouth: Bouche à oreille
@@ -55,12 +59,12 @@ fr:
55
59
  analysis: Analyse
56
60
  presentation: Présentation
57
61
  proposal: Proposition
58
- negotiation: Négociation
62
+ negotiation: Négotiation
59
63
  final_review: Examen final
60
64
  won: Clôturée/Gagnée
61
65
  lost: Clôturée/Perdue
62
66
  call: Appel
63
- email: E-mail
67
+ email: Email
64
68
  follow_up: Suivi
65
69
  lunch: Dîner
66
70
  meeting: Réunion
@@ -74,17 +78,23 @@ fr:
74
78
  due_next_week: La semaine prochaine
75
79
  due_later: Plus tard
76
80
  due_specific_date: A la date précise...
77
- completed_today: Ajourd'hui
81
+ completed_today: Aujourd'hui
78
82
  completed_yesterday: Hier
79
83
  completed_last_week: La semaine dernière
80
84
  completed_this_month: Ce mois
81
85
  completed_last_month: Le mois dernier
86
+
87
+ # Models/Activity.
88
+ #----------------------------------------------------------------------------
82
89
  one_hour: Une heure
83
90
  one_day: Un jour
84
91
  two_days: Deux jours
85
92
  one_week: Une semaine
86
93
  two_weeks: Deux semaines
87
94
  one_month: Un mois
95
+
96
+ # Model Validations.
97
+ #----------------------------------------------------------------------------
88
98
  activerecord:
89
99
  errors:
90
100
  models:
@@ -145,15 +155,40 @@ fr:
145
155
  email:
146
156
  missing_email: ^Précisez une adresse e-mail
147
157
  email_in_use: ^Un utilisateur existe déjà avec cette adresse.
158
+ custom_field:
159
+ required: ^%{field} est requis.
160
+ maxlength: ^%{field} est trop long.
161
+ endbeforestart: ^%{field} ne peut pas finir avoir d'avoir démarré.
162
+ attribute_options:
163
+ opportunity:
164
+ stage:
165
+ prospecting: Prospection
166
+ analysis: Analyse
167
+ presentation: Présentation
168
+ proposal: Proposition
169
+ negotiation: Négotiation
170
+ final_review: Examen final
171
+ won: Clôturée/Gagnée
172
+ lost: Clôturée/Perdue
173
+ account:
174
+ rating:
175
+ "0": "-"
176
+ "1": "★"
177
+ "2": "★★"
178
+ "3": "★★★"
179
+ "4": "★★★★"
180
+ "5": "★★★★★"
181
+
148
182
  msg_account_suspended: Ce compte utilisateur a été suspendu.
149
183
  password_reset_instruction: instructions de réinitialisation du mot de passe
184
+
185
+ # Controllers.
186
+ #----------------------------------------------------------------------------
150
187
  msg_account_created: Votre compte a été créé, il est en attente d'approbation par
151
- l'administrateur
152
- msg_account_not_approved: Votre compte n'à pas encore été approuvé
153
- msg_asset_deleted: ! '%{value} à été supprimé'
188
+ system administrator.
189
+ msg_account_not_approved: Votre compte n'a pas encore été approuvé.
190
+ msg_asset_deleted: ! '%{value} a été supprimé.'
154
191
  msg_asset_not_available: Ce %{value} n'est plus disponible.
155
- msg_asset_not_authorized: Vous n'êtes pas autorisé à accéder à ce/cette %{value}.
156
- msg_assets_not_available: Les %{value} ne sont pas disponibles.
157
192
  msg_asset_rejected: ! '%{value} à été rejetée.'
158
193
  msg_bad_image_file: ^Nous n'avons pas pu télécharger ou redimensionner votre image.
159
194
  msg_cant_create_related: Impossible de crée le %{asset} puisque le %{related} n'est
@@ -177,6 +212,11 @@ fr:
177
212
  msg_require_admin: Vous devez être administrateur pour accéder a cette page
178
213
  msg_successful_signup: Enregistrement réussi. Bienvenu dans Fat Free CRM
179
214
  msg_welcome: Bienvenue dans Fat Free CRM
215
+ msg_not_authorized: Vous n'êtes pas authorisé à réaliser cette action.
216
+ msg_assets_not_available: Le %{value} n'est pas disponible.
217
+
218
+ # Options.
219
+ #----------------------------------------------------------------------------
180
220
  option_amount*probability: Montant pondéré
181
221
  activity_options: Voir les %{action_type} %{models} effectuées par %{user} dans
182
222
  les derniers %{period}.
@@ -207,6 +247,17 @@ fr:
207
247
  sort_by: Trier par %{field}.
208
248
  sort_by_displaying: Trier les %{models} par %{field} et afficher le prénom %{position}
209
249
  le nom.
250
+ entities_per_page: ! '%{entity} par page:'
251
+ contacts_index_long: Format long
252
+ contacts_index_brief: Format court
253
+ contacts_index_full: Format entier
254
+ opportunities_index_normal: Format normal
255
+ accounts_index_normal: Format normal
256
+ leads_index_normal: Format normal
257
+ campaigns_index_normal: Format normal
258
+
259
+ # Views -> Profile.
260
+ #----------------------------------------------------------------------------
210
261
  aim: AOL IM
211
262
  already_signed_up: Déjà inscrit?
212
263
  alt_email: e-mail secondaire
@@ -242,15 +293,26 @@ fr:
242
293
  user: Utilisateur
243
294
  username: Nom d'utilisateur
244
295
  yahoo: Yahoo IM
296
+ born_on: Né le
297
+ reports_to: Rends compte à
298
+ access: Accès
299
+
300
+ # Views -> Authenticate.
301
+ #----------------------------------------------------------------------------
245
302
  forgot_password: Mot de passe oublié
246
303
  login: Se connecter
247
304
  no_account: Vous n'avez pas de compte?
248
305
  remember_me: Se souvenir de moi
249
306
  sign_up_now: Créez le maintenant!
307
+
308
+ # Views -> Accounts.
309
+ #----------------------------------------------------------------------------
250
310
  account: Compte
311
+ account_id: Compte
251
312
  select_an_account: Sélectionner un compte
252
313
  account_small: compte
253
314
  account_summary: Résumé du compte
315
+ account_categories: Catégories de compte
254
316
  accounts: Comptes
255
317
  accounts_options: Options des comptes
256
318
  accounts_small: comptes
@@ -275,6 +337,11 @@ fr:
275
337
  shipping_address: Adresse de livraison
276
338
  total_accounts: Total des comptes
277
339
  website: Site web
340
+ account_with_title_department: ! '%{title}, %{department} chez %{account}'
341
+ account_with_title: ! '%{title} chez %{account}'
342
+
343
+ # Views -> Campaigns.
344
+ #----------------------------------------------------------------------------
278
345
  actual: Etat actuel
279
346
  actual_performance: Performance Actuelle
280
347
  budget: Budget
@@ -284,6 +351,7 @@ fr:
284
351
  campaign_small: campagne
285
352
  campaign_summary: Résumé de la campagne
286
353
  campaign_targets: Prévisions de la campagne
354
+ campaign_statuses: Status des campagnes
287
355
  campaigns: Campagnes
288
356
  campaigns_options: Options des campagnes
289
357
  campaigns_small: campagnes
@@ -300,7 +368,7 @@ fr:
300
368
  objectives_help: Spécifiez un objectif en nombre de pistes, taux de conversion de
301
369
  pistes/opportunités, revenu espéré et budget. Ces valeurs seront utilisées lors
302
370
  de l'évaluation des performances de la campagne
303
- objectives_small: objectifs de la campagne
371
+ objectives_small: Objectifs de la campagne
304
372
  revenue: Revenu
305
373
  revenue_label: Revenu (€)
306
374
  revenue_number: ! '%{value} pour revenu'
@@ -313,6 +381,11 @@ fr:
313
381
  total_campaigns: Total des Campagnes
314
382
  was_supposed_to_finish: présumée se terminer le %{value}
315
383
  was_supposed_to_start: était supposée démarrer il y a %{time_ago} le %{start_date}
384
+ was_supposed_to_start_in: était supposée démarrer dans %{starts_in} le %{start_date}
385
+ select_a_campaign: Choisissez une campagne
386
+
387
+ # Views -> Contacts.
388
+ #----------------------------------------------------------------------------
316
389
  alt_email_small: Autre
317
390
  blog: Site Web/Blog
318
391
  contact: Contact
@@ -339,9 +412,21 @@ fr:
339
412
  referred_by_small: référence par
340
413
  save_contact: Enregistrer le contact
341
414
  twitter: Twitter
415
+ unassigned: Non assigné
342
416
  web_presence: Présence Web
343
417
  web_presence_small: présence web
344
418
  works_at: ! '%{job_title} chez %{company}'
419
+ general_info: Informations générales
420
+ show_general_info_small: Montrer les informations générales pour ce contact.
421
+ show_extra_info_small: Montrer les informations supplémentaires pour ce contact.
422
+ tag_details: ! 'Détails %{tag}'
423
+ show_tag_info_small: Montrer l'information %{tag} pour ce contact.
424
+ shared_with_everyone: Partagé avec tout le monde
425
+ title: Titre
426
+ subscriptions: Souscriptions
427
+
428
+ # Views -> Leads.
429
+ #----------------------------------------------------------------------------
345
430
  convert: Convertir
346
431
  convert_lead: Convertir la piste
347
432
  convert_lead_permissions_intro: Les permissions du contact seront dupliquées depuis
@@ -366,6 +451,7 @@ fr:
366
451
  lead_small: piste
367
452
  lead_status_small: statut de la piste
368
453
  lead_summary: Résumé de la piste
454
+ lead_statuses: Statut des pistes
369
455
  leads: Pistes
370
456
  leads_options: Options des pistes
371
457
  leads_small: Pistes
@@ -377,9 +463,14 @@ fr:
377
463
  source: Source
378
464
  status: Statut
379
465
  total_leads: Total des pistes
466
+ show_status_info_small: Montrer les information sur le statut de ce prospect.
467
+ show_contact_info_small: Montrer les informations de contact pour ce prospect.
468
+
469
+ # Views -> Opportunities.
470
+ #----------------------------------------------------------------------------
380
471
  amount: Montant
381
472
  close_date: Date de clôture
382
- closed_ago_on: clôturé il y à %{time_ago} le %{date}
473
+ closed_ago_on: clôturé il y a %{time_ago} le %{date}
383
474
  closes_today: doit être clôturé aujourd'hui!
384
475
  closing_date: la date de clôture est %{value}
385
476
  create_opportunity: Créer une opportunité
@@ -397,6 +488,7 @@ fr:
397
488
  opportunities_small: opportunités
398
489
  opportunity: Opportunité
399
490
  opportunity_small: opportunité
491
+ opportunity_stages: Etapes d'opportunité
400
492
  opportunity_summary: Coup d'oeil sur l'opportunité
401
493
  opportunity_summary_text: ! '%{amount} avec %{discount} de remise et %{probability}
402
494
  de probabilité'
@@ -407,6 +499,9 @@ fr:
407
499
  stage: Etape
408
500
  total_opportunities: Total des opportunités
409
501
  weighted_amount: Montant pondéré
502
+
503
+ # Views -> Tasks.
504
+ #----------------------------------------------------------------------------
410
505
  task: Tâche
411
506
  task_small: tâche
412
507
  tasks: Tâches
@@ -434,8 +529,8 @@ fr:
434
529
  task_assigned_to: et assignée à %{value}
435
530
  task_completed: complétée
436
531
  task_uncomplete: Revenir
437
- task_completed_ago: complétée il y à %{value}
438
- task_completed_by: complétée il y à %{time_ago} par %{user}
532
+ task_completed_ago: complétée il y a %{value}
533
+ task_completed_by: complétée il y a %{time_ago} par %{user}
439
534
  task_created: La tâche à été créée
440
535
  task_due_in: échéance dans %{value}
441
536
  task_due_later: à faire bientôt
@@ -447,7 +542,14 @@ fr:
447
542
  total_tasks: Total des %{value}
448
543
  view_assigned_tasks: voir les tâches assignées
449
544
  view_pending_tasks: voir les tâches en attente
450
- action_commented: a commenté le/la
545
+
546
+ # Views -> Team.
547
+ #----------------------------------------------------------------------------
548
+ unassigned_opportunities: Opportunités non assignées
549
+ no_opportunities_found: Il n'y a actuellement pas d'opportunité en cours.
550
+
551
+ # Views -> Home.
552
+ #----------------------------------------------------------------------------
451
553
  action_completed: a complété le/la
452
554
  action_created: a créé le/la
453
555
  action_deleted: a supprimé le/la
@@ -468,19 +570,30 @@ fr:
468
570
  subject_lead: piste
469
571
  subject_opportunity: opportunité
470
572
  subject_task: tâche
573
+ subject_user: utilisateur
574
+ tag_list: Tags
471
575
  created_past_participle: Création d'enregistrements
472
- commented_past_participle: Commentaires
473
- viewed_past_participle: Consultations
474
- updated_past_participle: Modifications
475
- deleted_past_participle: Supressions
476
- email_past_participle: Emails
576
+ view_past_participle: Consultations
577
+ update_past_participle: Modifications
578
+ destroy_past_participle: Supressions
477
579
  all_events_past_participle: Activités
580
+ action_create_comment: ! '- "%{comment}"'
581
+ my_tasks: Mes tâches
582
+ no_task_records: Vous n'avez pas de tâche.
583
+ my_opportunities: Mes opportunités
584
+ no_opportunity_records: Vous n'avez pas d'opportunité.
585
+ my_accounts: Mes comptes
586
+ no_account_records: Vous n'avez pas de compte.
587
+ not_showing_hidden_entities: ! '%{count} %{entity} cachées.'
588
+
589
+ # Views -> Common.
590
+ #----------------------------------------------------------------------------
478
591
  add_note: Ajouter une note
479
592
  save_note: Enregistrer la note
480
593
  add_note_help: Ajouter une nouvelle note...
481
594
  edit_note: Modifier la note
482
- added_ago: ajoutée il y à %{value}
483
- added_by: ajoutée il y à %{time_ago} par %{user}
595
+ added_ago: ajoutée il y a %{value}
596
+ added_by: ajoutée il y a %{time_ago} par %{user}
484
597
  back: Retour
485
598
  cancel: Annuler
486
599
  close_form: Fermer le formulaire
@@ -525,6 +638,9 @@ fr:
525
638
  collapse_all: Tout replier
526
639
  expanded: déplier
527
640
  collapsed: replier
641
+
642
+ # Views -> Layout.
643
+ #----------------------------------------------------------------------------
528
644
  about: A propos
529
645
  about_dev_group: Groupe de discussion pour les développeurs
530
646
  about_features: Fonctionnalités et bugs
@@ -540,43 +656,59 @@ fr:
540
656
  logout: Se déconnecter
541
657
  quick_find: Recherche rapide
542
658
  welcome: Bienvenue
659
+
660
+ # Advanced search
543
661
  accounts_advanced_search: Recherche avancée des comptes
544
662
  advanced_search: Recherche avancée
545
- advanced_search_submit: Rechercher
546
- advanced_search_add_group: Ajouter un groupe de filtres
547
- advanced_search_group_first: Afficher les enregistrement quand %{combinator} du/des
548
- critère(s) suivant(s) correspond(ent)
549
- advanced_search_group_rest: ! '...et quand %{combinator} du/des critère(s) suivant(s)
550
- correspond(ent)'
551
- advanced_search_add_condition: Ajouter un filtre
552
- advanced_search_remove_condition: Supprimer un filtre
553
- ransack:
554
- predicates:
555
- eq: est égal à
556
- not_eq: est différent de
557
- lt: est plus petit que
558
- gt: est plus grand que
559
- matches: ressemble à
560
- does_not_match: ne ressemble pas à
561
- cont: contient
562
- not_cont: ne contient pas
563
- blank: est vide
564
- present: est présent
565
- 'null': est nul
566
- not_null: est non nul
567
- edit_comment: Edition de commentaire
663
+ basic_search: Recherche basique
664
+ search_results_count:
665
+ one: ! '%{count} résultat pour la recherche.'
666
+ other: ! '%{count} résultats pour la recherche.'
667
+
668
+ # Views -> Comments.
669
+ #----------------------------------------------------------------------------
670
+ comment: Commentaire
671
+ edit_comment: Modifier le commentaire
568
672
  show: Voir
569
673
  update: Modifier
674
+ following_users_will_be_notified: Les utilisateurs suivants seront notifiés par email
675
+ notifications_tooltip: Les utilisateurs abonnés recevront les nouveaux commentaires par email
676
+ subscribe_via_email: S'abonner par email
677
+ disable_email_subscriptions: Annuler l'abonnement email
678
+ added_note: Ajout de lq note %{value}
679
+
680
+ # Views -> Emails.
681
+ #----------------------------------------------------------------------------
682
+
683
+ # Views -> Passwords.
684
+ #----------------------------------------------------------------------------
570
685
  confirm_password_intro: Saisissez votre nouveau mot de passe et sa confirmation.
571
686
  password_intro: Précisez votre adresse e-mail, et les instructions pour les réinitialiser
572
687
  vous seront communiquées.
573
688
  reset_password: Ré-initialisation du mot de passe
574
689
  update_password_and_login: Modification de l'identifiant et du mot de passe
690
+
691
+ # Views -> Admin
692
+ #----------------------------------------------------------------------------
575
693
  back_to_crm: Retour à Fat Free CRM
576
694
  crm_admin_page: Administration de Fat Free CRM
695
+
696
+ # Views -> Admin -> Groups
697
+ #----------------------------------------------------------------------------
698
+ create_group: Créer un groupe
699
+ save_group: Enregistrer le groupe
700
+ group_members: membres
701
+ groups: Groupes
702
+ groups_small: groupes
703
+ group_small: groupe
704
+
705
+ # Views -> Admin -> Users
706
+ #----------------------------------------------------------------------------
707
+ confirm_group_delete: Etes vous sûr de vouloir supprimer ce groupe ? Il y a %{count} objects qui
708
+ référencent encore ce groupe.
577
709
  approve: Approuver
578
710
  create_user: Créer un utilisateur
579
- last_seen: vu pour la dernière fois il y a %{value}
711
+ last_logged_in: last logged in %{value}
580
712
  personal_information: Informations complémentaires
581
713
  reactivate: Réactiver
582
714
  save_user: Enregistrer l'utilisateur
@@ -595,6 +727,9 @@ fr:
595
727
  user_suspended_on: suspendu le %{value}
596
728
  users: Utilisateurs
597
729
  users_small: utilisateurs
730
+
731
+ # Views -> Versions
732
+ #----------------------------------------------------------------------------
598
733
  versions: Historique
599
734
  version:
600
735
  create: Créé par %{by} il y a %{item}.
@@ -604,21 +739,47 @@ fr:
604
739
  unset: ! '%{attr} supprimé'
605
740
  change: ! '%{attr} changé de %{from} à %{to}'
606
741
  anonymous: anonyme
742
+ account_contact_id: ID du compte
743
+ account_contact_name: Nom du compte
744
+ user_id: ID de l'utilisateur
745
+ created_at: Crée le
746
+ updated_at: Modifié le
747
+
748
+ # Export.
749
+ #----------------------------------------------------------------------------
607
750
  to_xls: Exporter au format Excel
608
751
  to_csv: Exporter au format CSV (enregistrements supprimés inclus)
609
752
  to_rss: fil RSS
610
753
  to_atom: fil Atom
754
+ to_perm: Permalink
755
+
756
+ # Dropbox.
757
+ #----------------------------------------------------------------------------
611
758
  dropbox_notification_subject: dropbox - Email ajouté - %{subject}
612
759
  dropbox_notification_intro: a ajouté l'email que vous avez envoyé à la dropbox
613
760
  dropbox_notification_to: ajoutés aux
614
761
  subject: Sujet
615
762
  body: Corps
616
- lists: Listes
763
+
764
+ # Comment Inbox
765
+ #----------------------------------------------------------------------------
766
+ comment_notification:
767
+ intro: ! '%{user_full_name} a commenté %{entity_type}: %{entity_name}'
768
+ reply_instructions: Répondez à cet email pour ajouter un commentaire, ou visionnez
769
+ le %{entity} en ligne
770
+
771
+ # Lists
772
+ #----------------------------------------------------------------------------
773
+ global_lists: Listes globales
774
+ personal_lists: Mes listes
617
775
  list: Liste
618
- no_saved_lists: Liste non sauvegardée
776
+ no_saved_lists: Pas de liste enregistrée
619
777
  make_current_view_list: Faire de la vue courante une liste
620
778
  list_name_info: Si vous utilisez le nom d'une liste existante vous écraserez cette
621
779
  liste avec vos paramètres courants
780
+
781
+ # Pluralizations.
782
+ #----------------------------------------------------------------------------
622
783
  pluralize:
623
784
  comment:
624
785
  one: 1 commentaire
@@ -630,14 +791,17 @@ fr:
630
791
  one: 1 opportunité
631
792
  other: ! '%{count} opportunités'
632
793
  lead:
633
- one: 1 piste
634
- other: ! '%{count} pistes'
794
+ one: 1 prospect
795
+ other: ! '%{count} prospects'
635
796
  day:
636
797
  one: 1 jour
637
798
  other: ! '%{count} jours'
638
799
  login:
639
800
  one: 1 identifiant
640
801
  other: ! '%{count} identifiants'
802
+
803
+ # Custom date/time formats.
804
+ #----------------------------------------------------------------------------
641
805
  date:
642
806
  formats:
643
807
  mmddyyyy: ! '%d/%m/%Y'
@@ -647,6 +811,9 @@ fr:
647
811
  formats:
648
812
  mmddhhss: ! '%b %e à %H:%M%'
649
813
  mmddyyyy_hhmm: ! '%d/%m/%Y à %H:%M'
814
+
815
+ # will_paginate translations copied for 'en-US'
816
+ #----------------------------------------------------------------------------
650
817
  will_paginate:
651
818
  previous_label: ! '← Précédent'
652
819
  next_label: Suivant →
@@ -657,6 +824,9 @@ fr:
657
824
  one: Affichage de 1 %{name}
658
825
  other: Affichage de %{count} %{plural}
659
826
  multi_page: Affichage des %{plural} %{from} à %{to} de %{total} au total
827
+
828
+ # Views -> Admin -> Custom Fields
829
+ #----------------------------------------------------------------------------
660
830
  label: Etiquette
661
831
  custom_fields: Champs personnalisés
662
832
  custom_field_options: Options des champs personnalisés
@@ -681,12 +851,21 @@ fr:
681
851
  Créez d''abord une nouvelle section, ou ajoutez les champs dans une section existante
682
852
  ci-dessous. Vous pouvez faire glisser les champs pour ordonner leur présentation ou les faire
683
853
  changer de section.'
854
+
855
+ # Views -> Admin -> Tags
856
+ #----------------------------------------------------------------------------
857
+ admin_fields_info2: ! 'Il est recommandé de redémarrer le serveur après l''ajout ou la suppression d''un
858
+ champ personnalisé'
859
+
684
860
  tags: Tags
685
861
  tag_small: tag
686
- tagged: taggé(es)
862
+ tagged: Taggé
687
863
  create_tag: Créer un tag
688
864
  save_tag: Enregistrer le tag
689
865
  field_group_tags: Sections visibles pour ce tag
866
+
867
+ # Views -> Admin -> Plugins
868
+ #----------------------------------------------------------------------------
690
869
  tag_with_taggings_confirm_delete: En supprimant ce tag, il sera supprimé de %{value}
691
870
  enregistrements.
692
871
  msg_cant_delete_tag: Impossible de supprimer '%{value}' car il est associé à au
@@ -697,6 +876,9 @@ fr:
697
876
  author: Auteur
698
877
  version: Version
699
878
  description: Description
879
+
880
+ # Simple Form translations
881
+ #----------------------------------------------------------------------------
700
882
  simple_form:
701
883
  'yes': Oui
702
884
  'no': Non
@@ -706,25 +888,47 @@ fr:
706
888
  error_notification:
707
889
  default_message: ! 'Votre demande ne peut aboutir, les erreurs suivantes se
708
890
  sont déclenchées:'
891
+
892
+ # Form field types
893
+ #----------------------------------------------------------------------------
709
894
  field_types:
710
- string: Texte court
711
- text: Texte long
712
- select: Liste de sélection
713
- multiselect: Liste de sélection (multiple)
714
- radio: Boutons radios
715
- boolean: Case à cocher
716
- check_boxes: Liste de cases à cocher
717
- date: Date
718
- datetime: Date et heure
719
- email: Adresse email
720
- url: URL
721
- tel: Numéro de téléphone
722
- decimal: Nombre décimal
723
- integer: Nombre entier
724
- float: Nombre flottant
725
- errors:
726
- template:
727
- header:
728
- one: ! 'Impossible d''enregistrer ce %{model} : 1 erreur'
729
- other: ! 'Impossible d''enregistrer ce %{model} : %{count} erreurs'
730
- body: ! 'Veuillez vérifier les champs suivants : '
895
+ string:
896
+ title: Texte court
897
+ text:
898
+ title: Texte long
899
+ select:
900
+ title: Liste de sélection
901
+ multiselect:
902
+ title: Liste de sélection (multiple)
903
+ radio_buttons:
904
+ title: Boutons radio
905
+ boolean:
906
+ title: Case à cocher
907
+ check_boxes:
908
+ title: Liste de cases à cocher
909
+ date:
910
+ title: Date
911
+ date_pair:
912
+ title: Paire de dates
913
+ datetime:
914
+ title: Date et Heure
915
+ datetime_pair:
916
+ title: Paire de dates et heures
917
+ email:
918
+ title: Addresse email
919
+ url:
920
+ title: URL
921
+ tel:
922
+ title: Numéro de téléphone
923
+ decimal:
924
+ title: Nombre décimal
925
+ integer:
926
+ title: Nombre entier
927
+ float:
928
+ title: Nombre flottant
929
+ pair:
930
+ start: Début
931
+ end: Fin
932
+ from_to: De %{from} à %{to}
933
+ from_only: De %{from}
934
+ to_only: A %{to}