reduced_fat_crm 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1042) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +36 -0
  3. data/.rubocop.yml +5 -0
  4. data/.teatro.yml +3 -0
  5. data/.travis.yml +41 -0
  6. data/CHANGELOG +1923 -0
  7. data/CONTRIBUTORS +91 -0
  8. data/Capfile +25 -0
  9. data/Dockerfile +18 -0
  10. data/Gemfile +88 -0
  11. data/Gemfile.lock +430 -0
  12. data/Guardfile +24 -0
  13. data/MIT-LICENSE +21 -0
  14. data/Procfile +1 -0
  15. data/README.md +153 -0
  16. data/Rakefile +9 -0
  17. data/app/assets/images/1x1.gif +0 -0
  18. data/app/assets/images/asterisk.gif +0 -0
  19. data/app/assets/images/avatar.jpg +0 -0
  20. data/app/assets/images/blog.gif +0 -0
  21. data/app/assets/images/facebook.gif +0 -0
  22. data/app/assets/images/info.png +0 -0
  23. data/app/assets/images/info_tiny.png +0 -0
  24. data/app/assets/images/linkedin.gif +0 -0
  25. data/app/assets/images/loading.gif +0 -0
  26. data/app/assets/images/notifications.png +0 -0
  27. data/app/assets/images/skype.gif +0 -0
  28. data/app/assets/images/sortable.gif +0 -0
  29. data/app/assets/images/stars.gif +0 -0
  30. data/app/assets/images/twitter.gif +0 -0
  31. data/app/assets/javascripts/admin/fields.js.coffee +72 -0
  32. data/app/assets/javascripts/application.js.erb +41 -0
  33. data/app/assets/javascripts/crm.js.coffee +428 -0
  34. data/app/assets/javascripts/crm_chosen.js.coffee +29 -0
  35. data/app/assets/javascripts/crm_classes.js.coffee +215 -0
  36. data/app/assets/javascripts/crm_comments.js.coffee +28 -0
  37. data/app/assets/javascripts/crm_loginout.js.coffee +27 -0
  38. data/app/assets/javascripts/crm_select2.js.coffee +31 -0
  39. data/app/assets/javascripts/crm_sortable.js.coffee +32 -0
  40. data/app/assets/javascripts/crm_tags.js.coffee +22 -0
  41. data/app/assets/javascripts/crm_textarea_autocomplete.js.coffee +33 -0
  42. data/app/assets/javascripts/datepicker.js.coffee +20 -0
  43. data/app/assets/javascripts/format_buttons.js.coffee +52 -0
  44. data/app/assets/javascripts/lists.js.coffee +54 -0
  45. data/app/assets/javascripts/pagination.js.coffee +16 -0
  46. data/app/assets/javascripts/search.js.coffee +55 -0
  47. data/app/assets/javascripts/timeago.js.coffee +21 -0
  48. data/app/assets/stylesheets/about.css.scss +10 -0
  49. data/app/assets/stylesheets/admin/fields.css.scss +17 -0
  50. data/app/assets/stylesheets/advanced_search.css.scss +108 -0
  51. data/app/assets/stylesheets/application.css.erb +37 -0
  52. data/app/assets/stylesheets/base.scss +78 -0
  53. data/app/assets/stylesheets/common.scss +765 -0
  54. data/app/assets/stylesheets/ffcrm_chosen.scss +69 -0
  55. data/app/assets/stylesheets/fields.scss +27 -0
  56. data/app/assets/stylesheets/format_buttons.css.scss +40 -0
  57. data/app/assets/stylesheets/groups.css.scss +8 -0
  58. data/app/assets/stylesheets/header.scss +121 -0
  59. data/app/assets/stylesheets/index_headers.css.scss +5 -0
  60. data/app/assets/stylesheets/lists.css.scss +26 -0
  61. data/app/assets/stylesheets/print.css.scss +77 -0
  62. data/app/assets/stylesheets/rails.scss +133 -0
  63. data/app/assets/stylesheets/safari.scss +11 -0
  64. data/app/assets/stylesheets/textarea_autocomplete.scss +47 -0
  65. data/app/controllers/admin/application_controller.rb +30 -0
  66. data/app/controllers/admin/field_groups_controller.rb +83 -0
  67. data/app/controllers/admin/fields_controller.rb +118 -0
  68. data/app/controllers/admin/groups_controller.rb +65 -0
  69. data/app/controllers/admin/plugins_controller.rb +17 -0
  70. data/app/controllers/admin/settings_controller.rb +14 -0
  71. data/app/controllers/admin/tags_controller.rb +71 -0
  72. data/app/controllers/admin/users_controller.rb +144 -0
  73. data/app/controllers/application_controller.rb +276 -0
  74. data/app/controllers/authentications_controller.rb +51 -0
  75. data/app/controllers/comments_controller.rb +93 -0
  76. data/app/controllers/emails_controller.rb +18 -0
  77. data/app/controllers/entities/accounts_controller.rb +158 -0
  78. data/app/controllers/entities/campaigns_controller.rb +197 -0
  79. data/app/controllers/entities/contacts_controller.rb +178 -0
  80. data/app/controllers/entities/leads_controller.rb +256 -0
  81. data/app/controllers/entities/opportunities_controller.rb +222 -0
  82. data/app/controllers/entities_controller.rb +214 -0
  83. data/app/controllers/home_controller.rb +156 -0
  84. data/app/controllers/lists_controller.rb +40 -0
  85. data/app/controllers/passwords_controller.rb +65 -0
  86. data/app/controllers/tasks_controller.rb +219 -0
  87. data/app/controllers/users_controller.rb +159 -0
  88. data/app/helpers/accounts_helper.rb +110 -0
  89. data/app/helpers/addresses_helper.rb +17 -0
  90. data/app/helpers/admin/application_helper.rb +15 -0
  91. data/app/helpers/admin/field_groups_helper.rb +25 -0
  92. data/app/helpers/admin/fields_helper.rb +18 -0
  93. data/app/helpers/admin/plugins_helper.rb +7 -0
  94. data/app/helpers/admin/settings_helper.rb +7 -0
  95. data/app/helpers/admin/tags_helper.rb +10 -0
  96. data/app/helpers/admin/users_helper.rb +51 -0
  97. data/app/helpers/application_helper.rb +527 -0
  98. data/app/helpers/authentications_helper.rb +7 -0
  99. data/app/helpers/campaigns_helper.rb +34 -0
  100. data/app/helpers/comments_helper.rb +11 -0
  101. data/app/helpers/contacts_helper.rb +21 -0
  102. data/app/helpers/emails_helper.rb +7 -0
  103. data/app/helpers/fields_helper.rb +7 -0
  104. data/app/helpers/groups_helper.rb +7 -0
  105. data/app/helpers/home_helper.rb +66 -0
  106. data/app/helpers/javascript_helper.rb +30 -0
  107. data/app/helpers/leads_helper.rb +85 -0
  108. data/app/helpers/lists_helper.rb +7 -0
  109. data/app/helpers/opportunities_helper.rb +46 -0
  110. data/app/helpers/passwords_helper.rb +7 -0
  111. data/app/helpers/remote_link_pagination_helper.rb +8 -0
  112. data/app/helpers/tags_helper.rb +29 -0
  113. data/app/helpers/tasks_helper.rb +139 -0
  114. data/app/helpers/users_helper.rb +35 -0
  115. data/app/helpers/versions_helper.rb +32 -0
  116. data/app/inputs/date_pair_input.rb +65 -0
  117. data/app/inputs/date_time_input.rb +36 -0
  118. data/app/inputs/datetime_pair_input.rb +25 -0
  119. data/app/inputs/text_input.rb +12 -0
  120. data/app/mailers/dropbox_mailer.rb +18 -0
  121. data/app/mailers/subscription_mailer.rb +30 -0
  122. data/app/mailers/user_mailer.rb +32 -0
  123. data/app/models/entities/account.rb +142 -0
  124. data/app/models/entities/account_contact.rb +28 -0
  125. data/app/models/entities/account_opportunity.rb +26 -0
  126. data/app/models/entities/campaign.rb +116 -0
  127. data/app/models/entities/contact.rb +215 -0
  128. data/app/models/entities/contact_opportunity.rb +27 -0
  129. data/app/models/entities/lead.rb +197 -0
  130. data/app/models/entities/opportunity.rb +190 -0
  131. data/app/models/fields/core_field.rb +37 -0
  132. data/app/models/fields/custom_field.rb +148 -0
  133. data/app/models/fields/custom_field_date_pair.rb +42 -0
  134. data/app/models/fields/custom_field_datetime_pair.rb +12 -0
  135. data/app/models/fields/custom_field_pair.rb +42 -0
  136. data/app/models/fields/field.rb +129 -0
  137. data/app/models/fields/field_group.rb +63 -0
  138. data/app/models/list.rb +17 -0
  139. data/app/models/observers/entity_observer.rb +43 -0
  140. data/app/models/observers/lead_observer.rb +29 -0
  141. data/app/models/observers/opportunity_observer.rb +47 -0
  142. data/app/models/observers/task_observer.rb +31 -0
  143. data/app/models/polymorphic/address.rb +59 -0
  144. data/app/models/polymorphic/avatar.rb +55 -0
  145. data/app/models/polymorphic/comment.rb +73 -0
  146. data/app/models/polymorphic/email.rb +59 -0
  147. data/app/models/polymorphic/tag.rb +21 -0
  148. data/app/models/polymorphic/tagging.rb +8 -0
  149. data/app/models/polymorphic/task.rb +284 -0
  150. data/app/models/polymorphic/version.rb +81 -0
  151. data/app/models/setting.rb +103 -0
  152. data/app/models/users/ability.rb +59 -0
  153. data/app/models/users/authentication.rb +54 -0
  154. data/app/models/users/group.rb +13 -0
  155. data/app/models/users/permission.rb +27 -0
  156. data/app/models/users/preference.rb +50 -0
  157. data/app/models/users/user.rb +184 -0
  158. data/app/views/accounts/_account.html.haml +5 -0
  159. data/app/views/accounts/_contact_info.html.haml +37 -0
  160. data/app/views/accounts/_edit.html.haml +21 -0
  161. data/app/views/accounts/_index_brief.html.haml +32 -0
  162. data/app/views/accounts/_index_long.html.haml +42 -0
  163. data/app/views/accounts/_new.html.haml +21 -0
  164. data/app/views/accounts/_sidebar_index.html.haml +20 -0
  165. data/app/views/accounts/_sidebar_show.html.haml +57 -0
  166. data/app/views/accounts/_title_bar.html.haml +11 -0
  167. data/app/views/accounts/_top_section.html.haml +29 -0
  168. data/app/views/accounts/create.js.haml +17 -0
  169. data/app/views/accounts/destroy.js.haml +6 -0
  170. data/app/views/accounts/edit.js.haml +31 -0
  171. data/app/views/accounts/index.html.haml +18 -0
  172. data/app/views/accounts/index.js.haml +11 -0
  173. data/app/views/accounts/index.xls.builder +84 -0
  174. data/app/views/accounts/new.js.haml +11 -0
  175. data/app/views/accounts/show.html.haml +26 -0
  176. data/app/views/accounts/show.js.haml +5 -0
  177. data/app/views/accounts/update.js.haml +19 -0
  178. data/app/views/admin/custom_fields/_base_field.html.haml +21 -0
  179. data/app/views/admin/custom_fields/_check_boxes_field.html.haml +6 -0
  180. data/app/views/admin/custom_fields/_date_field.html.haml +14 -0
  181. data/app/views/admin/custom_fields/_date_pair_field.html.haml +21 -0
  182. data/app/views/admin/custom_fields/_datetime_field.html.haml +14 -0
  183. data/app/views/admin/custom_fields/_datetime_pair_field.html.haml +21 -0
  184. data/app/views/admin/custom_fields/_radio_field.html.haml +6 -0
  185. data/app/views/admin/custom_fields/_select_field.html.haml +25 -0
  186. data/app/views/admin/custom_fields/_string_field.html.haml +2 -0
  187. data/app/views/admin/field_groups/_confirm.html.haml +5 -0
  188. data/app/views/admin/field_groups/_edit.html.haml +8 -0
  189. data/app/views/admin/field_groups/_field_group.html.haml +28 -0
  190. data/app/views/admin/field_groups/_new.html.haml +10 -0
  191. data/app/views/admin/field_groups/_top_section.html.haml +14 -0
  192. data/app/views/admin/field_groups/confirm.js.haml +7 -0
  193. data/app/views/admin/field_groups/create.js.haml +14 -0
  194. data/app/views/admin/field_groups/destroy.js.haml +9 -0
  195. data/app/views/admin/field_groups/edit.js.haml +12 -0
  196. data/app/views/admin/field_groups/new.js.haml +8 -0
  197. data/app/views/admin/field_groups/update.js.haml +8 -0
  198. data/app/views/admin/fields/_field.html.haml +17 -0
  199. data/app/views/admin/fields/_form.html.haml +35 -0
  200. data/app/views/admin/fields/_sidebar_index.html.haml +1 -0
  201. data/app/views/admin/fields/_sidebar_show.html.haml +1 -0
  202. data/app/views/admin/fields/_sort_by.html.haml +10 -0
  203. data/app/views/admin/fields/_subform.html.haml +6 -0
  204. data/app/views/admin/fields/create.js.haml +17 -0
  205. data/app/views/admin/fields/destroy.js.haml +8 -0
  206. data/app/views/admin/fields/edit.js.haml +3 -0
  207. data/app/views/admin/fields/index.html.haml +34 -0
  208. data/app/views/admin/fields/show.html.haml +41 -0
  209. data/app/views/admin/fields/update.js.haml +13 -0
  210. data/app/views/admin/groups/_edit.html.haml +12 -0
  211. data/app/views/admin/groups/_form.html.haml +11 -0
  212. data/app/views/admin/groups/_group.html.haml +16 -0
  213. data/app/views/admin/groups/_new.html.haml +12 -0
  214. data/app/views/admin/groups/create.js.haml +10 -0
  215. data/app/views/admin/groups/destroy.js.haml +9 -0
  216. data/app/views/admin/groups/edit.js.haml +14 -0
  217. data/app/views/admin/groups/index.html.haml +18 -0
  218. data/app/views/admin/groups/index.js.haml +2 -0
  219. data/app/views/admin/groups/new.js.haml +9 -0
  220. data/app/views/admin/groups/show.html.haml +11 -0
  221. data/app/views/admin/groups/update.js.haml +9 -0
  222. data/app/views/admin/plugins/_plugin.html.haml +13 -0
  223. data/app/views/admin/plugins/index.html.haml +3 -0
  224. data/app/views/admin/settings/index.html.haml +3 -0
  225. data/app/views/admin/tags/_confirm.html.haml +5 -0
  226. data/app/views/admin/tags/_edit.html.haml +9 -0
  227. data/app/views/admin/tags/_new.html.haml +10 -0
  228. data/app/views/admin/tags/_tag.html.haml +29 -0
  229. data/app/views/admin/tags/_top_section.html.haml +6 -0
  230. data/app/views/admin/tags/confirm.js.haml +7 -0
  231. data/app/views/admin/tags/create.js.haml +11 -0
  232. data/app/views/admin/tags/destroy.js.haml +10 -0
  233. data/app/views/admin/tags/edit.js.haml +20 -0
  234. data/app/views/admin/tags/index.html.haml +17 -0
  235. data/app/views/admin/tags/new.js.haml +7 -0
  236. data/app/views/admin/tags/update.js.haml +9 -0
  237. data/app/views/admin/users/_confirm.html.haml +5 -0
  238. data/app/views/admin/users/_edit.html.haml +11 -0
  239. data/app/views/admin/users/_new.html.haml +11 -0
  240. data/app/views/admin/users/_profile.html.haml +54 -0
  241. data/app/views/admin/users/_sidebar_index.html.haml +2 -0
  242. data/app/views/admin/users/_user.html.haml +66 -0
  243. data/app/views/admin/users/confirm.js.haml +7 -0
  244. data/app/views/admin/users/create.js.haml +10 -0
  245. data/app/views/admin/users/destroy.js.haml +10 -0
  246. data/app/views/admin/users/edit.js.haml +20 -0
  247. data/app/views/admin/users/index.html.haml +13 -0
  248. data/app/views/admin/users/index.js.haml +2 -0
  249. data/app/views/admin/users/new.js.haml +9 -0
  250. data/app/views/admin/users/reactivate.js.haml +3 -0
  251. data/app/views/admin/users/show.html.haml +5 -0
  252. data/app/views/admin/users/suspend.js.haml +3 -0
  253. data/app/views/admin/users/update.js.haml +9 -0
  254. data/app/views/application/_auto_complete.html.haml +10 -0
  255. data/app/views/application/index.atom.builder +34 -0
  256. data/app/views/application/index.rss.builder +31 -0
  257. data/app/views/application/show.atom.builder +32 -0
  258. data/app/views/application/show.rss.builder +29 -0
  259. data/app/views/authentications/new.html.haml +19 -0
  260. data/app/views/campaigns/_campaign.html.haml +5 -0
  261. data/app/views/campaigns/_edit.html.haml +18 -0
  262. data/app/views/campaigns/_index_brief.html.haml +15 -0
  263. data/app/views/campaigns/_index_long.html.haml +20 -0
  264. data/app/views/campaigns/_metrics.html.haml +16 -0
  265. data/app/views/campaigns/_new.html.haml +18 -0
  266. data/app/views/campaigns/_objectives.html.haml +30 -0
  267. data/app/views/campaigns/_sidebar_index.html.haml +20 -0
  268. data/app/views/campaigns/_sidebar_show.html.haml +91 -0
  269. data/app/views/campaigns/_status.html.haml +24 -0
  270. data/app/views/campaigns/_title_bar.html.haml +11 -0
  271. data/app/views/campaigns/_top_section.html.haml +29 -0
  272. data/app/views/campaigns/create.js.haml +20 -0
  273. data/app/views/campaigns/destroy.js.haml +6 -0
  274. data/app/views/campaigns/edit.js.haml +31 -0
  275. data/app/views/campaigns/index.html.haml +18 -0
  276. data/app/views/campaigns/index.js.haml +11 -0
  277. data/app/views/campaigns/index.xls.builder +77 -0
  278. data/app/views/campaigns/new.js.haml +11 -0
  279. data/app/views/campaigns/show.html.haml +26 -0
  280. data/app/views/campaigns/show.js.haml +5 -0
  281. data/app/views/campaigns/update.js.haml +22 -0
  282. data/app/views/comments/_comment.html.haml +29 -0
  283. data/app/views/comments/_edit.html.haml +11 -0
  284. data/app/views/comments/_new.html.haml +35 -0
  285. data/app/views/comments/_subscription_links.html.haml +13 -0
  286. data/app/views/comments/create.js.haml +14 -0
  287. data/app/views/comments/destroy.js.haml +5 -0
  288. data/app/views/comments/edit.js.haml +11 -0
  289. data/app/views/comments/update.js.haml +9 -0
  290. data/app/views/contacts/_contact.html.haml +5 -0
  291. data/app/views/contacts/_contacts.html.haml +7 -0
  292. data/app/views/contacts/_edit.html.haml +19 -0
  293. data/app/views/contacts/_extra.html.haml +36 -0
  294. data/app/views/contacts/_index_brief.html.haml +25 -0
  295. data/app/views/contacts/_index_full.html.haml +57 -0
  296. data/app/views/contacts/_index_long.html.haml +44 -0
  297. data/app/views/contacts/_new.html.haml +20 -0
  298. data/app/views/contacts/_section_extra.html.haml +26 -0
  299. data/app/views/contacts/_section_general.html.haml +26 -0
  300. data/app/views/contacts/_sidebar_index.html.haml +0 -0
  301. data/app/views/contacts/_sidebar_show.html.haml +52 -0
  302. data/app/views/contacts/_title_bar.html.haml +11 -0
  303. data/app/views/contacts/_top_section.html.haml +45 -0
  304. data/app/views/contacts/_web.html.haml +31 -0
  305. data/app/views/contacts/create.js.haml +23 -0
  306. data/app/views/contacts/destroy.js.haml +9 -0
  307. data/app/views/contacts/edit.js.haml +34 -0
  308. data/app/views/contacts/index.html.haml +18 -0
  309. data/app/views/contacts/index.js.haml +11 -0
  310. data/app/views/contacts/index.xls.builder +104 -0
  311. data/app/views/contacts/new.js.haml +13 -0
  312. data/app/views/contacts/show.html.haml +22 -0
  313. data/app/views/contacts/show.js.haml +5 -0
  314. data/app/views/contacts/update.js.haml +24 -0
  315. data/app/views/dropbox_mailer/dropbox_notification.html.haml +9 -0
  316. data/app/views/emails/_email.html.haml +36 -0
  317. data/app/views/emails/destroy.js.haml +5 -0
  318. data/app/views/entities/_basic_search.html.haml +24 -0
  319. data/app/views/entities/_permissions.html.haml +36 -0
  320. data/app/views/entities/_search.html.haml +16 -0
  321. data/app/views/entities/_section_custom_fields.html.haml +11 -0
  322. data/app/views/entities/_sort_fields.html.haml +3 -0
  323. data/app/views/entities/_title_bar.html.haml +12 -0
  324. data/app/views/entities/attach.js.haml +21 -0
  325. data/app/views/entities/contacts.js.haml +3 -0
  326. data/app/views/entities/discard.js.haml +6 -0
  327. data/app/views/entities/leads.js.haml +3 -0
  328. data/app/views/entities/opportunities.js.haml +3 -0
  329. data/app/views/entities/subscription_update.js.haml +4 -0
  330. data/app/views/entities/versions.js.haml +3 -0
  331. data/app/views/fields/_edit_custom_field_group.html.haml +8 -0
  332. data/app/views/fields/_group.html.haml +11 -0
  333. data/app/views/fields/_group_table.html.haml +13 -0
  334. data/app/views/fields/_group_view.html.haml +10 -0
  335. data/app/views/fields/_groups.html.haml +8 -0
  336. data/app/views/fields/_sidebar_show.html.haml +9 -0
  337. data/app/views/fields/group.js.erb +3 -0
  338. data/app/views/home/_account.html.haml +29 -0
  339. data/app/views/home/_activity.html.haml +35 -0
  340. data/app/views/home/_assets_menu.html.haml +7 -0
  341. data/app/views/home/_duration_menu.html.haml +8 -0
  342. data/app/views/home/_events_menu.html.haml +8 -0
  343. data/app/views/home/_opportunity.html.haml +41 -0
  344. data/app/views/home/_options.html.haml +12 -0
  345. data/app/views/home/_task.html.haml +48 -0
  346. data/app/views/home/_users_menu.html.haml +8 -0
  347. data/app/views/home/index.atom.builder +24 -0
  348. data/app/views/home/index.html.haml +46 -0
  349. data/app/views/home/index.js.haml +7 -0
  350. data/app/views/home/index.rss.builder +20 -0
  351. data/app/views/home/options.js.haml +7 -0
  352. data/app/views/layouts/500.html.haml +17 -0
  353. data/app/views/layouts/_about.html.haml +17 -0
  354. data/app/views/layouts/_footer.html.haml +9 -0
  355. data/app/views/layouts/_header.html.haml +20 -0
  356. data/app/views/layouts/_jumpbox.html.haml +34 -0
  357. data/app/views/layouts/_sidebar.html.haml +12 -0
  358. data/app/views/layouts/_tabbed.html.haml +15 -0
  359. data/app/views/layouts/_tabless.html.haml +3 -0
  360. data/app/views/layouts/admin/_header.html.haml +14 -0
  361. data/app/views/layouts/admin/application.html.haml +24 -0
  362. data/app/views/layouts/application.html.haml +48 -0
  363. data/app/views/layouts/header.xls.builder +8 -0
  364. data/app/views/leads/_contact.html.haml +35 -0
  365. data/app/views/leads/_convert.html.haml +25 -0
  366. data/app/views/leads/_convert_permissions.html.haml +31 -0
  367. data/app/views/leads/_edit.html.haml +23 -0
  368. data/app/views/leads/_index_brief.html.haml +41 -0
  369. data/app/views/leads/_index_long.html.haml +62 -0
  370. data/app/views/leads/_lead.html.haml +5 -0
  371. data/app/views/leads/_leads.html.haml +6 -0
  372. data/app/views/leads/_new.html.haml +24 -0
  373. data/app/views/leads/_opportunity.html.haml +37 -0
  374. data/app/views/leads/_sidebar_index.html.haml +20 -0
  375. data/app/views/leads/_sidebar_show.html.haml +65 -0
  376. data/app/views/leads/_status.html.haml +36 -0
  377. data/app/views/leads/_title_bar.html.haml +16 -0
  378. data/app/views/leads/_top_section.html.haml +30 -0
  379. data/app/views/leads/_web.html.haml +31 -0
  380. data/app/views/leads/convert.js.haml +35 -0
  381. data/app/views/leads/create.js.haml +21 -0
  382. data/app/views/leads/destroy.js.haml +9 -0
  383. data/app/views/leads/edit.js.haml +33 -0
  384. data/app/views/leads/index.html.haml +18 -0
  385. data/app/views/leads/index.js.haml +11 -0
  386. data/app/views/leads/index.xls.builder +102 -0
  387. data/app/views/leads/new.js.haml +11 -0
  388. data/app/views/leads/promote.js.haml +26 -0
  389. data/app/views/leads/reject.js.haml +12 -0
  390. data/app/views/leads/show.html.haml +20 -0
  391. data/app/views/leads/show.js.haml +5 -0
  392. data/app/views/leads/update.js.haml +28 -0
  393. data/app/views/lists/_lists.html.haml +6 -0
  394. data/app/views/lists/_sidebar.html.haml +29 -0
  395. data/app/views/lists/create.js.haml +9 -0
  396. data/app/views/lists/destroy.js.haml +1 -0
  397. data/app/views/opportunities/_edit.html.haml +18 -0
  398. data/app/views/opportunities/_index_brief.html.haml +29 -0
  399. data/app/views/opportunities/_index_long.html.haml +59 -0
  400. data/app/views/opportunities/_new.html.haml +18 -0
  401. data/app/views/opportunities/_opportunities.html.haml +6 -0
  402. data/app/views/opportunities/_opportunity.html.haml +5 -0
  403. data/app/views/opportunities/_sidebar_index.html.haml +20 -0
  404. data/app/views/opportunities/_sidebar_show.html.haml +61 -0
  405. data/app/views/opportunities/_title_bar.html.haml +11 -0
  406. data/app/views/opportunities/_top_section.html.haml +59 -0
  407. data/app/views/opportunities/contacts.js.haml +3 -0
  408. data/app/views/opportunities/create.js.haml +29 -0
  409. data/app/views/opportunities/destroy.js.haml +13 -0
  410. data/app/views/opportunities/edit.js.haml +34 -0
  411. data/app/views/opportunities/index.html.haml +20 -0
  412. data/app/views/opportunities/index.js.haml +11 -0
  413. data/app/views/opportunities/index.xls.builder +71 -0
  414. data/app/views/opportunities/new.js.haml +13 -0
  415. data/app/views/opportunities/show.html.haml +22 -0
  416. data/app/views/opportunities/show.js.haml +5 -0
  417. data/app/views/opportunities/update.js.haml +27 -0
  418. data/app/views/passwords/edit.html.haml +15 -0
  419. data/app/views/passwords/new.html.haml +10 -0
  420. data/app/views/shared/_add_comment.html.haml +8 -0
  421. data/app/views/shared/_address.html.haml +44 -0
  422. data/app/views/shared/_address_show.html.haml +24 -0
  423. data/app/views/shared/_comment.html.haml +11 -0
  424. data/app/views/shared/_edit_comment.html.haml +13 -0
  425. data/app/views/shared/_empty.html.haml +8 -0
  426. data/app/views/shared/_export.html.haml +2 -0
  427. data/app/views/shared/_inline_styles.html.haml +31 -0
  428. data/app/views/shared/_naming.html.haml +9 -0
  429. data/app/views/shared/_paginate.haml +2 -0
  430. data/app/views/shared/_paginate_with_per_page.html.haml +12 -0
  431. data/app/views/shared/_recent.html.haml +4 -0
  432. data/app/views/shared/_recently.html.haml +7 -0
  433. data/app/views/shared/_search.html.haml +15 -0
  434. data/app/views/shared/_select_popup.html.haml +19 -0
  435. data/app/views/shared/_tags.html.haml +10 -0
  436. data/app/views/shared/_tasks.html.haml +10 -0
  437. data/app/views/shared/_timeline.html.haml +2 -0
  438. data/app/views/shared/_total.html.haml +4 -0
  439. data/app/views/subscription_mailer/comment_notification.text.erb +7 -0
  440. data/app/views/tasks/_assigned.html.haml +47 -0
  441. data/app/views/tasks/_completed.html.haml +25 -0
  442. data/app/views/tasks/_edit.html.haml +18 -0
  443. data/app/views/tasks/_empty.html.haml +4 -0
  444. data/app/views/tasks/_new.html.haml +14 -0
  445. data/app/views/tasks/_pending.html.haml +52 -0
  446. data/app/views/tasks/_related.html.haml +32 -0
  447. data/app/views/tasks/_selector.html.haml +8 -0
  448. data/app/views/tasks/_sidebar_index.html.haml +18 -0
  449. data/app/views/tasks/_tasks.html.haml +3 -0
  450. data/app/views/tasks/_title.html.haml +8 -0
  451. data/app/views/tasks/_top_section.html.haml +34 -0
  452. data/app/views/tasks/complete.js.haml +14 -0
  453. data/app/views/tasks/create.js.haml +39 -0
  454. data/app/views/tasks/destroy.js.haml +7 -0
  455. data/app/views/tasks/discard.js.haml +1 -0
  456. data/app/views/tasks/edit.js.haml +26 -0
  457. data/app/views/tasks/filter.js.haml +4 -0
  458. data/app/views/tasks/index.html.haml +20 -0
  459. data/app/views/tasks/index.xls.builder +49 -0
  460. data/app/views/tasks/new.js.haml +8 -0
  461. data/app/views/tasks/uncomplete.js.haml +12 -0
  462. data/app/views/tasks/update.js.haml +19 -0
  463. data/app/views/user_mailer/assigned_entity_notification.html.haml +3 -0
  464. data/app/views/user_mailer/password_reset_instructions.html.haml +6 -0
  465. data/app/views/users/_avatar.html.haml +20 -0
  466. data/app/views/users/_languages.html.haml +9 -0
  467. data/app/views/users/_password.html.haml +27 -0
  468. data/app/views/users/_profile.html.haml +67 -0
  469. data/app/views/users/_user.html.haml +33 -0
  470. data/app/views/users/_user_report.html.haml +6 -0
  471. data/app/views/users/avatar.js.haml +9 -0
  472. data/app/views/users/change_password.js.haml +13 -0
  473. data/app/views/users/edit.js.haml +9 -0
  474. data/app/views/users/index.html.haml +3 -0
  475. data/app/views/users/new.html.haml +19 -0
  476. data/app/views/users/opportunities_overview.html.haml +16 -0
  477. data/app/views/users/password.js.haml +10 -0
  478. data/app/views/users/show.html.haml +15 -0
  479. data/app/views/users/update.js.haml +9 -0
  480. data/app/views/users/upload_avatar.js.haml +7 -0
  481. data/app/views/versions/_version.html.haml +17 -0
  482. data/app/views/versions/_version_item.html.haml +8 -0
  483. data/app/views/versions/_versions.html.haml +11 -0
  484. data/bin/bundle +3 -0
  485. data/bin/rails +4 -0
  486. data/bin/rake +4 -0
  487. data/config.ru +4 -0
  488. data/config/application.rb +77 -0
  489. data/config/boot.rb +10 -0
  490. data/config/database.mysql.mac.yml +32 -0
  491. data/config/database.mysql.yml +33 -0
  492. data/config/database.postgres.docker.yml +25 -0
  493. data/config/database.postgres.yml +26 -0
  494. data/config/database.sqlite.yml +23 -0
  495. data/config/deploy.example.rb +77 -0
  496. data/config/environment.rb +10 -0
  497. data/config/environments/development.rb +46 -0
  498. data/config/environments/production.rb +66 -0
  499. data/config/environments/staging.rb +66 -0
  500. data/config/environments/test.rb +54 -0
  501. data/config/initializers/action_mailer.rb +22 -0
  502. data/config/initializers/assets.rb +14 -0
  503. data/config/initializers/authlogic.rb +6 -0
  504. data/config/initializers/backtrace_silencers.rb +7 -0
  505. data/config/initializers/constants.rb +6 -0
  506. data/config/initializers/cookies_serializer.rb +3 -0
  507. data/config/initializers/custom_field_ransack_translations.rb +17 -0
  508. data/config/initializers/filter_parameter_logging.rb +4 -0
  509. data/config/initializers/gravatar.rb +12 -0
  510. data/config/initializers/inflections.rb +16 -0
  511. data/config/initializers/locale.rb +18 -0
  512. data/config/initializers/mime_types.rb +12 -0
  513. data/config/initializers/paginate_arrays.rb +11 -0
  514. data/config/initializers/ransack.rb +20 -0
  515. data/config/initializers/relative_url_root.rb +10 -0
  516. data/config/initializers/secret_token.rb +25 -0
  517. data/config/initializers/session_store.rb +5 -0
  518. data/config/initializers/simple_form.rb +100 -0
  519. data/config/initializers/views.rb +47 -0
  520. data/config/initializers/wrap_parameters.rb +14 -0
  521. data/config/locales/cz.yml +247 -0
  522. data/config/locales/cz_fat_free_crm.yml +610 -0
  523. data/config/locales/de.yml +237 -0
  524. data/config/locales/de_fat_free_crm.yml +842 -0
  525. data/config/locales/de_ransack.yml +91 -0
  526. data/config/locales/en-GB.yml +219 -0
  527. data/config/locales/en-GB_fat_free_crm.yml +937 -0
  528. data/config/locales/en-GB_ransack.yml +91 -0
  529. data/config/locales/en-US.yml +219 -0
  530. data/config/locales/en-US_fat_free_crm.yml +937 -0
  531. data/config/locales/en-US_ransack.yml +91 -0
  532. data/config/locales/en.yml +23 -0
  533. data/config/locales/es-CL.yml +227 -0
  534. data/config/locales/es-CL_fat_free_crm.yml +929 -0
  535. data/config/locales/es-CL_ransack.yml +91 -0
  536. data/config/locales/es.yml +219 -0
  537. data/config/locales/es_fat_free_crm.yml +917 -0
  538. data/config/locales/es_ransack.yml +91 -0
  539. data/config/locales/fr-CA.yml +224 -0
  540. data/config/locales/fr-CA_fat_free_crm.yml +570 -0
  541. data/config/locales/fr.yml +227 -0
  542. data/config/locales/fr_fat_free_crm.yml +934 -0
  543. data/config/locales/it.yml +219 -0
  544. data/config/locales/it_fat_free_crm.yml +592 -0
  545. data/config/locales/ja.yml +219 -0
  546. data/config/locales/ja_fat_free_crm.yml +557 -0
  547. data/config/locales/ja_ransack.yml +91 -0
  548. data/config/locales/nl.yml +210 -0
  549. data/config/locales/nl_fat_free_crm.yml +920 -0
  550. data/config/locales/nl_ransack.yml +91 -0
  551. data/config/locales/pl.yml +230 -0
  552. data/config/locales/pl_fat_free_crm.yml +570 -0
  553. data/config/locales/pt-BR.yml +232 -0
  554. data/config/locales/pt-BR_fat_free_crm.yml +650 -0
  555. data/config/locales/ru.yml +326 -0
  556. data/config/locales/ru_fat_free_crm.yml +977 -0
  557. data/config/locales/sv-SE.yml +215 -0
  558. data/config/locales/sv-SE_fat_free_crm.yml +565 -0
  559. data/config/locales/th.rb +204 -0
  560. data/config/locales/th_fat_free_crm.yml +558 -0
  561. data/config/locales/zh-CN.yml +241 -0
  562. data/config/locales/zh-CN_fat_free_crm.yml +937 -0
  563. data/config/locales/zh-CN_ransack.yml +91 -0
  564. data/config/routes.rb +199 -0
  565. data/config/settings.default.yml +400 -0
  566. data/config/unicorn.rb +32 -0
  567. data/custom_plan.rb +9 -0
  568. data/db/demo/account_contacts.yml +24 -0
  569. data/db/demo/account_opportunities.yml +24 -0
  570. data/db/demo/accounts.yml +47 -0
  571. data/db/demo/activities.yml +16 -0
  572. data/db/demo/addresses.yml +46 -0
  573. data/db/demo/avatars.yml +16 -0
  574. data/db/demo/campaigns.yml +144 -0
  575. data/db/demo/comments.yml +30 -0
  576. data/db/demo/contact_opportunities.yml +25 -0
  577. data/db/demo/contacts.yml +70 -0
  578. data/db/demo/emails.yml +53 -0
  579. data/db/demo/field_groups.yml +14 -0
  580. data/db/demo/leads.yml +71 -0
  581. data/db/demo/opportunities.yml +48 -0
  582. data/db/demo/permissions.yml +13 -0
  583. data/db/demo/preferences.yml +13 -0
  584. data/db/demo/settings.yml +12 -0
  585. data/db/demo/tasks.yml +64 -0
  586. data/db/demo/users.yml +245 -0
  587. data/db/migrate/20100928030598_create_sessions.rb +21 -0
  588. data/db/migrate/20100928030599_create_users.rb +45 -0
  589. data/db/migrate/20100928030600_create_openid_tables.rb +23 -0
  590. data/db/migrate/20100928030601_create_accounts.rb +26 -0
  591. data/db/migrate/20100928030602_create_permissions.rb +15 -0
  592. data/db/migrate/20100928030603_create_settings.rb +15 -0
  593. data/db/migrate/20100928030604_create_preferences.rb +15 -0
  594. data/db/migrate/20100928030605_create_campaigns.rb +34 -0
  595. data/db/migrate/20100928030606_create_leads.rb +38 -0
  596. data/db/migrate/20100928030607_create_contacts.rb +38 -0
  597. data/db/migrate/20100928030608_create_opportunities.rb +27 -0
  598. data/db/migrate/20100928030609_create_account_contacts.rb +14 -0
  599. data/db/migrate/20100928030610_create_account_opportunities.rb +14 -0
  600. data/db/migrate/20100928030611_create_contact_opportunities.rb +15 -0
  601. data/db/migrate/20100928030612_create_tasks.rb +26 -0
  602. data/db/migrate/20100928030613_create_comments.rb +16 -0
  603. data/db/migrate/20100928030614_create_activities.rb +19 -0
  604. data/db/migrate/20100928030615_create_avatars.rb +16 -0
  605. data/db/migrate/20100928030616_rename_remember_token.rb +11 -0
  606. data/db/migrate/20100928030617_drop_openid_tables.rb +23 -0
  607. data/db/migrate/20100928030618_add_admin_to_users.rb +11 -0
  608. data/db/migrate/20100928030619_add_suspended_to_users.rb +11 -0
  609. data/db/migrate/20100928030620_remove_uuid.rb +24 -0
  610. data/db/migrate/20100928030621_add_email_to_accounts.rb +9 -0
  611. data/db/migrate/20100928030622_add_background_info_to_models.rb +19 -0
  612. data/db/migrate/20100928030623_create_addresses.rb +49 -0
  613. data/db/migrate/20100928030624_add_index_on_permissions.rb +9 -0
  614. data/db/migrate/20100928030625_create_emails.rb +26 -0
  615. data/db/migrate/20100928030626_add_state_to_timeline_objects.rb +13 -0
  616. data/db/migrate/20100928030627_acts_as_taggable_on_migration.rb +29 -0
  617. data/db/migrate/20101221123456_add_single_access_token_to_users.rb +9 -0
  618. data/db/migrate/20101221345678_add_rating_and_category_to_accounts.rb +11 -0
  619. data/db/migrate/20110719082054_add_skype_to_contacts_and_leads.rb +11 -0
  620. data/db/migrate/20111101083437_create_fields.rb +27 -0
  621. data/db/migrate/20111101090312_create_field_groups.rb +15 -0
  622. data/db/migrate/20111116091952_add_field_groups_tag_id.rb +9 -0
  623. data/db/migrate/20111117041311_change_fields_collection_to_text.rb +9 -0
  624. data/db/migrate/20111201030535_add_field_groups_klass_name.rb +24 -0
  625. data/db/migrate/20120121054235_create_lists.rb +10 -0
  626. data/db/migrate/20120216031616_create_versions.rb +18 -0
  627. data/db/migrate/20120216042541_is_paranoid_to_paper_trail.rb +10 -0
  628. data/db/migrate/20120220233724_add_versions_object_changes.rb +9 -0
  629. data/db/migrate/20120224073107_remove_default_value_and_clear_settings.rb +16 -0
  630. data/db/migrate/20120309070209_add_versions_related.rb +6 -0
  631. data/db/migrate/20120314080441_add_subscribed_users_to_entities.rb +23 -0
  632. data/db/migrate/20120316045804_activities_to_versions.rb +35 -0
  633. data/db/migrate/20120405080727_change_subscribed_users_to_set.rb +24 -0
  634. data/db/migrate/20120405080742_change_further_subscribed_users_to_set.rb +27 -0
  635. data/db/migrate/20120406082136_create_groups.rb +19 -0
  636. data/db/migrate/20120413034923_add_index_on_versions_item_type.rb +5 -0
  637. data/db/migrate/20120510025219_add_not_null_constraints_for_timestamp_columns.rb +22 -0
  638. data/db/migrate/20120528102124_increase_length_of_version_events.rb +9 -0
  639. data/db/migrate/20120801032706_add_pair_id_to_fields.rb +5 -0
  640. data/db/migrate/20121003063155_add_settings_to_custom_fields.rb +5 -0
  641. data/db/migrate/20121221033947_fix_country_mapping.rb +31 -0
  642. data/db/migrate/20131207033244_add_user_id_to_lists.rb +6 -0
  643. data/db/migrate/20140916011927_add_created_at_index_on_versions.rb +5 -0
  644. data/db/migrate/20140916012922_add_indexes_to_model_associations.rb +6 -0
  645. data/db/migrate/20141126031837_increase_email_to254_chars.rb +21 -0
  646. data/db/migrate/20141230021159_add_transaction_id_column_to_versions.rb +11 -0
  647. data/db/migrate/20141230205453_add_missing_unique_indices.acts_as_taggable_on_engine.rb +20 -0
  648. data/db/migrate/20141230205454_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  649. data/db/migrate/20141230205455_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  650. data/db/migrate/20150123060900_convert_radio_to_radio_buttons.rb +10 -0
  651. data/db/migrate/20150227123054_remove_last_request_at_from_users.rb +5 -0
  652. data/db/migrate/20150427131956_create_index_related_type.rb +9 -0
  653. data/db/migrate/20160511053730_add_account_contacts_index.rb +5 -0
  654. data/db/schema.rb +459 -0
  655. data/db/seeds.rb +9 -0
  656. data/db/seeds/fields.rb +93 -0
  657. data/docker-compose.yml +13 -0
  658. data/fat_free_crm.gemspec +63 -0
  659. data/lib/development_tasks/gem.rake +13 -0
  660. data/lib/development_tasks/license.rake +77 -0
  661. data/lib/development_tasks/rdoc.rake +20 -0
  662. data/lib/development_tasks/rspec.rake +24 -0
  663. data/lib/fat_free_crm.rb +57 -0
  664. data/lib/fat_free_crm/callback.rb +144 -0
  665. data/lib/fat_free_crm/comment_extensions.rb +28 -0
  666. data/lib/fat_free_crm/core_ext.rb +6 -0
  667. data/lib/fat_free_crm/core_ext/nil.rb +14 -0
  668. data/lib/fat_free_crm/core_ext/string.rb +48 -0
  669. data/lib/fat_free_crm/custom_fields.rb +12 -0
  670. data/lib/fat_free_crm/engine.rb +27 -0
  671. data/lib/fat_free_crm/errors.rb +37 -0
  672. data/lib/fat_free_crm/exceptions.rb +21 -0
  673. data/lib/fat_free_crm/export_csv.rb +33 -0
  674. data/lib/fat_free_crm/exportable.rb +49 -0
  675. data/lib/fat_free_crm/fields.rb +95 -0
  676. data/lib/fat_free_crm/gem_dependencies.rb +40 -0
  677. data/lib/fat_free_crm/gem_ext.rb +10 -0
  678. data/lib/fat_free_crm/gem_ext/action_controller/base.rb +16 -0
  679. data/lib/fat_free_crm/gem_ext/active_record/schema_dumper.rb +27 -0
  680. data/lib/fat_free_crm/gem_ext/active_support/buffered_logger.rb +17 -0
  681. data/lib/fat_free_crm/gem_ext/rails/engine.rb +15 -0
  682. data/lib/fat_free_crm/gem_ext/rake/task.rb +13 -0
  683. data/lib/fat_free_crm/gem_ext/simple_form/action_view_extensions/form_helper.rb +24 -0
  684. data/lib/fat_free_crm/i18n.rb +42 -0
  685. data/lib/fat_free_crm/load_settings.rb +18 -0
  686. data/lib/fat_free_crm/mail_processor/base.rb +227 -0
  687. data/lib/fat_free_crm/mail_processor/comment_replies.rb +69 -0
  688. data/lib/fat_free_crm/mail_processor/dropbox.rb +273 -0
  689. data/lib/fat_free_crm/permissions.rb +109 -0
  690. data/lib/fat_free_crm/renderers.rb +11 -0
  691. data/lib/fat_free_crm/secret_token_generator.rb +59 -0
  692. data/lib/fat_free_crm/sortable.rb +43 -0
  693. data/lib/fat_free_crm/tabs.rb +23 -0
  694. data/lib/fat_free_crm/version.rb +15 -0
  695. data/lib/fat_free_crm/view_factory.rb +81 -0
  696. data/lib/gravatar_image_tag.rb +58 -0
  697. data/lib/missing_translation_detector.rb +50 -0
  698. data/lib/tasks/.gitkeep +0 -0
  699. data/lib/tasks/.gitkeep~master +0 -0
  700. data/lib/tasks/ffcrm/comment_replies.rake +27 -0
  701. data/lib/tasks/ffcrm/config.rake +40 -0
  702. data/lib/tasks/ffcrm/demo.rake +62 -0
  703. data/lib/tasks/ffcrm/dropbox.rake +28 -0
  704. data/lib/tasks/ffcrm/missing_translations.rake +34 -0
  705. data/lib/tasks/ffcrm/secret.rake +15 -0
  706. data/lib/tasks/ffcrm/settings.rake +20 -0
  707. data/lib/tasks/ffcrm/setup.rake +81 -0
  708. data/lib/tasks/ffcrm/update_data.rake +238 -0
  709. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  710. data/public/404.html +26 -0
  711. data/public/422.html +26 -0
  712. data/public/500.html +26 -0
  713. data/public/favicon.ico +0 -0
  714. data/public/robots.txt +5 -0
  715. data/script/rails +6 -0
  716. data/spec/controllers/admin/groups_controller_spec.rb +9 -0
  717. data/spec/controllers/admin/users_controller_spec.rb +305 -0
  718. data/spec/controllers/applications_controller_spec.rb +41 -0
  719. data/spec/controllers/authentications_controller_spec.rb +148 -0
  720. data/spec/controllers/comments_controller_spec.rb +193 -0
  721. data/spec/controllers/emails_controller_spec.rb +35 -0
  722. data/spec/controllers/entities/accounts_controller_spec.rb +605 -0
  723. data/spec/controllers/entities/campaigns_controller_spec.rb +643 -0
  724. data/spec/controllers/entities/contacts_controller_spec.rb +702 -0
  725. data/spec/controllers/entities/leads_controller_spec.rb +1007 -0
  726. data/spec/controllers/entities/opportunities_controller_spec.rb +902 -0
  727. data/spec/controllers/entities_controller_spec.rb +40 -0
  728. data/spec/controllers/home_controller_spec.rb +231 -0
  729. data/spec/controllers/lists_controller_spec.rb +9 -0
  730. data/spec/controllers/passwords_controller_spec.rb +30 -0
  731. data/spec/controllers/tasks_controller_spec.rb +512 -0
  732. data/spec/controllers/users_controller_spec.rb +431 -0
  733. data/spec/factories/account_factories.rb +38 -0
  734. data/spec/factories/campaign_factories.rb +28 -0
  735. data/spec/factories/contact_factories.rb +43 -0
  736. data/spec/factories/field_factories.rb +37 -0
  737. data/spec/factories/lead_factories.rb +34 -0
  738. data/spec/factories/list_factories.rb +11 -0
  739. data/spec/factories/opportunity_factories.rb +37 -0
  740. data/spec/factories/sequences.rb +31 -0
  741. data/spec/factories/setting_factories.rb +13 -0
  742. data/spec/factories/shared_factories.rb +66 -0
  743. data/spec/factories/subscription_factories.rb +11 -0
  744. data/spec/factories/tag_factories.rb +10 -0
  745. data/spec/factories/task_factories.rb +27 -0
  746. data/spec/factories/user_factories.rb +64 -0
  747. data/spec/features/acceptance_helper.rb +9 -0
  748. data/spec/features/accounts_spec.rb +109 -0
  749. data/spec/features/admin/groups_spec.rb +30 -0
  750. data/spec/features/admin/users_spec.rb +37 -0
  751. data/spec/features/campaigns_spec.rb +103 -0
  752. data/spec/features/contacts_spec.rb +129 -0
  753. data/spec/features/dashboard_spec.rb +66 -0
  754. data/spec/features/leads_spec.rb +129 -0
  755. data/spec/features/opportunities_overview_spec.rb +87 -0
  756. data/spec/features/opportunities_spec.rb +105 -0
  757. data/spec/features/support/browser.rb +18 -0
  758. data/spec/features/support/headless.rb +17 -0
  759. data/spec/features/support/helpers.rb +30 -0
  760. data/spec/features/support/maintain_sessions.rb +10 -0
  761. data/spec/features/support/paths.rb +46 -0
  762. data/spec/features/support/selector_helpers.rb +31 -0
  763. data/spec/features/tasks_spec.rb +93 -0
  764. data/spec/fixtures/rails.png +0 -0
  765. data/spec/helpers/accounts_helper_spec.rb +14 -0
  766. data/spec/helpers/admin/field_groups_helper_spec.rb +18 -0
  767. data/spec/helpers/admin/plugins_helper_spec.rb +9 -0
  768. data/spec/helpers/admin/settings_helper_spec.rb +9 -0
  769. data/spec/helpers/admin/users_helper_spec.rb +9 -0
  770. data/spec/helpers/application_helper_spec.rb +83 -0
  771. data/spec/helpers/authentications_helper_spec.rb +14 -0
  772. data/spec/helpers/campaigns_helper_spec.rb +14 -0
  773. data/spec/helpers/comments_helper_spec.rb +14 -0
  774. data/spec/helpers/contacts_helper_spec.rb +14 -0
  775. data/spec/helpers/emails_helper_spec.rb +9 -0
  776. data/spec/helpers/fields_helper_spec.rb +10 -0
  777. data/spec/helpers/groups_helper_spec.rb +19 -0
  778. data/spec/helpers/home_helper_spec.rb +14 -0
  779. data/spec/helpers/leads_helper_spec.rb +14 -0
  780. data/spec/helpers/lists_helper_spec.rb +19 -0
  781. data/spec/helpers/opportunities_helper_spec.rb +14 -0
  782. data/spec/helpers/passwords_helper_spec.rb +14 -0
  783. data/spec/helpers/tasks_helper_spec.rb +18 -0
  784. data/spec/helpers/users_helper_spec.rb +37 -0
  785. data/spec/lib/comment_extensions_spec.rb +34 -0
  786. data/spec/lib/core_ext/string_spec.rb +21 -0
  787. data/spec/lib/errors_spec.rb +30 -0
  788. data/spec/lib/fields_spec.rb +99 -0
  789. data/spec/lib/mail_processor/base_spec.rb +167 -0
  790. data/spec/lib/mail_processor/comment_replies_spec.rb +68 -0
  791. data/spec/lib/mail_processor/dropbox_spec.rb +304 -0
  792. data/spec/lib/mail_processor/sample_emails/dropbox.rb +171 -0
  793. data/spec/lib/permissions_spec.rb +134 -0
  794. data/spec/lib/secret_token_generator_spec.rb +67 -0
  795. data/spec/lib/view_factory_spec.rb +67 -0
  796. data/spec/mailers/subscription_mailer_spec.rb +47 -0
  797. data/spec/mailers/user_mailer_spec.rb +139 -0
  798. data/spec/models/entities/account_contact_spec.rb +31 -0
  799. data/spec/models/entities/account_opportunity_spec.rb +31 -0
  800. data/spec/models/entities/account_spec.rb +178 -0
  801. data/spec/models/entities/campaign_spec.rb +136 -0
  802. data/spec/models/entities/contact_opportunity_spec.rb +32 -0
  803. data/spec/models/entities/contact_spec.rb +208 -0
  804. data/spec/models/entities/lead_spec.rb +102 -0
  805. data/spec/models/entities/opportunity_spec.rb +287 -0
  806. data/spec/models/fields/custom_field_date_pair_spec.rb +88 -0
  807. data/spec/models/fields/custom_field_pair_spec.rb +74 -0
  808. data/spec/models/fields/custom_field_spec.rb +125 -0
  809. data/spec/models/fields/field_group_spec.rb +27 -0
  810. data/spec/models/fields/field_spec.rb +65 -0
  811. data/spec/models/list_spec.rb +17 -0
  812. data/spec/models/observers/entity_observer_spec.rb +72 -0
  813. data/spec/models/polymorphic/address_spec.rb +36 -0
  814. data/spec/models/polymorphic/avatar_spec.rb +44 -0
  815. data/spec/models/polymorphic/comment_spec.rb +47 -0
  816. data/spec/models/polymorphic/email_spec.rb +40 -0
  817. data/spec/models/polymorphic/task_spec.rb +385 -0
  818. data/spec/models/polymorphic/version_spec.rb +244 -0
  819. data/spec/models/setting_spec.rb +54 -0
  820. data/spec/models/users/abilities/user_ability_spec.rb +63 -0
  821. data/spec/models/users/authentication_spec.rb +17 -0
  822. data/spec/models/users/group_spec.rb +9 -0
  823. data/spec/models/users/permission_spec.rb +48 -0
  824. data/spec/models/users/preference_spec.rb +69 -0
  825. data/spec/models/users/user_spec.rb +237 -0
  826. data/spec/routing/accounts_routing_spec.rb +58 -0
  827. data/spec/routing/admin/users_routing_spec.rb +38 -0
  828. data/spec/routing/campaigns_routing_spec.rb +62 -0
  829. data/spec/routing/comments_routing_spec.rb +30 -0
  830. data/spec/routing/contacts_routing_spec.rb +58 -0
  831. data/spec/routing/emails_routing_spec.rb +38 -0
  832. data/spec/routing/leads_routing_spec.rb +86 -0
  833. data/spec/routing/opportunities_routing_spec.rb +62 -0
  834. data/spec/routing/tasks_routing_spec.rb +66 -0
  835. data/spec/routing/users_routing_spec.rb +82 -0
  836. data/spec/shared/controllers.rb +103 -0
  837. data/spec/shared/models.rb +139 -0
  838. data/spec/spec_helper.rb +107 -0
  839. data/spec/support/assert_select.rb +164 -0
  840. data/spec/support/auth_macros.rb +48 -0
  841. data/spec/support/macros.rb +44 -0
  842. data/spec/support/mail_processor_mocks.rb +35 -0
  843. data/spec/support/uploaded_file.rb +8 -0
  844. data/spec/views/accounts/_edit.haml_spec.rb +42 -0
  845. data/spec/views/accounts/_new.haml_spec.rb +40 -0
  846. data/spec/views/accounts/create.js.haml_spec.rb +51 -0
  847. data/spec/views/accounts/destroy.js.haml_spec.rb +32 -0
  848. data/spec/views/accounts/edit.js.haml_spec.rb +64 -0
  849. data/spec/views/accounts/index.haml_spec.rb +41 -0
  850. data/spec/views/accounts/index.js.haml_spec.rb +32 -0
  851. data/spec/views/accounts/new.js.haml_spec.rb +42 -0
  852. data/spec/views/accounts/show.haml_spec.rb +33 -0
  853. data/spec/views/accounts/update.js.haml_spec.rb +94 -0
  854. data/spec/views/admin/field_groups/create.js.haml_spec.rb +29 -0
  855. data/spec/views/admin/field_groups/destroy.js.haml_spec.rb +29 -0
  856. data/spec/views/admin/field_groups/edit.js.haml_spec.rb +22 -0
  857. data/spec/views/admin/field_groups/new.js.haml_spec.rb +23 -0
  858. data/spec/views/admin/field_groups/update.js.haml_spec.rb +28 -0
  859. data/spec/views/admin/users/_create.haml_spec.rb +21 -0
  860. data/spec/views/admin/users/create.js.haml_spec.rb +40 -0
  861. data/spec/views/admin/users/destroy.js.haml_spec.rb +51 -0
  862. data/spec/views/admin/users/edit.js.haml_spec.rb +42 -0
  863. data/spec/views/admin/users/index.haml_spec.rb +20 -0
  864. data/spec/views/admin/users/index.js.haml_spec.rb +24 -0
  865. data/spec/views/admin/users/new.js.haml_spec.rb +32 -0
  866. data/spec/views/admin/users/reactivate.js.haml_spec.rb +20 -0
  867. data/spec/views/admin/users/show.haml_spec.rb +16 -0
  868. data/spec/views/admin/users/suspend.js.haml_spec.rb +20 -0
  869. data/spec/views/admin/users/update.js.haml_spec.rb +36 -0
  870. data/spec/views/application/auto_complete.haml_spec.rb +46 -0
  871. data/spec/views/authentications/new.haml_spec.rb +29 -0
  872. data/spec/views/campaigns/_edit.haml_spec.rb +42 -0
  873. data/spec/views/campaigns/_new.haml_spec.rb +39 -0
  874. data/spec/views/campaigns/create.js.haml_spec.rb +48 -0
  875. data/spec/views/campaigns/destroy.js.haml_spec.rb +30 -0
  876. data/spec/views/campaigns/edit.js.haml_spec.rb +64 -0
  877. data/spec/views/campaigns/index.haml_spec.rb +35 -0
  878. data/spec/views/campaigns/index.js.haml_spec.rb +32 -0
  879. data/spec/views/campaigns/new.js.haml_spec.rb +48 -0
  880. data/spec/views/campaigns/show.haml_spec.rb +33 -0
  881. data/spec/views/campaigns/update.js.haml_spec.rb +80 -0
  882. data/spec/views/comments/edit.js.haml_spec.rb +29 -0
  883. data/spec/views/contacts/_edit.haml_spec.rb +71 -0
  884. data/spec/views/contacts/_new.haml_spec.rb +50 -0
  885. data/spec/views/contacts/create.js.haml_spec.rb +64 -0
  886. data/spec/views/contacts/destroy.js.haml_spec.rb +43 -0
  887. data/spec/views/contacts/edit.js.haml_spec.rb +72 -0
  888. data/spec/views/contacts/index.haml_spec.rb +35 -0
  889. data/spec/views/contacts/index.js.html_spec.rb +32 -0
  890. data/spec/views/contacts/new.js.haml_spec.rb +45 -0
  891. data/spec/views/contacts/show.haml_spec.rb +30 -0
  892. data/spec/views/contacts/update.js.haml_spec.rb +130 -0
  893. data/spec/views/home/index.haml_spec.rb +34 -0
  894. data/spec/views/home/index.js.haml_spec.rb +31 -0
  895. data/spec/views/home/options.js.haml_spec.rb +51 -0
  896. data/spec/views/leads/_convert.haml_spec.rb +28 -0
  897. data/spec/views/leads/_edit.haml_spec.rb +45 -0
  898. data/spec/views/leads/_new.haml_spec.rb +43 -0
  899. data/spec/views/leads/_sidebar_show.haml_spec.rb +29 -0
  900. data/spec/views/leads/convert.js.haml_spec.rb +77 -0
  901. data/spec/views/leads/create.js.haml_spec.rb +68 -0
  902. data/spec/views/leads/destroy.js.haml_spec.rb +47 -0
  903. data/spec/views/leads/edit.js.haml_spec.rb +74 -0
  904. data/spec/views/leads/index.haml_spec.rb +35 -0
  905. data/spec/views/leads/index.js.haml_spec.rb +32 -0
  906. data/spec/views/leads/new.js.haml_spec.rb +45 -0
  907. data/spec/views/leads/promote.js.haml_spec.rb +141 -0
  908. data/spec/views/leads/reject.js.haml_spec.rb +46 -0
  909. data/spec/views/leads/show.haml_spec.rb +27 -0
  910. data/spec/views/leads/update.js.haml_spec.rb +124 -0
  911. data/spec/views/opportunities/_edit.haml_spec.rb +68 -0
  912. data/spec/views/opportunities/_new.haml_spec.rb +49 -0
  913. data/spec/views/opportunities/create.js.haml_spec.rb +86 -0
  914. data/spec/views/opportunities/destroy.js.haml_spec.rb +65 -0
  915. data/spec/views/opportunities/edit.js.haml_spec.rb +73 -0
  916. data/spec/views/opportunities/index.haml_spec.rb +36 -0
  917. data/spec/views/opportunities/index.js.haml_spec.rb +33 -0
  918. data/spec/views/opportunities/new.js.haml_spec.rb +52 -0
  919. data/spec/views/opportunities/show.haml_spec.rb +30 -0
  920. data/spec/views/opportunities/update.js.haml_spec.rb +149 -0
  921. data/spec/views/tasks/_edit.haml_spec.rb +48 -0
  922. data/spec/views/tasks/complete.js.haml_spec.rb +66 -0
  923. data/spec/views/tasks/create.js.haml_spec.rb +119 -0
  924. data/spec/views/tasks/destroy.js.haml_spec.rb +56 -0
  925. data/spec/views/tasks/edit.js.haml_spec.rb +74 -0
  926. data/spec/views/tasks/index.haml_spec.rb +44 -0
  927. data/spec/views/tasks/new.js.haml_spec.rb +47 -0
  928. data/spec/views/tasks/uncomplete.js.haml_spec.rb +44 -0
  929. data/spec/views/tasks/update.js.haml_spec.rb +141 -0
  930. data/spec/views/users/avatar.js.haml_spec.rb +33 -0
  931. data/spec/views/users/change_password.js.haml_spec.rb +50 -0
  932. data/spec/views/users/edit.js.haml_spec.rb +33 -0
  933. data/spec/views/users/password.js.haml_spec.rb +34 -0
  934. data/spec/views/users/update.js.haml_spec.rb +45 -0
  935. data/spec/views/users/upload_avatar.js.haml_spec.rb +44 -0
  936. data/vendor/assets/images/calendar_date_select/calendar.gif +0 -0
  937. data/vendor/assets/images/chosen-sprite.png +0 -0
  938. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  939. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  940. data/vendor/assets/images/jquery-ui/ui-bg_flat_100_ffffff_40x100.png +0 -0
  941. data/vendor/assets/images/jquery-ui/ui-bg_flat_25_3875d7_40x100.png +0 -0
  942. data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
  943. data/vendor/assets/images/jquery-ui/ui-bg_flat_65_3875d7_40x100.png +0 -0
  944. data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  945. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  946. data/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png +0 -0
  947. data/vendor/assets/images/jquery-ui/ui-icons_466bb1_256x240.png +0 -0
  948. data/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png +0 -0
  949. data/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  950. data/vendor/assets/javascripts/ajax-chosen-jquery.js +2 -0
  951. data/vendor/assets/javascripts/ajax-chosen.jquery.coffee +171 -0
  952. data/vendor/assets/javascripts/chosen-jquery.js +3 -0
  953. data/vendor/assets/javascripts/chosen.jquery.coffee +574 -0
  954. data/vendor/assets/javascripts/jquery.disable.js +23 -0
  955. data/vendor/assets/javascripts/jquery_timeago/index.js +19 -0
  956. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js +18 -0
  957. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js +18 -0
  958. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js +20 -0
  959. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js +20 -0
  960. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es-CL.js +18 -0
  961. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js +18 -0
  962. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js +17 -0
  963. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js +17 -0
  964. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js +16 -0
  965. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js +19 -0
  966. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js +194 -0
  967. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.nl.js +20 -0
  968. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js +31 -0
  969. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js +18 -0
  970. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js +34 -0
  971. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js +18 -0
  972. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js +20 -0
  973. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js +20 -0
  974. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-addon.js +1882 -0
  975. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-af.js +20 -0
  976. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ca.js +20 -0
  977. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-cz.js +20 -0
  978. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-de.js +20 -0
  979. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-el.js +20 -0
  980. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es-CL.js +20 -0
  981. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es.js +20 -0
  982. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-et.js +20 -0
  983. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fi.js +20 -0
  984. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr-CA.js +20 -0
  985. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr.js +20 -0
  986. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-gl.js +20 -0
  987. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-he.js +20 -0
  988. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-hu.js +20 -0
  989. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-id.js +20 -0
  990. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-it.js +20 -0
  991. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ja.js +20 -0
  992. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ko.js +20 -0
  993. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-lt.js +20 -0
  994. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-nl.js +20 -0
  995. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-no.js +20 -0
  996. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pl.js +20 -0
  997. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt-BR.js +22 -0
  998. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt.js +20 -0
  999. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ro.js +20 -0
  1000. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ru.js +20 -0
  1001. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sk.js +20 -0
  1002. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sv-SE.js +20 -0
  1003. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-th.js +19 -0
  1004. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-tr.js +20 -0
  1005. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-vi.js +20 -0
  1006. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-CN.js +20 -0
  1007. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-TW.js +20 -0
  1008. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-cz.js +23 -0
  1009. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-de.js +23 -0
  1010. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-en-GB.js +23 -0
  1011. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es-CL.js +23 -0
  1012. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es.js +23 -0
  1013. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr-CA.js +21 -0
  1014. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr.js +23 -0
  1015. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-it.js +23 -0
  1016. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ja.js +23 -0
  1017. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-nl.js +21 -0
  1018. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pl.js +23 -0
  1019. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt-BR.js +23 -0
  1020. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt.js +21 -0
  1021. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ru.js +23 -0
  1022. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-sv-SE.js +23 -0
  1023. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-th.js +23 -0
  1024. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-zh-CN.js +23 -0
  1025. data/vendor/assets/javascripts/lib/abstract-chosen.coffee +110 -0
  1026. data/vendor/assets/javascripts/lib/select-parser.coffee +51 -0
  1027. data/vendor/assets/javascripts/rating.js +162 -0
  1028. data/vendor/assets/javascripts/textarea_autocomplete.js +605 -0
  1029. data/vendor/assets/stylesheets/chosen.css.sass +361 -0
  1030. data/vendor/assets/stylesheets/jquery-ui.custom.scss +566 -0
  1031. data/vendor/assets/stylesheets/modalbox.css +107 -0
  1032. data/vendor/gems/globby-0.1.2/LICENSE.txt +20 -0
  1033. data/vendor/gems/globby-0.1.2/README.md +65 -0
  1034. data/vendor/gems/globby-0.1.2/Rakefile +9 -0
  1035. data/vendor/gems/globby-0.1.2/lib/globby.rb +47 -0
  1036. data/vendor/gems/globby-0.1.2/lib/globby/glob.rb +90 -0
  1037. data/vendor/gems/globby-0.1.2/lib/globby/globject.rb +18 -0
  1038. data/vendor/gems/globby-0.1.2/lib/globby/result.rb +20 -0
  1039. data/vendor/gems/globby-0.1.2/spec/gitignore_spec.rb +109 -0
  1040. data/vendor/gems/globby-0.1.2/spec/globby_spec.rb +93 -0
  1041. data/zeus.json +22 -0
  1042. metadata +1566 -0
@@ -0,0 +1,237 @@
1
+ # German translations for Ruby on Rails
2
+ # by Clemens Kofler (clemens@railway.at)
3
+ # contributors:
4
+ # - Alexander Dreher - http://github.com/alexdreher - Rails 3 update
5
+
6
+ ---
7
+ de:
8
+ date:
9
+ formats:
10
+ default: ! '%d.%m.%Y'
11
+ short: ! '%e. %b'
12
+ long: ! '%e. %B %Y'
13
+ only_day: ! '%e'
14
+ day_names:
15
+ - Sonntag
16
+ - Montag
17
+ - Dienstag
18
+ - Mittwoch
19
+ - Donnerstag
20
+ - Freitag
21
+ - Samstag
22
+ abbr_day_names:
23
+ - So
24
+ - Mo
25
+ - Di
26
+ - Mi
27
+ - Do
28
+ - Fr
29
+ - Sa
30
+ month_names:
31
+ -
32
+ - Jänner
33
+ - Februar
34
+ - März
35
+ - April
36
+ - Mai
37
+ - Juni
38
+ - Juli
39
+ - August
40
+ - September
41
+ - Oktober
42
+ - November
43
+ - Dezember
44
+ abbr_month_names:
45
+ -
46
+ - Jän
47
+ - Feb
48
+ - Mär
49
+ - Apr
50
+ - Mai
51
+ - Jun
52
+ - Jul
53
+ - Aug
54
+ - Sep
55
+ - Okt
56
+ - Nov
57
+ - Dez
58
+ order:
59
+ - :day
60
+ - :month
61
+ - :year
62
+ time:
63
+ formats:
64
+ default: ! '%A, %d. %B %Y, %H:%M Uhr'
65
+ short: ! '%d. %B, %H:%M Uhr'
66
+ long: ! '%A, %d. %B %Y, %H:%M Uhr'
67
+ time: ! '%H:%M'
68
+ am: vormittags
69
+ pm: nachmittags
70
+ datetime:
71
+ distance_in_words:
72
+ half_a_minute: eine halbe Minute
73
+ less_than_x_seconds:
74
+ one: weniger als eine Sekunde
75
+ other: weniger als %{count} Sekunden
76
+ x_seconds:
77
+ one: eine Sekunde
78
+ other: ! '%{count} Sekunden'
79
+ less_than_x_minutes:
80
+ one: weniger als eine Minute
81
+ other: weniger als %{count} Minuten
82
+ x_minutes:
83
+ one: eine Minute
84
+ other: ! '%{count} Minuten'
85
+ about_x_hours:
86
+ one: etwa eine Stunde
87
+ other: etwa %{count} Stunden
88
+ x_days:
89
+ one: ein Tag
90
+ other: ! '%{count} Tage'
91
+ about_x_months:
92
+ one: etwa ein Monat
93
+ other: etwa %{count} Monate
94
+ x_months:
95
+ one: ein Monat
96
+ other: ! '%{count} Monate'
97
+ almost_x_years:
98
+ one: fast ein Jahr
99
+ other: fast %{count} Jahre
100
+ about_x_years:
101
+ one: etwa ein Jahr
102
+ other: etwa %{count} Jahre
103
+ over_x_years:
104
+ one: mehr als ein Jahr
105
+ other: mehr als %{count} Jahre
106
+ prompts:
107
+ second: Sekunden
108
+ minute: Minuten
109
+ hour: Stunden
110
+ day: Tag
111
+ month: Monat
112
+ year: Jahr
113
+ number:
114
+ format:
115
+ precision: 2
116
+ separator: ! ','
117
+ delimiter: .
118
+ significant: false
119
+ strip_insignificant_zeros: false
120
+ currency:
121
+ format:
122
+ unit: €
123
+ format: ! '%n%u'
124
+ separator: ! ','
125
+ delimiter: ''
126
+ precision: 2
127
+ significant: false
128
+ strip_insignificant_zeros: false
129
+ percentage:
130
+ format:
131
+ delimiter: ''
132
+ precision:
133
+ format:
134
+ delimiter: ''
135
+ human:
136
+ format:
137
+ delimiter: ''
138
+ precision: 1
139
+ significant: true
140
+ strip_insignificant_zeros: true
141
+ storage_units:
142
+ format: ! '%n %u'
143
+ units:
144
+ byte:
145
+ one: Byte
146
+ other: Bytes
147
+ kb: KB
148
+ mb: MB
149
+ gb: GB
150
+ tb: TB
151
+ decimal_units:
152
+ format: ! '%n %u'
153
+ units:
154
+ unit: ''
155
+ thousand: Tausend
156
+ million: Millionen
157
+ billion:
158
+ one: Milliarde
159
+ others: Milliarden
160
+ trillion: Billionen
161
+ quadrillion:
162
+ one: Billiarde
163
+ others: Billiarden
164
+ support:
165
+ array:
166
+ words_connector: ! ', '
167
+ two_words_connector: ! ' und '
168
+ last_word_connector: ! ' und '
169
+ select:
170
+ prompt: ! 'Bitte wählen:'
171
+ activemodel:
172
+ errors:
173
+ template:
174
+ header:
175
+ one: ! 'Konnte %{model} nicht speichern: ein Fehler.'
176
+ other: ! 'Konnte %{model} nicht speichern: %{count} Fehler.'
177
+ body: ! 'Bitte überprüfen Sie die folgenden Felder:'
178
+ helpers:
179
+ select:
180
+ prompt: Bitte wählen
181
+ submit:
182
+ create: ! '%{model} erstellen'
183
+ update: ! '%{model} aktualisieren'
184
+ submit: ! '%{model} speichern'
185
+ errors:
186
+ format: ! '%{attribute} %{message}'
187
+ messages:
188
+ inclusion: ist kein gültiger Wert
189
+ exclusion: ist nicht verfügbar
190
+ invalid: ist nicht gültig
191
+ confirmation: stimmt nicht mit der Bestätigung überein
192
+ accepted: muss akzeptiert werden
193
+ empty: muss ausgefüllt werden
194
+ blank: muss ausgefüllt werden
195
+ too_long: ist zu lang (nicht mehr als %{count} Zeichen)
196
+ too_short: ist zu kurz (nicht weniger als %{count} Zeichen)
197
+ wrong_length: hat die falsche Länge (muss genau %{count} Zeichen haben)
198
+ not_a_number: ist keine Zahl
199
+ greater_than: muss größer als %{count} sein
200
+ greater_than_or_equal_to: muss größer oder gleich %{count} sein
201
+ equal_to: muss genau %{count} sein
202
+ less_than: muss kleiner als %{count} sein
203
+ less_than_or_equal_to: muss kleiner oder gleich %{count} sein
204
+ odd: muss ungerade sein
205
+ even: muss gerade sein
206
+ not_an_integer: muss ganzzahlig sein
207
+ activerecord:
208
+ errors:
209
+ template:
210
+ header:
211
+ one: ! 'Konnte %{model} nicht speichern: ein Fehler.'
212
+ other: ! 'Konnte %{model} nicht speichern: %{count} Fehler.'
213
+ body: ! 'Bitte überprüfen Sie die folgenden Felder:'
214
+ messages:
215
+ inclusion: ist kein gültiger Wert
216
+ exclusion: ist nicht verfügbar
217
+ invalid: ist nicht gültig
218
+ confirmation: stimmt nicht mit der Bestätigung überein
219
+ accepted: muss akzeptiert werden
220
+ empty: muss ausgefüllt werden
221
+ blank: muss ausgefüllt werden
222
+ too_long: ist zu lang (nicht mehr als %{count} Zeichen)
223
+ too_short: ist zu kurz (nicht weniger als %{count} Zeichen)
224
+ wrong_length: hat die falsche Länge (muss genau %{count} Zeichen haben)
225
+ not_a_number: ist keine Zahl
226
+ greater_than: muss größer als %{count} sein
227
+ greater_than_or_equal_to: muss größer oder gleich %{count} sein
228
+ equal_to: muss genau %{count} sein
229
+ less_than: muss kleiner als %{count} sein
230
+ less_than_or_equal_to: muss kleiner oder gleich %{count} sein
231
+ odd: muss ungerade sein
232
+ even: muss gerade sein
233
+ not_an_integer: muss ganzzahlig sein
234
+ taken: ist bereits vergeben
235
+ record_invalid: ! 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}'
236
+ full_messages:
237
+ format: ! '%{attribute} %{message}'
@@ -0,0 +1,842 @@
1
+ ---
2
+ de:
3
+ all: Alle
4
+ contact_info: Kontaktinformation
5
+ leads: Anfragen
6
+ task_created: Die Aufgabe wurde angelegt
7
+ about_home_page: Home-Page
8
+ msg_login_needed: Sie müssen angemeldet sein, um diese Seite zu sehen.
9
+ user_since: Benutzer seit %{value}
10
+ objectives_help: Bitte geben Sie die Anzahl erwarteter Anfragen an, die erwartete
11
+ Lead-Chance-Konversionsrate, Zielumsatz, und das Kampagnenbudget. Diese Angaben
12
+ ermöglichen die Kontrolle der Kampagneneffizienz.
13
+ option_closes_on: Abschlussdatum
14
+ follow_up: Wiedervorlage
15
+ no_discount: ohne Rabatt
16
+ probability_number: und %{value} Wahrscheinlichkeit
17
+ msg_invalig_login: Ungültiger Benutzername oder Passwort.
18
+ same_as_billing: wie Rechnungsadresse
19
+ msg_account_not_approved: Ihr Profil wurde noch nicht freigegeben.
20
+ presentation: Präsentation
21
+ activities: Aktivitäten
22
+ fax: Fax
23
+ account: Firma
24
+ all_events_past_participle: Aktivitäten
25
+ facebook: Facebook
26
+ one_month: Ein Monat
27
+ one_week: Eine Woche
28
+ completed_this_month: Diesen Monat
29
+ web_presence_small: Web-Präsenz
30
+ list: Liste
31
+ no_tasks: Sie haben keine Aufgaben, die %{value} sind
32
+ lead_status_small: Anfrage-Status
33
+ account_summary: Accountübersicht
34
+ restrict_by_tag_info: Nur markierte %{assets} zeigen
35
+ password_confirmation: Bestätige das Password
36
+ admin_fields_info: Benutzerdefinierte Felder werden in Gruppen angezeigt. Erstelle
37
+ eine neue Feldgruppe, oder füge Felder zu einer der unteren Gruppen hinzu. Du
38
+ kannst die Reihenfolge per drag & drop ändern oder die Felder zwischen den Gruppen
39
+ bewegen.
40
+ was_supposed_to_start: angenommener Beginn vor %{time_ago} am %{start_date}
41
+ due_later: Bald fällig
42
+ action_destroy: gelöscht
43
+ msg_require_admin: Sie müssen Administrator sein, um auf die Seite zu zugreifen.
44
+ budget: Budget
45
+ could_not_find: Konnte %{value} nicht finden. Feel free to
46
+ leads_small: Anfragen
47
+ final_review: Abschlussprüf.
48
+ closed_ago_on: erledigt vor %{time_ago} am %{date}
49
+ subject_opportunity: Chance
50
+ create_account: Account anlegen
51
+ recent_activity: Letzte Aktivitäten
52
+ tag_small: markiere
53
+ background_info: Hintergrund-Informationen
54
+ conversion_number: ! '%{value} Konversion'
55
+ yes_button: Ja
56
+ version:
57
+ create: ! '%{item} erstellt von %{by}'
58
+ update: ! '%{item} geändert von %{by}'
59
+ destroy: ! '%{item} gelöscht von %{by}'
60
+ set_html: ! '%{attr} auf %{to} geändert'
61
+ unset_html: ! '%{attr} nicht definiert'
62
+ change_html: ! '%{attr} wurde von %{from} zu %{to} geändert'
63
+ anonymous: anonym
64
+ password_reset_instruction: Anleitung zum Zurücksetzen des Passwortes
65
+ new: Neu
66
+ select_existing: wähle Vorhandene aus
67
+ upload_picture: Bild hochladen
68
+ body: Körper
69
+ tags: Tags
70
+ street1: Adresszeile 1
71
+ street2: Adresszeile 2
72
+ shipping_address: Lieferadresse
73
+ here: hier
74
+ select_task: Wähle Aufgabe aus
75
+ action_rejected: abgelehnt
76
+ logout: Logout
77
+ referred_by: erwähnt von
78
+ address: Adresse
79
+ sign_up: Registrieren
80
+ about_ffc: Über Fat Free CRM
81
+ convert: Umwandeln
82
+ msg_asset_not_available: ! '%{value} ist nicht länger verfügbar.'
83
+ admin_tab_tags: Markierungen
84
+ about_twitter: Twitter updates
85
+ copy_permissions: Kopiere %{value} Zugriffsregeln
86
+ task_assigned: Die Aufgabe wurde %{value} zugeordnet
87
+ amount: Betrag
88
+ referred_by_small: erwähnt von
89
+ make_public: für alle sichtbar
90
+ options: Optionen
91
+ starts_today: beginnt heute!
92
+ option_brief: kurz
93
+ tasks: Aufgabe
94
+ campaign: Kampagne
95
+ option_target_leads: target Anfragen
96
+ create_user: Erstelle Benutzer
97
+ opportunities: Chancen
98
+ accounts_small: accounts
99
+ msg_account_suspended: Das Benutzerkonto wurde abgelehnt.
100
+ permissions_intro_public: Standardmäßig haben alle Benutzer Zugriff auf den %{value}.
101
+ Sie können die Zugriffsregeln für den %{value} auch später ändern.
102
+ assigned_tasks: zugeordnete Aufgaben
103
+ objectives: Ziele
104
+ field_group_unrestricted: Diese Gruppe gilt für alle %{assets}
105
+ lead_info_small: Anfragekontakt
106
+ call: Anruf
107
+ due_asap: So schnell wie möglich
108
+ action_completed: erledigt
109
+ start_date: Startdatum
110
+ msg_last_login: Sie waren zuletzt abgemeldet am %{value}.
111
+ more: Mehr...
112
+ option_last_name: Nachname
113
+ end_date: Enddatum
114
+ started: Begonnen
115
+ admin_tab_plugins: Plugins
116
+ company: Firma
117
+ to_rss: RSS feed
118
+ yahoo: Yahoo IM
119
+ phone: Telefon
120
+ one_day: Ein Tag
121
+ personal_information: Persönliche Information
122
+ save_opportunity: Chance sichern
123
+ opportunity_small: Chancen
124
+ me: mir
125
+ none: Kein(e)
126
+ field_group_tag_restriction: Diese Gruppe gilt für %{assets} markiert mit "%{tag}
127
+ option_updated_at: Änderungsdatum
128
+ keep_private: nur für mich sichtbar
129
+ select_none: -- Kein(e) --
130
+ about_ffc_version: Fat Free CRM version
131
+ budget_label: Budget (€)
132
+ currency: (€)
133
+ close_date: Abschlussdatum
134
+ login_now_link: Login!
135
+ user_signed_up_on: Angemeldet am %{value}
136
+ on_hold: Warteschleife
137
+ gravatar_help: Gravatar ist nicht bekannt? Lern mehr über Gravatar
138
+ msg_asset_deleted: ! '%{value} wurde gelöscht.'
139
+ advanced_search_group_first: Ergebnisse zeigen, bei denen %{combinator} des Folgenden
140
+ übereinstimmen
141
+ action_view: gesehen
142
+ reject: Ablehnen
143
+ use_gravatar: Gravatar verwenden
144
+ profile: Profil
145
+ edit_field_group: Editiere Gruppe
146
+ contacts_options: Kontakt-Einstellungen
147
+ contacts_small: Kontakte
148
+ save_user: Benutzer sichern
149
+ actual_performance: Aktuelle Leistung
150
+ date:
151
+ formats:
152
+ mmddyy: ! ' %e. %b %Y'
153
+ mmddyyyy: ! '%d %B %Y'
154
+ mmdd: ! ' %e. %b'
155
+ prospecting: Neukunde
156
+ convert_lead: Anfrage umwandeln
157
+ save_note: Notiz sichern
158
+ task_due_in: fällig in %{value}
159
+ reseller: Multiplikator
160
+ opportunities_small: Chancen
161
+ no_activity_records: Keine Aktivitäten gefunden.
162
+ reject_lead_confirm: Sind Sie sicher, diese Anfrage abzulehnen?
163
+ tagged: Markiert
164
+ msg_cant_do: Kann %{asset} nicht %{action}, da es nicht mehr verfügbar ist.
165
+ extra_info_small: zusätzliche Kontaktdaten
166
+ completed_today: Heute
167
+ customer: Kunde
168
+ user_active: Aktiv
169
+ update_password_and_login: Passwort ändern und Login
170
+ task_assigned_to: und %{value} zugeordnet
171
+ completed_yesterday: Gestern
172
+ completed_tab: Erledigt
173
+ create_task_small: erstellen Sie eine neue Aufgabe
174
+ linked_in: LinkedIn
175
+ pipeline: Pipeline
176
+ option_amount*probability: gewichteter Betrag
177
+ views:
178
+ admin:
179
+ plugins:
180
+ version: Version
181
+ description: Beschreibung
182
+ author: Autor
183
+ msg_pwd_instructions_sent: Die Anleitung zum Zurücksetzen des Passwortes wurde Ihnen
184
+ zugeschickt. Prüfen Sie Ihre Mail.
185
+ discount_number: mit %{value} Rabatt
186
+ lunch: Mittag
187
+ to_atom: Atom feed
188
+ option_all_users: Alle Benutzer
189
+ option_amount: Betrag
190
+ password_intro: Bitte geben Sie Ihre E-Mailadresse an, wir senden Ihnen die Anleitung
191
+ zum Zurücksetzen des Passwortes.
192
+ simple_form:
193
+ true: Ja
194
+ required:
195
+ text: notwendig
196
+ mark: ! '*'
197
+ error_notification:
198
+ default_message: ! 'Es wurden ein paar Fehler gefunden. Bitte üperprüfen Sie
199
+ Ihre Eingaben:'
200
+ false: Nein
201
+ permissions: Zugriffsregeln
202
+ no_match: Kein %{value} Treffer
203
+ name: Name
204
+ closing_date: Abschlussdatum ist %{value}
205
+ no_recent_items: Es gibt hier noch nichts zum Anzeigen.
206
+ affiliate: Verbundenes Unternehmen
207
+ last_logged_in: last logged in %{value}
208
+ status: Status
209
+ dropbox_notification_to: Hinzugefügt zu
210
+ related: ! 're:'
211
+ msg_welcome: Willkommen bei Fat Free CRM!
212
+ msg_bad_image_file: ^Konnte das angegebene Bild nicht hochladen oder zu zuschneiden.
213
+ save_lead: Anfrage sichern
214
+ custom_fields: Benutzerdefinierte Felder
215
+ category: Kategorie
216
+ create_lead: Erstelle Anfrage
217
+ advanced_search_add_condition: Setze einen Filter
218
+ due_tomorrow: Morgen
219
+ forgot_password: Passwort vergessen?
220
+ was_supposed_to_start_in: angenommener Beginn in %{starts_in} am %{start_date}
221
+ activity_options: Zeige %{models} Aktivitäten, die %{user} in der/den letzten %{period}
222
+ unternommen hat.
223
+ job_title: Titel
224
+ completed_last_month: Letzter Monat
225
+ campaigns: Kampagnen
226
+ advanced_search_submit: Suche
227
+ past_due: überfällig, war vor %{value} fällig
228
+ destroy_past_participle: Löschungen
229
+ create_field: Erstelle Feld
230
+ account_small: Firma
231
+ started_ago: Gestartet vor %{value}
232
+ language: Deutsch
233
+ task_from: Von %{value}
234
+ activerecord:
235
+ errors:
236
+ models:
237
+ account:
238
+ attributes:
239
+ access:
240
+ share_account: ^Bitte geben Sie die Benutzer an, mit denen Sie an dieser
241
+ Firma arbeiten.
242
+ name:
243
+ missing_account_name: ^Bitte geben Sie den Firmennamen an.
244
+ task:
245
+ attributes:
246
+ calendar:
247
+ invalid_date: ^Bitte geben Sie ein gültiges Datum an.
248
+ name:
249
+ missing_task_name: ^Bitte geben Sie eine Aufgabenbezeichnung an.
250
+ campaign:
251
+ attributes:
252
+ access:
253
+ share_campaign: ^Bitte geben Sie die Benutzer an, mit denen Sie an dieser
254
+ Kampagne arbeiten.
255
+ ends_on:
256
+ dates_not_in_sequence: ^Bitte stellen Sie sicher, dass das Enddatum
257
+ der Kampagne nach dem Startdatum liegt.
258
+ name:
259
+ missing_campaign_name: ^Bitte geben Sie den Namen der Kampagne an.
260
+ lead:
261
+ attributes:
262
+ access:
263
+ share_lead: ^Bitte geben Sie die Benutzer an, mit denen Sie an dieser
264
+ Kundenanfrage arbeiten.
265
+ first_name:
266
+ missing_first_name: ^Bitte geben Sie den Vornamen an.
267
+ last_name:
268
+ missing_last_name: ^Bitte geben Sie den Nachnamen an.
269
+ authentication:
270
+ attributes:
271
+ password_field:
272
+ is_not_valid: ist nicht gültig
273
+ login_field:
274
+ is_not_valid: ist nicht gültig
275
+ contact:
276
+ attributes:
277
+ access:
278
+ share_contact: ^Bitte geben Sie die Benutzer an, mit denen Sie an diesem
279
+ Kontakt arbeiten.
280
+ first_name:
281
+ missing_first_name: ^Bitte geben Sie den Vornamen an.
282
+ last_name:
283
+ missing_last_name: ^Bitte geben Sie den Nachnamen an.
284
+ user:
285
+ attributes:
286
+ username:
287
+ missing_username: ^Bitte geben Sie einen Benutzernamen an.
288
+ username_taken: ^Dieser Benutzername ist schon vergeben.
289
+ email:
290
+ missing_email: ^Bitte geben Sie eine Mailadresse an.
291
+ email_in_use: ^Es gibt schon einen Benutzer mit dieser Mailadresse.
292
+ opportunity:
293
+ attributes:
294
+ access:
295
+ share_opportunity: ^Bitte geben Sie die Benutzer an, mit denen Sie an
296
+ dieser Chance arbeiten.
297
+ name:
298
+ missing_opportunity_name: ^Bitte geben Sie die Bezeichnung der Chance
299
+ an.
300
+ custom_field:
301
+ required: ^%{field} muss vorhanden sein.
302
+ maxlength: ^%{field} ist zu lang.
303
+ endbeforestart: ^%{field} kann nicht enden bevor es beginnt.
304
+ attribute_options:
305
+ opportunity:
306
+ stage:
307
+ prospecting: Untersuchen
308
+ analysis: Analyse
309
+ presentation: Präsentation
310
+ proposal: Angebot
311
+ negotiation: Verhandlung
312
+ final_review: Finale Überprüfung
313
+ won: Geschlossen/Gewonnen
314
+ lost: Geschlossen/Verloren
315
+ feel_free: Seien Sie so frei und
316
+ one_hour: Eine Stunde
317
+ change_password: Passwort ändern
318
+ user: Benutzer
319
+ msg_goodbye: Sie wurden abgemeldet. Danke, dass Sie Fat Free CRM! benutzt haben.
320
+ option_leads_count: aktuelle Anfragen
321
+ suspend: Sperren
322
+ task_completed_ago: vor %{value} erledigt
323
+ probability: Wahrscheinlk.
324
+ revenue: Umsatz
325
+ save_account: Konto sichern
326
+ all_users: alle Benutzer
327
+ city: Stadt
328
+ pending_tab: Wartend
329
+ sort_by_displaying: Sortiere %{models} nach %{field}, Vorname wird %{position} dem
330
+ Nachnamen angezeigt.
331
+ lead_permissions_intro_public: Standardmäßig werden die Zugriffsregeln aus der Kampagne
332
+ kopiert oder auf öffentlich gesetzt. Dies kann auch später durchgeführt werden.
333
+ msg_password_not_changed: Ihr Passwort wurde nicht geändert.
334
+ user_never_logged_in: hat sich bisher nicht eingeloggt
335
+ completed_tasks: erledigte Aufgaben
336
+ due_next_week: Nächste Woche
337
+ billing_address: Rechnungsadresse
338
+ open_in_window: Öffne %{value} in einem neuen Fenster
339
+ subject_task: Aufgabe
340
+ completed: Erledigt
341
+ rejected: Abgelehnt
342
+ msg_password_changed: Ihr Passwort wurde geändert.
343
+ pluralize:
344
+ comment:
345
+ other: ! '%{count} Kommentare'
346
+ one: 1 Kommentar
347
+ contact:
348
+ other: ! '%{count} Kontakte'
349
+ one: 1 Kontakt
350
+ lead:
351
+ other: ! '%{count} Anfragen'
352
+ one: 1 Anfrage
353
+ login:
354
+ other: ! '%{count} logins'
355
+ one: 1 Login
356
+ opportunity:
357
+ other: ! '%{count} Chancen'
358
+ one: 1 Chance
359
+ day:
360
+ other: ! '%{count} Tage'
361
+ one: 1 Tag
362
+ profile_language: Sprache
363
+ target: Ziel
364
+ msg_cant_delete_field_group: Gruppe konnte nicht gelöscht werden.
365
+ user_signed_up: Angemeldet
366
+ tab_campaigns: Kampagnen
367
+ make_current_view_list: Erstelle Liste aus aktueller Ansicht
368
+ no_closing_date: kein erwartetes Abschlussdatum
369
+ about_user_group: Diskussionsgruppe für Benutzer
370
+ create_contact: Erstelle Kontakt
371
+ msg_logout_needed: Sie müssen abgemeldet sein, um diese Seite zu sehen.
372
+ view_past_participle: Ansichten
373
+ msg_email_not_found: Es wurde kein Benutzer mit der Mailadresse gefunden.
374
+ msg_enter_new_password: Bitte geben Sie ein neues Passwort ein.
375
+ self: Selbst generiert
376
+ list_name_info: Wenn Du den Namen einer bestehenden Liste wählst, wird diese Liste
377
+ mit deinen aktuellen Einstellungen überschrieben.
378
+ msg_account_created: Ihr Account wurde angelegt und wartet auf die Freigabe durch
379
+ den Systemadministrator.
380
+ contact: Kontakt
381
+ ransack:
382
+ predicates:
383
+ gt: ist größer als
384
+ cont: enthält
385
+ matches: entspricht
386
+ does_not_match: entspricht nicht
387
+ not_cont: enthält nicht
388
+ not_null: ist nicht Null
389
+ lt: ist weniger als
390
+ blank: ist leer
391
+ not_eq: ist nicht
392
+ ! '': ist Null
393
+ eq: ist
394
+ present: ist vorhanden
395
+ online: Online Marketing
396
+ collapsed: Ausgeblendet
397
+ advanced_search: Erweiterte Suche
398
+ basic_search: Einfache Suche
399
+ msg_password_updated: Passwort wurde erfolgreich geändert.
400
+ admin_tab_settings: Settings
401
+ current_password: Aktuelles Passwort
402
+ lists: Listen
403
+ accounts_advanced_search: Erweiterte Accountsuche
404
+ option_revenue: aktueller Umsatz
405
+ total_opportunities: Anzahl Chancen
406
+ mobile: Mobiltelefon
407
+ image_help: Das hochgeladene Bild wird automatisch auf eine Größe von 75 x 75 Pixels
408
+ berechnet. Unterstützte Formate sind GIF, JPG, und PNG.
409
+ view_pending_tasks: ausstehende Aufgaben anzeigen
410
+ about_features: Features und Fehler
411
+ finished_on: beendet am %{value}
412
+ assigned_to: Zugeordnet zu
413
+ date_created: Erstellungsdatum
414
+ subject_campaign: Kampagne
415
+ no_account: Sie haben noch keinen Benutzer?
416
+ rating: Rating
417
+ last_name: Nachname
418
+ option_rating: Rating
419
+ collapse_all: Alles ausblenden
420
+ contacted: Kontaktiert
421
+ show: Zeige
422
+ date_updated: Änderungsdatum
423
+ total_campaigns: Anzahl Kampagnen
424
+ msg_cant_create_related: Kann %{asset} nicht erstellen, da %{related} nicht länger
425
+ verfügbar ist.
426
+ to_xls: Exportiere ins Excel
427
+ campaigns_options: Kampagnen-Einstellungen
428
+ subject_lead: Anfrage
429
+ option_company: Firma
430
+ opportunities_options: Chance-Einstellungen
431
+ finishes_in: beendet in %{value}
432
+ less: Weniger...
433
+ expected_to_close: Abschluss erwartet in %{time} am %{date}
434
+ select_a_country: Wähle ein Land aus
435
+ msg_assets_not_available: ! '%{value} sind nicht verfügbar.'
436
+ confirm_password_intro: Bitte geben Sie Ihr neues Passwort ein und bestätigen es.
437
+ assigned_tab: Zugeordnet
438
+ tab_leads: Anfragen
439
+ save_campaign: Kampagne sichern
440
+ move_to: verschiebe auf
441
+ add_note: Notiz anfügen
442
+ edit_profile: Profil bearbeiten
443
+ field_group_confirm_delete: Exportiere als Comma-separiertes Dateiformat (inklusive
444
+ gelöschte Datensätze)
445
+ campaign_and_leads: Kampagne und zugehörige Anfragen
446
+ comment_notification:
447
+ reply_instructions: Sie können auf dieses e-Mail antworten um ein Kommentar hinzuzufügen,
448
+ oder zeigen Sie %{entity} in Ihrem Browser an.
449
+ intro: ! '%{user_full_name} kommentierte %{entity_type}: %{entity_name}'
450
+ my_profile: Mein Profil
451
+ add_note_help: Neue Notiz hinzufügen...
452
+ select_contact: Wähle einen Kontakt aus
453
+ create_field_group: Erstelle Gruppe.
454
+ create_opportunity: Erstelle Chance
455
+ revenue_label: Umsatz (€)
456
+ about_project_page: Projekt-Page
457
+ tab_dashboard: Dashboard
458
+ weighted_amount: Gewichteter Betrag
459
+ lead_permissions_intro_shared: Standardmäßig werden die Zugriffsregeln aus der Kampagne
460
+ kopiert oder wird vom angegebenen Benutzer übernommen. Dies kann auch später durchgeführt
461
+ werden.
462
+ completed_last_week: Letzte Woche
463
+ department_small: ! '%{value} Abteilung'
464
+ subject: Angelegenheit
465
+ cold_call: Cold Call
466
+ label: Beschriftung
467
+ state: Bundesland
468
+ won: Erfolg
469
+ admin_tab_users: Benutzer
470
+ no_saved_lists: Keine gespeicherten Listen
471
+ days_late: Verspätet um
472
+ email: Email
473
+ tab_contacts: Kontakte
474
+ campaign_small: Kampagne
475
+ number_of_leads: Anzahl der Anfragen
476
+ mail_to: Mail an %{value}
477
+ sign_up_button: Registrieren
478
+ campaigns_small: Kampagnen
479
+ convert_lead_permissions_intro: Die Zugriffsregeln des Kontakts werden von der Anfrage
480
+ übernommen. Sie können die Zugriffsregeln auch später ändern.
481
+ referral: Empfehlungen
482
+ admin: Admin
483
+ country: Land
484
+ objectives_small: Kamagnen-Ziele
485
+ planned: Geplant
486
+ confirm_delete: Sie wollen wirklich %{value} löschen?
487
+ closes_today: Abschluss heute erwartet!
488
+ login: Login
489
+ approve: Genehmige
490
+ negotiation: Vertrag
491
+ option_before: vor
492
+ convert_lead_text: Mit der Umwandlung wird %{value} zu einem Kontakt, der mit einem
493
+ existierenden oder neu zu erstellenden account verbunden wird. Der Anfrage-Status
494
+ wird automatisch auf umgewandelt geändert.
495
+ subscribe_via_email: Anmeldung via e-Mail
496
+ items_total: ! '%{count} total.'
497
+ already_signed_up: Schon registriert?
498
+ works_at: ! '%{job_title} bei %{company}'
499
+ cancel: Abbrechen
500
+ subject_user: Benutzer
501
+ sign_up_now: Registrieren Sie sich jetzt!
502
+ select_opportunity: Wähle eine Chance aus
503
+ contact_small: Kontakt
504
+ conference: Konferenz
505
+ tab_accounts: Firmen
506
+ save_profile: Profil sichern
507
+ due: Fällig
508
+ create_new: erstelle neu(e)
509
+ revenue_number: ! '%{value} Umsatz'
510
+ total_leads: Anzahl der Anfragen
511
+ proposal: Angebot
512
+ do_not_call: Nicht anrufen
513
+ meeting: Meeting
514
+ opportunity_summary: Chancen auf einen Blick
515
+ username: Benutzername
516
+ option_created_at: Erstellungsdatum
517
+ users_small: Benutzer
518
+ custom_field_options: Passe die Feldoptionen an
519
+ about_ffc_resources: Fat Free CRM Ressourcen (Links öffnen ein neues Fenster)
520
+ task_due_later: demnächst fällig
521
+ myself: mir
522
+ mobile_small: Mobiltelefon
523
+ expanded: Erweitert
524
+ alt_email: Alternative Email
525
+ create_past_participle: Zuletzt erstellte Datensätze
526
+ sort_by: Sortiere nach %{field}
527
+ aim: AOL IM
528
+ update_past_participle: Aktualisierungen
529
+ called_off: Abgesagt
530
+ task_due_today: heute fällig
531
+ converted: Umgewandelt
532
+ disable_email_subscriptions: Deaktiviere e-Mail Benachrichtigungen
533
+ total_accounts: Alle Accounts
534
+ dropbox_notification_intro: Die e-Mail wurde erfolgreich hinzugefügt, welche an
535
+ die Dropbox geschickt wurde
536
+ msg_successful_signup: Erfolgreiche Anmeldung. Willkommen bei Fat Free CRM!
537
+ following_users_will_be_notified: Die folgenden Benutzer werden mittels e-Mail benachrichtigt
538
+ skype: Skype
539
+ partner: Partner
540
+ n_a: N/A
541
+ extra_info: Zusatzinformation
542
+ option_all: alle
543
+ new_password: Neues Passwort
544
+ two_weeks: Zwei Wochen
545
+ campaign_summary: Kampagnen-Zusammenfassung
546
+ permissions_intro_shared: Standardmäßig haben nur ausgewählte Benutzer Zugriff auf
547
+ den %{value}. Sie können die Zugriffsregeln für den %{value} auch später ändern.
548
+ save_task: Aufgabe sichern
549
+ option_target_revenue: Zielumsatz
550
+ please_retry: Versuchen Sie eine andere Abfrage.
551
+ show_per_page: Zeige %{number} %{models} pro Seite in %{fmt}-Format.
552
+ admin_tab_fields: Benutzerdefinierte Felder
553
+ user_suspended_on: Gesperrt am %{value}
554
+ conversion: Konversion
555
+ due_today: Heute fällig
556
+ option_probability: Wahrscheinlichkeit
557
+ select_blank: -- Auswahl --
558
+ action_reassigned: neu zugeordnet
559
+ opportunity: Chancen
560
+ total_tasks: Anzahl %{value}
561
+ to_csv: Exportiere als Excel-kompatibles Dateiformat (.csv) inklusive gelöschte
562
+ Datensätze
563
+ task: Aufgaben
564
+ analysis: Analyse
565
+ not_implemented: Noch nicht implementiert.
566
+ tag_with_taggings_confirm_delete: Wenn dieser Tag gelöscht wird, wird er von %{value}
567
+ Einträgen entfernt.
568
+ search_assets: Suche %{value}
569
+ task_completed_by: vor %{time_ago} von %{user} erledigt
570
+ comment: Kommentar
571
+ advanced_search_remove_condition: Entferne Filter
572
+ user_admin: Admin
573
+ permissions_intro_private: Standardmäßig haben nur Sie Zugriff auf den %{value}.
574
+ Sie können die Zugriffsregeln für den %{value} auch später ändern.
575
+ money: Geld
576
+ zipcode: Postleitzahl
577
+ action_rescheduled: neu geplant
578
+ leads_options: Anfrage-Einstellungen
579
+ due_this_week: Diese Woche
580
+ select_an_account: Wähle einen Account aus
581
+ about_thank_you: Danke, dass Sie Fat Free CRM benutzen! Wir schätzen Ihre Hilfe
582
+ und hoffen, Sie finden Gefallen an der Software.
583
+ web: Website
584
+ accounts_options: Firmen-Optionen
585
+ crm_admin_page: Fat Free CRM Administration
586
+ tab_tasks: Aufgaben
587
+ blog: Website/Blog
588
+ source: Quelle
589
+ option_after: nach
590
+ task_overdue: zu spät, war fällig am
591
+ alt_email_small: Andere
592
+ vendor: Verkäufer
593
+ user_awaits_approval: Genehmigung erforderlich
594
+ field_group_tags: Gruppen mit diesem Tag
595
+ save_field: Speichere Feld
596
+ phone_toll_free: kostenloses Telefon
597
+ task_due_now: jetzt fällig
598
+ password: Passwort
599
+ recent_items: Aktuelle Änderungen
600
+ image_file: Bilddatei
601
+ about_dev_group: Diskussionsgruppe für Entwickler
602
+ lost: Verloren
603
+ expand_all: Alles anzeigen
604
+ back_to_crm: Back to Fat Free CRM
605
+ option_long: lang
606
+ edit: Bearbeiten
607
+ no_button: Nein
608
+ msg_asset_not_authorized: You are not authorized to view this %{value}.
609
+ task_completed: erledigt
610
+ task_uncomplete: Zurückkehren
611
+ google: Google IM
612
+ twitter: Twitter
613
+ back: Zurück
614
+ subject_email: Email zu
615
+ share_with: für folgende Personen sichtbar
616
+ first_name: Vorname
617
+ competitor: Mitbewerber
618
+ lead: Anfrage
619
+ contacts: Kontakte
620
+ advanced_search_add_group: Füge eine Filtergruppe hinzu
621
+ save_tag: Speichere Tag
622
+ conversion_label: Konversion (%)
623
+ no_tasks_assigned: zugeordnet
624
+ select_or_create_tags: Wähle einige Markierungen aus oder erstelle eine neue Markierung
625
+ durch Drücken der "enter"-Taste.
626
+ phone_small: Telefon
627
+ user_suspended: Gesperrt
628
+ added_by: hinzugefügt vor %{time_ago} durch %{user}
629
+ avatar: Avatar
630
+ campaign_targets: Kampagnen-Ziele
631
+ msg_asset_rejected: ! '%{value} wurde abgelehnt.'
632
+ pending_tasks: ausstehende Aufgaben
633
+ discount: Rabatt
634
+ tab_opportunities: Chancen
635
+ from: von
636
+ time_ago: vor %{value}
637
+ stage: Ebene
638
+ about: Über
639
+ actual: Aktuell
640
+ opportunity_summary_text: ! '%{amount} mit %{discount} Rabatt und %{probability}
641
+ Wahrscheinlichkeit'
642
+ close_form: Abschlussformular
643
+ option_starts_on: Startdatum
644
+ discard: Discard
645
+ or: oder
646
+ two_days: Zwei Tagen
647
+ subject_comment: Kommentar zu
648
+ could_not_find_matching: Konnte %{value} nicht finden - passend zu
649
+ action_won: gewonnen
650
+ accounts: Firmen
651
+ create_opp_for_contact: Optional können Sie eine Chance erstellen für %{value} unter
652
+ Angabe des Namen, aktueller Stand, geschätztes Abschlußdatum, Erfolgswahrscheinlichkeit,
653
+ Auftragswert und dem angebotenen Rabatt.
654
+ restrict_by_tag: Schränke anhand des Tags ein
655
+ reactivate: Reaktivieren
656
+ action_update: aktualisiert
657
+ notifications_tooltip: Wenn ein Kommentar hinzugefügt wird, werden alle Abonnenten
658
+ mittels e-Mail benachrichtigt
659
+ option_first_name: Vorname
660
+ msg_invalid_password: ^Bitte geben Sie Ihr gültiges Passwort ein.
661
+ user_confirm_delete: Ein Benutzer kann nur gelöscht werden, wenn ihm nichts mehr
662
+ zugeordnet ist.
663
+ select_lead: Wähle eine Anfrage aus
664
+ lead_permissions_intro_private: Standardmäßig werden die Zugriffsregeln aus der
665
+ Kampagne kopiert oder auf privat gesetzt. Dies kann auch später durchgeführt werden.
666
+ remember_me: Erinnere mich
667
+ edit_comment: Kommentar bearbeiten
668
+ no_tasks_pending: wartend
669
+ lead_summary: Anfrage-Zusammenfassung
670
+ task_small: Aufgabe
671
+ assign_to: Ordne zu
672
+ due_specific_date: An bestimmten Datum...
673
+ versions: History
674
+ tasks_small: Aufgaben
675
+ create_task: Erstelle Aufgabe
676
+ reset_password: Passwort zurücksetzen
677
+ view_assigned_tasks: zugeordnete Aufgaben anzeigen
678
+ action_create: erstellt
679
+ was_supposed_to_finish: angenommenes Ende am %{value}
680
+ subject_address: address on
681
+ msg_cant_delete_tag: ! 'Konnte ''%{value}'' nicht löschen, weil es mit Gruppen assoziiert
682
+ ist. '
683
+ no_start_date: kein Startdatum angegeben
684
+ delete: Löschen
685
+ website: Website
686
+ create_tag: Tag erstellen
687
+ save_contact: Kontakt sichern
688
+ word_of_mouth: Mundpropaganda
689
+ intro: Sie können die Informationen für %{value} später ändern.
690
+ at: bei
691
+ option_ends_on: Enddatum
692
+ recent_activity_options: Letzte Aktivitäten Einstellungen
693
+ trip: Trip
694
+ user_is_admin: Der Benutzer ist Administrator
695
+ days_left: Tage verfügbar
696
+ option_name: Name
697
+ no_tasks_completed: vollständig
698
+ other: Andere
699
+ advanced_search_group_rest: ! '...and where %{combinator} of the following match'
700
+ department: Abteilung
701
+ field_types:
702
+ string:
703
+ title: Kurze Antwort
704
+ text:
705
+ title: Lange Antwort
706
+ select:
707
+ title: Auswahlliste
708
+ multiselect:
709
+ title: Mehrfachauswahlliste
710
+ radio_buttons:
711
+ title: Radio Buttons
712
+ boolean:
713
+ title: Checkbox
714
+ check_boxes:
715
+ title: Checkbox Liste
716
+ date:
717
+ title: Datum
718
+ date_pair:
719
+ title: Datum Paar
720
+ datetime:
721
+ title: Datum & Zeit
722
+ datetime_pair:
723
+ title: Datum & Zeit Paar
724
+ email:
725
+ title: Email Adresse
726
+ url:
727
+ title: URL
728
+ tel:
729
+ title: Telefonnummer
730
+ decimal:
731
+ title: Nummer (Dezimal)
732
+ integer:
733
+ title: Nummer (Ganzzahl)
734
+ float:
735
+ title: Nummer (Gleitzahl)
736
+ save_field_group: Gruppe speichern
737
+ subject_account: account
738
+ create_a_new: neu erstellen
739
+ dropbox_notification_subject: dropbox - Email hinzugefügt - %{subject}
740
+ quick_find: Suche
741
+ users: Benutzer
742
+ task_pending: Aufgabe wurde in die Warteschlange bewegt
743
+ welcome: Willkommen
744
+ update: Ändern
745
+ will_paginate:
746
+ page_gap: ! '…'
747
+ page_entries_info:
748
+ single_page:
749
+ zero: Keine %{plural} gefunden
750
+ other: Zeigt alle %{count} %{plural}
751
+ one: Zeigt 1 %{name} an
752
+ multi_page: Es werden %{from} - %{to} %{plural} von insgesamt %{total} angezeigt
753
+ next_label: Weiter →
754
+ previous_label: ! '← Zurück'
755
+ added_ago: hinzugefügt vor %{value}
756
+ create_campaign: Erstelle Kampagne
757
+ field_group_empty: Es gibt keine Felder in dieser Gruppe.
758
+ msg_cant_delete_user: ^Kann den Benutzer nicht löschen, da %{value} noch aktive
759
+ Anlagen hat.
760
+ edit_note: Notiz bearbeiten
761
+ web_presence: Web-Präsenz
762
+ lead_small: Anfragen
763
+ time:
764
+ formats:
765
+ mmddhhss: ! '%e %b %l:%M%p'
766
+ mmddyyyy_hhmm: ! '%d %B %Y %H:%M'
767
+ starts_in: beginnt in %{value}
768
+ subject_contact: Kontakt
769
+ overdue: Verspätet, war fällig am
770
+ access: Zugang
771
+ born_on: Geboren am
772
+ reports_to: Berichtet an
773
+ my_tasks: Meine Aufgaben
774
+ my_opportunities: Meine Chancen
775
+ my_accounts: Meine Firmen
776
+ no_task_records: Sie haben keine Aufgaben
777
+ no_opportunity_records: Sie haben keine Chancen
778
+ no_account_records: Sie haben keine Firmen
779
+ target_revenue: Target revenue
780
+ target_conversion: Ziel Konversion
781
+ account_with_title_department: ! '%{title}, %{department} bei %{account}'
782
+ account_with_title: ! '%{title} bei %{account}'
783
+ lead_statuses: Anfragen Status
784
+ account_categories: Firmen Kategorien
785
+ opportunity_stages: Chancen Abschnitte
786
+ search_results_count:
787
+ one: Suche ergab %{count} Treffer.
788
+ other: Suche ergab %{count} Treffer.
789
+ entities_per_page: ! '%{entity} pro Seite:'
790
+ tab_team: Team
791
+ admin_tab_groups: Gruppen
792
+ contacts_index_long: Langes Format
793
+ contacts_index_brief: Kurzes Format
794
+ contacts_index_full: Ganzes Format
795
+ opportunities_index_normal: Normales Format
796
+ accounts_index_normal: Normales Format
797
+ leads_index_normal: Normales Format
798
+ campaigns_index_normal: Normales Format
799
+ account_id: Firma
800
+ campaign_statuses: Kampagne Status
801
+ unassigned: Nicht zugeordnet
802
+ general_info: Allgemeine Informationen
803
+ show_general_info_small: Zeige allgemeine Informationen zu diesem Kontakt
804
+ show_extra_info_small: Zeige zusätzliche Informationen zu diesem Kontakt
805
+ tag_details: ! '%{tag} Einzelheiten'
806
+ show_tag_info_small: Zeige %{tag} Informationen zu diesem Kontakt.
807
+ shared_with_everyone: Mit jedem teilen
808
+ title: Titel
809
+ subscriptions: Beitreten
810
+ show_status_info_small: Zeige Status Informationen zu dieser Anfrage.
811
+ show_contact_info_small: Zeige Kontakt Informationen zu dieser Anfrage.
812
+ closes_on: Geschlossen am
813
+ unassigned_opportunities: Nicht zugeteilte Chancen
814
+ no_opportunities_found: Es gibt derzeit keine abgelaufenen Chancen
815
+ tag_list: Tags
816
+ action_create_comment: ! '- "%{comment}"'
817
+ not_showing_hidden_entities: ! '%{count} versteckte %{entity} werden nicht angezeigt.'
818
+ comment_intro: Sie können Kommentare später hinzufügen.
819
+ create_group: Erstelle Gruppe
820
+ save_group: Speichere Gruppe
821
+ group_members: Teilnehmer
822
+ groups: Gruppen
823
+ groups_small: Gruppen
824
+ group_small: Gruppe
825
+ confirm_group_delete: Wollen Sie wirklich diese Gruppe löschen? Sie wird noch von
826
+ %{count} Einheiten referenziert.
827
+ group_memberships: Gruppen Zugehörigkeit
828
+ account_contact_id: Firmen id
829
+ account_contact_name: Firmen Name
830
+ user_id: Benutzer id
831
+ created_at: Erstellt am
832
+ updated_at: Geändert am
833
+ to_perm: Link
834
+ admin_fields_info2: Es wird empfohlen den Server neu zu starten, nachdem kundenspezifische
835
+ Felder hinzugefügt oder entfernt wurden.
836
+ pair:
837
+ start: Start
838
+ end: Ende
839
+ from_to: Von %{from} bis %{to}
840
+ from_only: Von %{from}
841
+ to_only: Bis %{to}
842
+ contact_summary: Kontakt-Zusammenfassung