fat_free_crm 0.11.3 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (637) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +2 -2
  3. data/CHANGELOG +6 -1
  4. data/CONTRIBUTORS +40 -1
  5. data/Capfile +5 -0
  6. data/Gemfile +25 -6
  7. data/Gemfile.lock +128 -86
  8. data/README.md +23 -16
  9. data/{vendor → app}/assets/images/delete.png +0 -0
  10. data/app/assets/javascripts/admin/fields.js.coffee +62 -0
  11. data/app/assets/javascripts/application.js.erb +8 -1
  12. data/app/assets/javascripts/crm.js +44 -46
  13. data/app/assets/javascripts/crm_chosen.js.coffee +10 -7
  14. data/app/assets/javascripts/datepicker.js.coffee +15 -0
  15. data/app/assets/javascripts/format_buttons.js.coffee +48 -0
  16. data/app/assets/javascripts/{admin/field_groups.js.coffee → groups.js.coffee} +0 -0
  17. data/app/assets/javascripts/lists.js.coffee +1 -1
  18. data/app/assets/javascripts/search.js.coffee +56 -38
  19. data/app/assets/stylesheets/admin/{field_groups.css.scss → fields.css.scss} +4 -0
  20. data/app/assets/stylesheets/advanced_search.css.scss +79 -0
  21. data/app/assets/stylesheets/application.css.erb +4 -0
  22. data/app/assets/stylesheets/base.scss +3 -3
  23. data/app/assets/stylesheets/common.scss +72 -25
  24. data/app/assets/stylesheets/fields.scss +14 -0
  25. data/app/assets/stylesheets/format_buttons.css.scss +30 -0
  26. data/app/assets/stylesheets/groups.css.scss +3 -0
  27. data/app/assets/stylesheets/header.scss +7 -6
  28. data/{vendor/plugins/.gitkeep → app/assets/stylesheets/index_headers.css.scss} +0 -0
  29. data/app/assets/stylesheets/print.css.scss +12 -3
  30. data/app/assets/stylesheets/rails.scss +12 -3
  31. data/app/controllers/admin/application_controller.rb +1 -1
  32. data/app/controllers/admin/field_groups_controller.rb +2 -0
  33. data/app/controllers/admin/fields_controller.rb +41 -17
  34. data/app/controllers/admin/groups_controller.rb +70 -0
  35. data/app/controllers/admin/tags_controller.rb +1 -0
  36. data/app/controllers/admin/users_controller.rb +8 -7
  37. data/app/controllers/application_controller.rb +34 -5
  38. data/app/controllers/comments_controller.rb +2 -3
  39. data/app/controllers/entities/accounts_controller.rb +30 -37
  40. data/app/controllers/entities/campaigns_controller.rb +56 -29
  41. data/app/controllers/entities/contacts_controller.rb +24 -26
  42. data/app/controllers/entities/leads_controller.rb +38 -37
  43. data/app/controllers/entities/opportunities_controller.rb +28 -34
  44. data/app/controllers/entities_controller.rb +71 -43
  45. data/app/controllers/home_controller.rb +29 -27
  46. data/app/controllers/tasks_controller.rb +18 -17
  47. data/app/controllers/users_controller.rb +12 -8
  48. data/app/helpers/accounts_helper.rb +58 -16
  49. data/app/helpers/addresses_helper.rb +4 -1
  50. data/app/helpers/admin/fields_helper.rb +3 -4
  51. data/app/helpers/application_helper.rb +147 -100
  52. data/app/helpers/campaigns_helper.rb +2 -9
  53. data/app/helpers/fields_helper.rb +0 -1
  54. data/app/helpers/groups_helper.rb +2 -0
  55. data/app/helpers/home_helper.rb +11 -0
  56. data/app/helpers/leads_helper.rb +2 -9
  57. data/app/helpers/opportunities_helper.rb +2 -9
  58. data/app/helpers/{crm_tags_helper.rb → tags_helper.rb} +9 -8
  59. data/app/helpers/tasks_helper.rb +5 -21
  60. data/app/helpers/users_helper.rb +14 -7
  61. data/app/helpers/versions_helper.rb +46 -0
  62. data/app/inputs/date_time_input.rb +8 -25
  63. data/app/inputs/datepair_input.rb +77 -0
  64. data/app/inputs/datetimepair_input.rb +37 -0
  65. data/app/mailers/user_mailer.rb +10 -0
  66. data/app/models/entities/account.rb +18 -11
  67. data/app/models/entities/account_contact.rb +4 -3
  68. data/app/models/entities/account_opportunity.rb +0 -1
  69. data/app/models/entities/campaign.rb +6 -7
  70. data/app/models/entities/contact.rb +53 -25
  71. data/app/models/entities/contact_opportunity.rb +0 -1
  72. data/app/models/entities/lead.rb +24 -13
  73. data/app/models/entities/opportunity.rb +34 -16
  74. data/app/models/fields/custom_field.rb +29 -13
  75. data/app/models/fields/custom_field_date_pair.rb +58 -0
  76. data/app/models/fields/custom_field_datetime_pair.rb +28 -0
  77. data/app/models/fields/custom_field_pair.rb +54 -0
  78. data/app/models/fields/field.rb +60 -43
  79. data/app/models/fields/field_group.rb +0 -9
  80. data/app/models/observers/entity_observer.rb +29 -0
  81. data/app/models/observers/opportunity_observer.rb +3 -0
  82. data/app/models/polymorphic/address.rb +14 -0
  83. data/app/models/polymorphic/avatar.rb +13 -1
  84. data/app/models/polymorphic/email.rb +1 -1
  85. data/app/models/polymorphic/task.rb +14 -13
  86. data/app/models/setting.rb +14 -21
  87. data/app/models/users/ability.rb +25 -4
  88. data/app/models/users/group.rb +13 -0
  89. data/app/models/users/permission.rb +3 -1
  90. data/app/models/users/preference.rb +1 -2
  91. data/app/models/users/user.rb +25 -3
  92. data/app/views/accounts/_account.html.haml +5 -39
  93. data/app/views/accounts/_edit.html.haml +3 -2
  94. data/app/views/accounts/_index_brief.html.haml +32 -0
  95. data/app/views/accounts/_index_long.html.haml +42 -0
  96. data/app/views/accounts/_new.html.haml +3 -2
  97. data/app/views/accounts/_sidebar_index.html.haml +3 -4
  98. data/app/views/accounts/_sidebar_show.html.haml +2 -2
  99. data/app/views/accounts/_title_bar.html.haml +11 -0
  100. data/app/views/accounts/_top_section.html.haml +1 -1
  101. data/app/views/accounts/create.js.rjs +1 -2
  102. data/app/views/accounts/destroy.js.rjs +1 -1
  103. data/app/views/accounts/edit.js.rjs +0 -2
  104. data/app/views/accounts/index.html.haml +6 -13
  105. data/app/views/accounts/index.js.rjs +3 -1
  106. data/app/views/accounts/index.xls.builder +82 -0
  107. data/app/views/accounts/new.js.rjs +0 -2
  108. data/app/views/accounts/show.html.haml +17 -15
  109. data/app/views/accounts/show.js.erb +2 -0
  110. data/app/views/admin/custom_fields/_base_field.html.haml +21 -0
  111. data/app/views/admin/custom_fields/_check_boxes_field.html.haml +6 -0
  112. data/app/views/admin/custom_fields/_date_field.html.haml +14 -0
  113. data/app/views/admin/custom_fields/_date_pair_field.html.haml +21 -0
  114. data/app/views/admin/custom_fields/_datetime_field.html.haml +14 -0
  115. data/app/views/admin/custom_fields/_datetime_pair_field.html.haml +21 -0
  116. data/app/views/admin/custom_fields/_radio_field.html.haml +6 -0
  117. data/app/views/admin/custom_fields/_select_field.html.haml +25 -0
  118. data/app/views/admin/custom_fields/_string_field.html.haml +2 -0
  119. data/app/views/admin/field_groups/_field_group.html.haml +7 -5
  120. data/app/views/admin/field_groups/_top_section.html.haml +4 -3
  121. data/app/views/admin/field_groups/create.js.rjs +1 -2
  122. data/app/views/admin/fields/_field.html.haml +5 -3
  123. data/app/views/admin/fields/_form.html.haml +35 -0
  124. data/app/views/admin/fields/_subform.html.haml +6 -0
  125. data/app/views/admin/fields/create.js.erb +19 -0
  126. data/app/views/admin/fields/destroy.js.erb +9 -0
  127. data/app/views/admin/fields/edit.js.erb +1 -0
  128. data/app/views/admin/fields/index.html.haml +11 -8
  129. data/app/views/admin/fields/update.js.erb +13 -0
  130. data/app/views/admin/groups/_edit.html.haml +12 -0
  131. data/app/views/admin/groups/_form.html.haml +13 -0
  132. data/app/views/admin/groups/_group.html.haml +15 -0
  133. data/app/views/admin/groups/_new.html.haml +12 -0
  134. data/app/views/admin/groups/create.js.rjs +11 -0
  135. data/app/views/admin/{fields → groups}/destroy.js.rjs +3 -3
  136. data/app/views/admin/groups/edit.js.rjs +21 -0
  137. data/app/views/admin/groups/index.html.haml +18 -0
  138. data/app/views/admin/groups/index.js.rjs +2 -0
  139. data/app/views/admin/groups/new.js.rjs +9 -0
  140. data/app/views/admin/groups/show.html.haml +11 -0
  141. data/app/views/admin/groups/update.js.rjs +10 -0
  142. data/app/views/admin/users/_profile.html.haml +13 -1
  143. data/app/views/admin/users/_user.html.haml +7 -2
  144. data/app/views/admin/users/index.js.rjs +1 -0
  145. data/app/views/application/index.atom.builder +1 -1
  146. data/app/views/application/index.rss.builder +1 -1
  147. data/app/views/application/show.atom.builder +32 -0
  148. data/app/views/application/show.rss.builder +29 -0
  149. data/app/views/campaigns/_campaign.html.haml +5 -21
  150. data/app/views/campaigns/_edit.html.haml +3 -2
  151. data/app/views/campaigns/_index_brief.html.haml +15 -0
  152. data/app/views/campaigns/_index_long.html.haml +20 -0
  153. data/app/views/campaigns/_new.html.haml +4 -2
  154. data/app/views/campaigns/_sidebar_index.html.haml +3 -3
  155. data/app/views/campaigns/_title_bar.html.haml +11 -0
  156. data/app/views/campaigns/_top_section.html.haml +2 -2
  157. data/app/views/campaigns/create.js.rjs +1 -4
  158. data/app/views/campaigns/destroy.js.rjs +1 -1
  159. data/app/views/campaigns/edit.js.rjs +0 -4
  160. data/app/views/campaigns/index.html.haml +6 -13
  161. data/app/views/campaigns/index.js.rjs +3 -1
  162. data/app/views/campaigns/index.xls.builder +75 -0
  163. data/app/views/campaigns/new.js.rjs +0 -4
  164. data/app/views/campaigns/show.html.haml +17 -15
  165. data/app/views/campaigns/show.js.erb +2 -0
  166. data/app/views/campaigns/update.js.rjs +0 -2
  167. data/app/views/comments/_comment.html.haml +6 -5
  168. data/app/views/comments/_edit.html.haml +5 -5
  169. data/app/views/comments/_new.html.haml +6 -5
  170. data/app/views/comments/create.js.rjs +1 -1
  171. data/app/views/contacts/_contact.html.haml +5 -52
  172. data/app/views/contacts/_contacts.html.haml +1 -0
  173. data/app/views/contacts/_edit.html.haml +3 -2
  174. data/app/views/contacts/_index_brief.html.haml +25 -0
  175. data/app/views/contacts/_index_full.html.haml +57 -0
  176. data/app/views/contacts/_index_long.html.haml +43 -0
  177. data/app/views/contacts/_new.html.haml +4 -2
  178. data/app/views/contacts/_section_extra.html.haml +26 -0
  179. data/app/views/contacts/_section_general.html.haml +22 -0
  180. data/app/views/contacts/_sidebar_index.html.haml +0 -3
  181. data/app/views/contacts/_sidebar_show.html.haml +2 -10
  182. data/app/views/contacts/_title_bar.html.haml +11 -0
  183. data/app/views/contacts/_top_section.html.haml +1 -1
  184. data/app/views/contacts/create.js.rjs +1 -2
  185. data/app/views/contacts/destroy.js.rjs +1 -1
  186. data/app/views/contacts/edit.js.rjs +0 -2
  187. data/app/views/contacts/index.html.haml +6 -14
  188. data/app/views/contacts/index.js.rjs +3 -1
  189. data/app/views/contacts/index.xls.builder +102 -0
  190. data/app/views/contacts/new.js.rjs +0 -2
  191. data/app/views/contacts/show.html.haml +15 -15
  192. data/app/views/contacts/show.js.erb +2 -0
  193. data/app/views/entities/_basic_search.html.haml +22 -0
  194. data/app/views/entities/_permissions.html.haml +41 -0
  195. data/app/views/entities/_search.html.haml +15 -0
  196. data/app/views/entities/_section_custom_fields.html.haml +11 -0
  197. data/app/views/entities/_title_bar.html.haml +12 -0
  198. data/app/views/entities/attach.js.rjs +1 -1
  199. data/app/views/entities/opportunities.js.rjs +1 -1
  200. data/app/views/entities/versions.js.erb +3 -0
  201. data/app/views/fields/_edit_custom_field_group.html.haml +8 -0
  202. data/app/views/fields/_group.html.haml +11 -20
  203. data/app/views/fields/_group_table.html.haml +13 -0
  204. data/app/views/fields/_group_view.html.haml +7 -0
  205. data/app/views/fields/_groups.html.haml +1 -4
  206. data/app/views/fields/_sidebar_show.html.haml +5 -4
  207. data/app/views/home/_account.html.haml +29 -0
  208. data/app/views/home/_activity.html.haml +16 -6
  209. data/app/views/home/_opportunity.html.haml +41 -0
  210. data/app/views/home/_options.html.haml +1 -1
  211. data/app/views/home/_task.html.haml +46 -0
  212. data/app/views/home/index.html.haml +32 -1
  213. data/app/views/home/index.js.rjs +1 -0
  214. data/app/views/layouts/_header.html.haml +3 -3
  215. data/app/views/layouts/_sidebar.html.haml +1 -3
  216. data/app/views/layouts/_tabbed.html.haml +2 -3
  217. data/app/views/layouts/_tabless.html.haml +1 -1
  218. data/app/views/layouts/admin/_header.html.haml +1 -1
  219. data/app/views/layouts/application.html.haml +7 -8
  220. data/app/views/layouts/header.xls.builder +8 -0
  221. data/app/views/leads/_contact.html.haml +1 -2
  222. data/app/views/leads/_convert.html.haml +1 -2
  223. data/app/views/leads/_convert_permissions.html.haml +21 -11
  224. data/app/views/leads/_edit.html.haml +3 -2
  225. data/app/views/leads/_index_brief.html.haml +41 -0
  226. data/app/views/leads/_index_long.html.haml +62 -0
  227. data/app/views/leads/_lead.html.haml +5 -62
  228. data/app/views/leads/_new.html.haml +4 -2
  229. data/app/views/leads/_opportunity.html.haml +1 -1
  230. data/app/views/leads/_sidebar_index.html.haml +3 -3
  231. data/app/views/leads/_sidebar_show.html.haml +3 -3
  232. data/app/views/leads/_status.html.haml +1 -1
  233. data/app/views/leads/_title_bar.html.haml +16 -0
  234. data/app/views/leads/convert.js.rjs +0 -1
  235. data/app/views/leads/create.js.rjs +1 -2
  236. data/app/views/leads/destroy.js.rjs +1 -1
  237. data/app/views/leads/edit.js.rjs +0 -2
  238. data/app/views/leads/index.html.haml +6 -13
  239. data/app/views/leads/index.js.rjs +3 -1
  240. data/app/views/leads/index.xls.builder +100 -0
  241. data/app/views/leads/new.js.rjs +0 -2
  242. data/app/views/leads/promote.js.rjs +0 -1
  243. data/app/views/leads/show.html.haml +13 -18
  244. data/app/views/leads/show.js.erb +2 -0
  245. data/app/views/{shared/_lists.html.haml → lists/_sidebar.html.haml} +0 -0
  246. data/app/views/lists/create.js.rjs +1 -1
  247. data/app/views/opportunities/_edit.html.haml +3 -2
  248. data/app/views/opportunities/_index_brief.html.haml +29 -0
  249. data/app/views/opportunities/_index_long.html.haml +59 -0
  250. data/app/views/opportunities/_new.html.haml +4 -2
  251. data/app/views/opportunities/_opportunity.html.haml +5 -57
  252. data/app/views/opportunities/_sidebar_index.html.haml +3 -3
  253. data/app/views/opportunities/_sidebar_show.html.haml +2 -2
  254. data/app/views/opportunities/_title_bar.html.haml +11 -0
  255. data/app/views/opportunities/_top_section.html.haml +2 -2
  256. data/app/views/opportunities/create.js.rjs +4 -6
  257. data/app/views/opportunities/destroy.js.rjs +1 -1
  258. data/app/views/opportunities/edit.js.rjs +0 -3
  259. data/app/views/opportunities/index.html.haml +6 -14
  260. data/app/views/opportunities/index.js.rjs +3 -1
  261. data/app/views/opportunities/index.xls.builder +69 -0
  262. data/app/views/opportunities/new.js.rjs +1 -5
  263. data/app/views/opportunities/show.html.haml +14 -14
  264. data/app/views/opportunities/show.js.erb +2 -0
  265. data/app/views/opportunities/update.js.rjs +0 -1
  266. data/app/views/passwords/new.html.haml +1 -1
  267. data/app/views/shared/_add_comment.html.haml +8 -0
  268. data/app/views/shared/_address.html.haml +1 -1
  269. data/app/views/shared/_address_show.html.haml +1 -1
  270. data/app/views/shared/_edit_comment.html.haml +2 -2
  271. data/app/views/shared/_export.html.haml +2 -1
  272. data/app/views/shared/_paginate_with_per_page.html.haml +14 -0
  273. data/app/views/shared/_recently.html.haml +1 -1
  274. data/app/views/shared/_search.html.haml +1 -1
  275. data/app/views/shared/_tags.html.haml +1 -2
  276. data/app/views/shared/_tasks.html.haml +2 -2
  277. data/app/views/tasks/_completed.html.haml +3 -3
  278. data/app/views/tasks/_new.html.haml +1 -1
  279. data/app/views/tasks/_pending.html.haml +2 -3
  280. data/app/views/tasks/_sidebar_index.html.haml +2 -2
  281. data/app/views/tasks/_top_section.html.haml +5 -3
  282. data/app/views/tasks/create.js.rjs +3 -4
  283. data/app/views/tasks/edit.js.rjs +2 -4
  284. data/app/views/tasks/index.html.haml +1 -1
  285. data/app/views/tasks/index.xls.builder +47 -0
  286. data/app/views/tasks/new.js.rjs +0 -2
  287. data/app/views/tasks/update.js.rjs +0 -1
  288. data/app/views/user_mailer/assigned_entity_notification.html.haml +3 -0
  289. data/app/views/users/_user.html.haml +2 -2
  290. data/app/views/users/_user_report.html.haml +6 -0
  291. data/app/views/users/opportunities_overview.html.haml +16 -0
  292. data/app/views/users/show.html.haml +2 -3
  293. data/app/views/users/update.js.rjs +1 -1
  294. data/app/views/versions/_version.html.haml +4 -19
  295. data/app/views/versions/_version_item.html.haml +8 -0
  296. data/app/views/versions/_versions.html.haml +9 -9
  297. data/config/application.rb +10 -2
  298. data/config/deploy.example.rb +47 -0
  299. data/config/environments/development.rb +1 -0
  300. data/config/environments/production.rb +1 -3
  301. data/config/environments/staging.rb +1 -1
  302. data/config/initializers/action_mailer.rb +10 -8
  303. data/config/initializers/custom_fields.rb +21 -0
  304. data/config/initializers/gravatar.rb +7 -0
  305. data/config/initializers/paper_trail.rb +1 -0
  306. data/config/initializers/ransack.rb +15 -0
  307. data/config/initializers/simple_form.rb +1 -2
  308. data/config/initializers/views.rb +42 -0
  309. data/config/locales/cz_fat_free_crm.yml +0 -10
  310. data/config/locales/de_fat_free_crm.yml +23 -21
  311. data/config/locales/en-GB_fat_free_crm.yml +241 -25
  312. data/config/locales/en-US_fat_free_crm.yml +139 -57
  313. data/config/locales/en-US_ransack.yml +92 -0
  314. data/config/locales/es_fat_free_crm.yml +0 -6
  315. data/config/locales/fr-CA_fat_free_crm.yml +0 -6
  316. data/config/locales/fr_fat_free_crm.yml +3 -14
  317. data/config/locales/it_fat_free_crm.yml +0 -11
  318. data/config/locales/ja_fat_free_crm.yml +0 -10
  319. data/config/locales/pl_fat_free_crm.yml +0 -6
  320. data/config/locales/pt-BR_fat_free_crm.yml +0 -6
  321. data/config/locales/ru_fat_free_crm.yml +0 -9
  322. data/config/locales/sv-SE_fat_free_crm.yml +0 -10
  323. data/config/locales/th_fat_free_crm.yml +0 -6
  324. data/config/locales/zh-CN.yml +4 -0
  325. data/config/locales/zh-CN_fat_free_crm.yml +78 -47
  326. data/config/routes.rb +13 -0
  327. data/config/settings.default.yml +20 -20
  328. data/db/demo/addresses.yml +2 -2
  329. data/db/migrate/20100928030598_create_sessions.rb +5 -0
  330. data/db/migrate/20100928030627_acts_as_taggable_on_migration.rb +6 -6
  331. data/db/migrate/20111201030535_add_field_groups_klass_name.rb +2 -1
  332. data/db/migrate/20120406082136_create_groups.rb +19 -0
  333. data/db/migrate/20120510025219_add_not_null_constraints_for_timestamp_columns.rb +21 -0
  334. data/db/migrate/20120528102124_increase_length_of_version_events.rb +9 -0
  335. data/db/migrate/20120801032706_add_pair_id_to_fields.rb +5 -0
  336. data/db/migrate/20121003063155_add_settings_to_custom_fields.rb +5 -0
  337. data/db/migrate/20121221033947_fix_country_mapping.rb +32 -0
  338. data/db/schema.rb +25 -6
  339. data/fat_free_crm.gemspec +16 -13
  340. data/lib/fat_free_crm.rb +2 -0
  341. data/lib/fat_free_crm/comment_extensions.rb +23 -0
  342. data/lib/fat_free_crm/core_ext/array.rb +8 -2
  343. data/lib/fat_free_crm/fields.rb +24 -2
  344. data/lib/fat_free_crm/gem_dependencies.rb +7 -1
  345. data/lib/fat_free_crm/permissions.rb +47 -26
  346. data/lib/fat_free_crm/version.rb +1 -1
  347. data/lib/fat_free_crm/view_factory.rb +95 -0
  348. data/lib/plugins/country_select/lib/country_select.rb +393 -374
  349. data/lib/tasks/{plugins.rake → db/migrate.rake} +1 -1
  350. data/lib/tasks/{schema_upgrade.rake → db/schema.rake} +2 -1
  351. data/lib/tasks/{mail_processing.rake → ffcrm/comment_replies.rake} +2 -21
  352. data/lib/tasks/ffcrm/config.rake +33 -0
  353. data/lib/tasks/{demo.rake → ffcrm/demo.rake} +3 -2
  354. data/lib/tasks/ffcrm/dropbox.rake +42 -0
  355. data/lib/tasks/ffcrm/settings.rake +46 -0
  356. data/lib/tasks/{fat_free_crm.rake → ffcrm/setup.rake} +1 -39
  357. data/lib/tasks/ffcrm/update_data.rake +256 -0
  358. data/{acceptance → spec/acceptance}/acceptance_helper.rb +5 -4
  359. data/{acceptance → spec/acceptance}/accounts_spec.rb +36 -10
  360. data/spec/acceptance/admin/groups_spec.rb +26 -0
  361. data/spec/acceptance/admin/users_spec.rb +34 -0
  362. data/spec/acceptance/campaigns_spec.rb +101 -0
  363. data/spec/acceptance/contacts_spec.rb +101 -0
  364. data/spec/acceptance/dashboard_spec.rb +62 -0
  365. data/spec/acceptance/leads_spec.rb +109 -0
  366. data/spec/acceptance/opportunities_overview_spec.rb +82 -0
  367. data/spec/acceptance/opportunities_spec.rb +103 -0
  368. data/{acceptance → spec/acceptance}/support/browser.rb +0 -0
  369. data/{acceptance → spec/acceptance}/support/headless.rb +0 -0
  370. data/{acceptance → spec/acceptance}/support/helpers.rb +8 -1
  371. data/{acceptance → spec/acceptance}/support/maintain_sessions.rb +0 -0
  372. data/spec/acceptance/support/paths.rb +42 -0
  373. data/spec/acceptance/support/selector_helpers.rb +31 -0
  374. data/spec/acceptance/tasks_spec.rb +85 -0
  375. data/spec/controllers/admin/groups_controller_spec.rb +5 -0
  376. data/spec/controllers/admin/users_controller_spec.rb +2 -3
  377. data/spec/controllers/applications_controller_spec.rb +40 -0
  378. data/spec/controllers/comments_controller_spec.rb +5 -6
  379. data/spec/controllers/emails_controller_spec.rb +1 -2
  380. data/spec/controllers/entities/accounts_controller_spec.rb +65 -81
  381. data/spec/controllers/entities/campaigns_controller_spec.rb +69 -85
  382. data/spec/controllers/entities/contacts_controller_spec.rb +78 -95
  383. data/spec/controllers/entities/leads_controller_spec.rb +105 -127
  384. data/spec/controllers/entities/opportunities_controller_spec.rb +88 -103
  385. data/spec/controllers/entities_controller_spec.rb +39 -0
  386. data/spec/controllers/home_controller_spec.rb +101 -11
  387. data/spec/controllers/tasks_controller_spec.rb +27 -32
  388. data/spec/controllers/users_controller_spec.rb +95 -28
  389. data/spec/factories/account_factories.rb +2 -2
  390. data/spec/factories/opportunity_factories.rb +12 -4
  391. data/spec/factories/task_factories.rb +4 -0
  392. data/spec/factories/user_factories.rb +9 -2
  393. data/spec/helpers/application_helper_spec.rb +15 -1
  394. data/spec/helpers/groups_helper_spec.rb +15 -0
  395. data/spec/helpers/users_helper_spec.rb +26 -4
  396. data/spec/lib/comment_extensions_spec.rb +29 -0
  397. data/spec/lib/core_ext/{string.rb → string_spec.rb} +0 -1
  398. data/spec/lib/fields_spec.rb +104 -0
  399. data/spec/lib/permissions_spec.rb +144 -0
  400. data/spec/lib/view_factory_spec.rb +68 -0
  401. data/spec/mailers/subscription_mailer_spec.rb +18 -4
  402. data/spec/mailers/user_mailer_spec.rb +134 -0
  403. data/spec/models/entities/account_spec.rb +44 -4
  404. data/spec/models/entities/campaign_spec.rb +3 -4
  405. data/spec/models/entities/contact_spec.rb +45 -5
  406. data/spec/models/entities/lead_spec.rb +3 -4
  407. data/spec/models/entities/opportunity_spec.rb +105 -9
  408. data/spec/models/fields/custom_field_date_pair_spec.rb +106 -0
  409. data/spec/models/fields/custom_field_pair_spec.rb +94 -0
  410. data/spec/models/fields/custom_field_spec.rb +43 -23
  411. data/spec/models/fields/field_spec.rb +3 -5
  412. data/spec/models/observers/entity_observer_spec.rb +65 -0
  413. data/spec/models/polymorphic/task_spec.rb +74 -118
  414. data/spec/models/polymorphic/version_spec.rb +18 -18
  415. data/spec/models/users/group_spec.rb +5 -0
  416. data/spec/models/users/permission_spec.rb +18 -1
  417. data/spec/models/users/preference_spec.rb +5 -1
  418. data/spec/models/users/user_spec.rb +55 -8
  419. data/spec/shared/models.rb +54 -0
  420. data/spec/spec_helper.rb +82 -87
  421. data/spec/support/auth_macros.rb +2 -3
  422. data/spec/views/accounts/_edit.haml_spec.rb +1 -2
  423. data/spec/views/accounts/_new.haml_spec.rb +1 -2
  424. data/spec/views/accounts/create.rjs_spec.rb +1 -3
  425. data/spec/views/accounts/edit.rjs_spec.rb +3 -4
  426. data/spec/views/accounts/index.haml_spec.rb +9 -6
  427. data/spec/views/accounts/new.rjs_spec.rb +2 -9
  428. data/spec/views/accounts/show.haml_spec.rb +1 -2
  429. data/spec/views/accounts/update.rjs_spec.rb +2 -3
  430. data/spec/views/admin/users/_create.haml_spec.rb +1 -2
  431. data/spec/views/admin/users/create.rjs_spec.rb +1 -2
  432. data/spec/views/campaigns/_edit.haml_spec.rb +2 -3
  433. data/spec/views/campaigns/_new.haml_spec.rb +2 -3
  434. data/spec/views/campaigns/create.rjs_spec.rb +0 -3
  435. data/spec/views/campaigns/destroy.rjs_spec.rb +1 -2
  436. data/spec/views/campaigns/edit.rjs_spec.rb +3 -6
  437. data/spec/views/campaigns/index.haml_spec.rb +6 -3
  438. data/spec/views/campaigns/new.rjs_spec.rb +2 -13
  439. data/spec/views/campaigns/show.haml_spec.rb +4 -6
  440. data/spec/views/campaigns/update.rjs_spec.rb +2 -7
  441. data/spec/views/contacts/_edit.haml_spec.rb +6 -7
  442. data/spec/views/contacts/_new.haml_spec.rb +2 -3
  443. data/spec/views/contacts/create.rjs_spec.rb +1 -3
  444. data/spec/views/contacts/edit.rjs_spec.rb +3 -4
  445. data/spec/views/contacts/index.haml_spec.rb +6 -3
  446. data/spec/views/contacts/new.rjs_spec.rb +2 -11
  447. data/spec/views/contacts/show.haml_spec.rb +1 -2
  448. data/spec/views/contacts/update.rjs_spec.rb +2 -3
  449. data/spec/views/home/index.haml_spec.rb +6 -2
  450. data/spec/views/home/index.rjs_spec.rb +1 -2
  451. data/spec/views/home/options.rjs_spec.rb +1 -2
  452. data/spec/views/leads/_convert.haml_spec.rb +1 -2
  453. data/spec/views/leads/_edit.haml_spec.rb +2 -3
  454. data/spec/views/leads/_new.haml_spec.rb +2 -3
  455. data/spec/views/leads/_sidebar_show.haml_spec.rb +1 -2
  456. data/spec/views/leads/convert.rjs_spec.rb +3 -5
  457. data/spec/views/leads/edit.rjs_spec.rb +4 -5
  458. data/spec/views/leads/index.haml_spec.rb +6 -3
  459. data/spec/views/leads/new.rjs_spec.rb +2 -11
  460. data/spec/views/leads/promote.rjs_spec.rb +3 -5
  461. data/spec/views/leads/show.haml_spec.rb +1 -2
  462. data/spec/views/leads/update.rjs_spec.rb +2 -3
  463. data/spec/views/opportunities/_edit.haml_spec.rb +5 -6
  464. data/spec/views/opportunities/_new.haml_spec.rb +2 -4
  465. data/spec/views/opportunities/create.rjs_spec.rb +0 -2
  466. data/spec/views/opportunities/edit.rjs_spec.rb +3 -4
  467. data/spec/views/opportunities/index.haml_spec.rb +7 -4
  468. data/spec/views/opportunities/new.rjs_spec.rb +2 -12
  469. data/spec/views/opportunities/show.haml_spec.rb +1 -2
  470. data/spec/views/opportunities/update.rjs_spec.rb +2 -3
  471. data/spec/views/tasks/_edit.haml_spec.rb +1 -3
  472. data/spec/views/tasks/complete.rjs_spec.rb +2 -3
  473. data/spec/views/tasks/create.rjs_spec.rb +2 -2
  474. data/spec/views/tasks/edit.rjs_spec.rb +1 -2
  475. data/spec/views/tasks/new.rjs_spec.rb +1 -18
  476. data/spec/views/users/avatar.rjs_spec.rb +1 -2
  477. data/spec/views/users/change_password.rjs_spec.rb +1 -2
  478. data/spec/views/users/edit.rjs_spec.rb +1 -2
  479. data/spec/views/users/password.rjs_spec.rb +1 -1
  480. data/spec/views/users/update.rjs_spec.rb +1 -2
  481. data/spec/views/users/upload_avatar.rjs_spec.rb +6 -7
  482. data/vendor/assets/images/brief.png +0 -0
  483. data/vendor/assets/images/chosen-sprite.png +0 -0
  484. data/vendor/assets/images/full.png +0 -0
  485. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  486. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  487. data/vendor/assets/images/jquery-ui/ui-bg_flat_100_ffffff_40x100.png +0 -0
  488. data/vendor/assets/images/jquery-ui/ui-bg_flat_25_3875d7_40x100.png +0 -0
  489. data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
  490. data/vendor/assets/images/jquery-ui/ui-bg_flat_65_3875d7_40x100.png +0 -0
  491. data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  492. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  493. data/vendor/assets/images/jquery-ui/{ui-icons_ef8c08_256x240.png → ui-icons_0073ea_256x240.png} +0 -0
  494. data/vendor/assets/images/jquery-ui/ui-icons_466bb1_256x240.png +0 -0
  495. data/vendor/assets/images/jquery-ui/{ui-icons_ffd27a_256x240.png → ui-icons_ff0084_256x240.png} +0 -0
  496. data/vendor/assets/images/long.png +0 -0
  497. data/vendor/assets/javascripts/chosen-jquery.js +3 -0
  498. data/vendor/assets/javascripts/chosen-prototype.js +3 -0
  499. data/vendor/assets/javascripts/chosen.jquery.coffee +574 -0
  500. data/vendor/assets/javascripts/chosen.proto.coffee +580 -0
  501. data/vendor/assets/javascripts/jquery.disable.js +23 -0
  502. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-addon.js +1882 -0
  503. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-af.js +20 -0
  504. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ca.js +20 -0
  505. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-cz.js +20 -0
  506. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-de.js +20 -0
  507. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-el.js +20 -0
  508. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es.js +20 -0
  509. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-et.js +20 -0
  510. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fi.js +20 -0
  511. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr-CA.js +20 -0
  512. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr.js +20 -0
  513. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-gl.js +20 -0
  514. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-he.js +20 -0
  515. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-hu.js +20 -0
  516. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-id.js +20 -0
  517. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-it.js +20 -0
  518. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ja.js +20 -0
  519. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ko.js +20 -0
  520. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-lt.js +20 -0
  521. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-nl.js +20 -0
  522. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-no.js +20 -0
  523. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pl.js +20 -0
  524. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt.js +20 -0
  525. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ro.js +20 -0
  526. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ru.js +20 -0
  527. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sk.js +20 -0
  528. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sv.js +20 -0
  529. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-tr.js +20 -0
  530. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-vi.js +20 -0
  531. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-CN.js +20 -0
  532. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-TW.js +20 -0
  533. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-cz.js +23 -0
  534. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-de.js +23 -0
  535. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-en-GB.js +23 -0
  536. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es.js +23 -0
  537. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr.js +23 -0
  538. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-it.js +23 -0
  539. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ja.js +23 -0
  540. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pl.js +23 -0
  541. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt-BR.js +23 -0
  542. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ru.js +23 -0
  543. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-sv-SE.js +23 -0
  544. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-th.js +23 -0
  545. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-zh-CN.js +23 -0
  546. data/vendor/assets/javascripts/lib/abstract-chosen.coffee +110 -0
  547. data/vendor/assets/javascripts/lib/select-parser.coffee +51 -0
  548. data/vendor/assets/stylesheets/chosen.css.sass +361 -0
  549. data/vendor/assets/stylesheets/{jquery-ui.custom.css.erb → jquery-ui.custom.css} +70 -70
  550. data/zeus.json +21 -0
  551. metadata +304 -140
  552. data/acceptance/support/database_cleaner.rb +0 -16
  553. data/acceptance/support/paths.rb +0 -9
  554. data/app/views/accounts/_options.html.haml +0 -20
  555. data/app/views/accounts/_permissions.html.haml +0 -24
  556. data/app/views/accounts/options.js.rjs +0 -10
  557. data/app/views/admin/fields/_edit.html.haml +0 -9
  558. data/app/views/admin/fields/_new.html.haml +0 -10
  559. data/app/views/admin/fields/_options.html.haml +0 -12
  560. data/app/views/admin/fields/_top_section.html.haml +0 -54
  561. data/app/views/admin/fields/create.js.rjs +0 -16
  562. data/app/views/admin/fields/edit.js.rjs +0 -35
  563. data/app/views/admin/fields/index.js.rjs +0 -6
  564. data/app/views/admin/fields/new.js.rjs +0 -8
  565. data/app/views/admin/fields/options.js.rjs +0 -10
  566. data/app/views/admin/fields/update.js.rjs +0 -17
  567. data/app/views/campaigns/_options.html.haml +0 -20
  568. data/app/views/campaigns/_permissions.html.haml +0 -24
  569. data/app/views/campaigns/options.js.rjs +0 -10
  570. data/app/views/contacts/_options.html.haml +0 -21
  571. data/app/views/contacts/_permissions.html.haml +0 -24
  572. data/app/views/contacts/options.js.rjs +0 -10
  573. data/app/views/entities/_advanced_search.html.haml +0 -12
  574. data/app/views/entities/_condition_fields.html.haml +0 -14
  575. data/app/views/entities/_grouping_fields.html.haml +0 -12
  576. data/app/views/entities/advanced_search.js.rjs +0 -9
  577. data/app/views/entities/versions.js.rjs +0 -3
  578. data/app/views/leads/_options.html.haml +0 -21
  579. data/app/views/leads/_permissions.html.haml +0 -28
  580. data/app/views/leads/options.js.rjs +0 -10
  581. data/app/views/opportunities/_options.html.haml +0 -20
  582. data/app/views/opportunities/_permissions.html.haml +0 -24
  583. data/app/views/opportunities/options.js.rjs +0 -10
  584. data/app/views/shared/_outline.html.haml +0 -9
  585. data/app/views/shared/_per_page.html.haml +0 -10
  586. data/app/views/shared/_sort_by.html.haml +0 -10
  587. data/config/initializers/cancan.rb +0 -151
  588. data/config/initializers/squeel.rb +0 -5
  589. data/public/blank_iframe.html +0 -2
  590. data/spec/views/accounts/options.rjs_spec.rb +0 -59
  591. data/spec/views/campaigns/options.rjs_spec.rb +0 -60
  592. data/spec/views/contacts/options.rjs_spec.rb +0 -61
  593. data/spec/views/leads/options.rjs_spec.rb +0 -61
  594. data/spec/views/opportunities/options.rjs_spec.rb +0 -60
  595. data/vendor/assets/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  596. data/vendor/assets/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  597. data/vendor/assets/images/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
  598. data/vendor/assets/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  599. data/vendor/assets/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  600. data/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  601. data/vendor/assets/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  602. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  603. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  604. data/vendor/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  605. data/vendor/assets/images/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
  606. data/vendor/assets/javascripts/calendar_date_select/calendar_date_select.js +0 -446
  607. data/vendor/assets/javascripts/calendar_date_select/format_american.js +0 -35
  608. data/vendor/assets/javascripts/calendar_date_select/format_danish.js +0 -31
  609. data/vendor/assets/javascripts/calendar_date_select/format_db.js +0 -27
  610. data/vendor/assets/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
  611. data/vendor/assets/javascripts/calendar_date_select/format_euro_24hr_ymd.js +0 -7
  612. data/vendor/assets/javascripts/calendar_date_select/format_finnish.js +0 -32
  613. data/vendor/assets/javascripts/calendar_date_select/format_french.js +0 -24
  614. data/vendor/assets/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -37
  615. data/vendor/assets/javascripts/calendar_date_select/format_iso_date.js +0 -29
  616. data/vendor/assets/javascripts/calendar_date_select/format_italian.js +0 -24
  617. data/vendor/assets/javascripts/calendar_date_select/locale/ar.js +0 -10
  618. data/vendor/assets/javascripts/calendar_date_select/locale/da.js +0 -11
  619. data/vendor/assets/javascripts/calendar_date_select/locale/de.js +0 -11
  620. data/vendor/assets/javascripts/calendar_date_select/locale/es.js +0 -11
  621. data/vendor/assets/javascripts/calendar_date_select/locale/fi.js +0 -10
  622. data/vendor/assets/javascripts/calendar_date_select/locale/fr.js +0 -11
  623. data/vendor/assets/javascripts/calendar_date_select/locale/it.js +0 -9
  624. data/vendor/assets/javascripts/calendar_date_select/locale/ja.js +0 -11
  625. data/vendor/assets/javascripts/calendar_date_select/locale/nl.js +0 -11
  626. data/vendor/assets/javascripts/calendar_date_select/locale/pl.js +0 -11
  627. data/vendor/assets/javascripts/calendar_date_select/locale/pt.js +0 -11
  628. data/vendor/assets/javascripts/calendar_date_select/locale/ru.js +0 -10
  629. data/vendor/assets/javascripts/calendar_date_select/locale/sl.js +0 -11
  630. data/vendor/assets/javascripts/calendar_date_select/locale/sv.js +0 -9
  631. data/vendor/assets/stylesheets/calendar_date_select/blue.css +0 -130
  632. data/vendor/assets/stylesheets/calendar_date_select/default.css +0 -135
  633. data/vendor/assets/stylesheets/calendar_date_select/green.css +0 -142
  634. data/vendor/assets/stylesheets/calendar_date_select/plain.css +0 -128
  635. data/vendor/assets/stylesheets/calendar_date_select/red.css +0 -135
  636. data/vendor/assets/stylesheets/calendar_date_select/silver.css +0 -133
  637. data/vendor/plugins/.gitkeep~master +0 -0
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  config/*.yml
2
+ config/deploy.rb
2
3
  !config/settings.default.yml
3
4
  !config/database.mysql.mac.yml
4
5
  !config/database.mysql.yml
data/.travis.yml CHANGED
@@ -39,8 +39,8 @@ before_script:
39
39
  - "export DISPLAY=:99"
40
40
  - "sh -e /etc/init.d/xvfb start"
41
41
 
42
- # Run specs, acceptance tests, and ensure that assets can compile without errors
43
- script: "bundle exec rake spec && bundle exec rake acceptance && RAILS_ENV=production bundle exec rake assets:precompile:primary"
42
+ # Run specs & acceptance tests, and ensure that assets can compile without errors
43
+ script: "bundle exec rake && RAILS_ENV=production bundle exec rake assets:precompile:primary"
44
44
 
45
45
  # To stop Travis from running tests for a new commit,
46
46
  # add the following to your commit message: [ci skip]
data/CHANGELOG CHANGED
@@ -4,6 +4,11 @@ It does not matter how slowly you go as long as you do not stop.
4
4
  First they ignore you, then they laugh at you, then they fight you,
5
5
  then you win. –- Mahatma Gandhi
6
6
 
7
+ Sat, Dec 29, 2012
8
+ ---------------------------------------------------------------------
9
+ - A lot has happened in the last 2 years!
10
+ - 0.11.4 will be the last ruby 1.8 release
11
+
7
12
  Tue, Sep 7, 2010
8
13
  ---------------------------------------------------------------------
9
14
  - Added Gemfile and Gemfile.lock.
@@ -1836,4 +1841,4 @@ Mon, Nov 24, 2008
1836
1841
  ---------------------------------------------------------------------
1837
1842
  - Added [sessions] and [users] tables, created [User] model.
1838
1843
  - Installed Rspec and [acts_as_paranoid] plugins.
1839
- - Created the project and posted it on GitHub.
1844
+ - Created the project and posted it on GitHub.
data/CONTRIBUTORS CHANGED
@@ -1,50 +1,89 @@
1
1
  The following people have contributed code, patches, bug fixes, and language
2
2
  translations to the Fat Free CRM:
3
3
 
4
+ * Aaron Brethorst
5
+ * Adrian Klingel
4
6
  * Alexander Kabanov (USA)
7
+ * Alex Tomlins
5
8
  * Andrew Neil (United Kingdom)
6
9
  * Apirak Panatkool (Thailand)
7
10
  * Avery Pennarun (Canada)
8
11
  * Beatriz Garcia Parrilla (Spain)
9
12
  * Ben Tillman (Hong Kong)
13
+ * Brook
10
14
  * Cédric Brancourt (France)
15
+ * Chris Carter
16
+ * Codemis
11
17
  * Craig Ulliott (USA)
18
+ * David Cornu
19
+ * David Keita
12
20
  * Dirk Kelly (Australia)
13
21
  * Dmitry Dudin (Russia)
14
22
  * Douglas Campos (Brasil)
23
+ * Drew Neil
15
24
  * Dr. Nic Williams (Australia)
25
+ * dup2
16
26
  * Elad Meidar (Israel)
27
+ * Electron-libre
17
28
  * Enderson Maia (Brasil)
18
29
  * Eric Davis (USA)
19
30
  * Eric Shelley (USA)
20
31
  * Fritz Thielemann (Germany)
21
32
  * Gavin Baker (USA)
33
+ * guesxy
22
34
  * Hamish Rickerby (United Kingdom)
23
35
  * Jack Tang (China)
24
36
  * James Zhang (China)
25
37
  * Jim Gay (USA)
38
+ * Josef Chmel
26
39
  * Jose Luis Gordo Romero (Spain)
40
+ * Joseph Near
27
41
  * Kamil Politowicz (Germany)
42
+ * Kevin Fullerton
43
+ * Kiran Jonnalagadda
44
+ * Kouichi Kishikami
28
45
  * Lana Dvorkin (USA)
29
46
  * Leonid Dinershtein (Russia)
30
47
  * Louis Nyffenegger (Australia)
31
48
  * Lukasz Kosewski (Canada)
32
- * Matt Beedle (Spain)
49
+ * Marian Mrózek
50
+ * Mark Friedgan
33
51
  * Martin Gajdos (Switzerland)
34
52
  * Martin Trejo (Mexico)
53
+ * Masaki Muranaka
54
+ * Matt Beedle (Spain)
55
+ * Mauro Alloro
56
+ * Michael Dvorkin
57
+ * Mike Dvorkin
35
58
  * Miles Togoe (USA)
36
59
  * Nathan Broadbent (Hong Kong)
60
+ * Nicholas Fine
37
61
  * Nicholas Rowe (USA)
38
62
  * Nobuhito Okada (Japan)
63
+ * Olmo Maldonado
64
+ * Patrick Mulder
65
+ * Paul
39
66
  * Peter McCurdy (Canada)
67
+ * Philipp Ullmann
40
68
  * Ralf Ebert (Germany)
69
+ * rickerbh
41
70
  * Rit Li (USA)
71
+ * Robert Fletcher
72
+ * Rob Esposito
42
73
  * Roman Smirnov (Russia)
43
74
  * Russell Niller (USA)
44
75
  * Ryan Stenhouse (Scotland)
45
76
  * Scott Miller (USA)
77
+ * Sebastian Castro
78
+ * Seb Jacobs
79
+ * Serafim Junior Dos Santos Fagundes
46
80
  * Steve Kenworthy (Hong Kong)
81
+ * tarbalazs
47
82
  * Todd Makinster (USA)
48
83
  * Tom Meier (Australia)
49
84
  * Trevor Oke (Canada)
85
+ * William Lawson
86
+ * Xughaa
50
87
  * Yury Kotlyarov (Russia)
88
+
89
+ Generated using "git shortlog -s -n | cut -f 2 | sort"
data/Capfile ADDED
@@ -0,0 +1,5 @@
1
+ load 'deploy'
2
+ # Uncomment if you are using Rails' asset pipeline
3
+ # load 'deploy/assets'
4
+ Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
5
+ load 'config/deploy' # remove this line to skip loading any of the default tasks
data/Gemfile CHANGED
@@ -6,6 +6,15 @@ source :rubygems
6
6
  # gem 'sqlite3'
7
7
  gem 'pg', '~> 0.13.2'
8
8
 
9
+ # Allows easy switching between locally developed gems, and gems installed from rubygems.org
10
+ # See README for more info at: https://github.com/ndbroadbent/bundler_local_development
11
+ gem 'bundler_local_development', :group => :development, :require => false
12
+ begin
13
+ require 'bundler_local_development'
14
+ Bundler.development_gems = [/^ffcrm_/, /ransack/]
15
+ rescue LoadError
16
+ end
17
+
9
18
  # Removes a gem dependency
10
19
  def remove(name)
11
20
  @dependencies.reject! {|d| d.name == name }
@@ -31,22 +40,28 @@ gem 'premailer', :require => false
31
40
  # Remove fat_free_crm dependency, to stop it from being auto-required too early.
32
41
  remove 'fat_free_crm'
33
42
 
43
+ group :development do
44
+ gem 'thin'
45
+ gem 'quiet_assets'
46
+ # Uncomment the following two gems to deploy via Capistrano
47
+ gem 'capistrano'
48
+ gem 'capistrano_colors'
49
+ end
50
+
34
51
  group :development, :test do
35
52
  gem 'rspec-rails', '~> 2.9.0'
36
- gem 'steak', :require => false
37
53
  gem 'headless'
38
54
  unless ENV["CI"]
39
55
  gem 'ruby-debug', :platform => :mri_18
40
- gem 'debugger', :platform => :mri_19
56
+ gem 'debugger', :platform => :mri_19
41
57
  end
42
58
  gem 'pry-rails'
43
59
  end
44
60
 
45
61
  group :test do
46
- gem 'capybara'
47
- gem 'spork'
62
+ gem 'capybara', '~> 1.1' # v2 and up is not r1.8 compatible.
48
63
  gem 'database_cleaner'
49
- gem 'fuubar'
64
+ gem "acts_as_fu", "~> 0.0.8"
50
65
 
51
66
  if RUBY_VERSION.to_f >= 1.9
52
67
  gem 'factory_girl_rails', '~> 3.0.0'
@@ -65,7 +80,11 @@ end
65
80
  group :assets do
66
81
  gem 'sass-rails', '~> 3.2.3'
67
82
  gem 'coffee-rails', '~> 3.2.1'
68
- gem 'therubyracer', :platform => :ruby # C Ruby (MRI) or Rubinius, but NOT Windows
69
83
  gem 'uglifier', '>= 1.0.3'
84
+ gem 'execjs'
85
+ unless ENV["CI"]
86
+ gem 'therubyracer', :platform => :ruby
87
+ end
70
88
  end
71
89
 
90
+ gem 'turbo-sprockets-rails3'
data/Gemfile.lock CHANGED
@@ -1,39 +1,42 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- actionmailer (3.2.3)
5
- actionpack (= 3.2.3)
4
+ actionmailer (3.2.8)
5
+ actionpack (= 3.2.8)
6
6
  mail (~> 2.4.4)
7
- actionpack (3.2.3)
8
- activemodel (= 3.2.3)
9
- activesupport (= 3.2.3)
7
+ actionpack (3.2.8)
8
+ activemodel (= 3.2.8)
9
+ activesupport (= 3.2.8)
10
10
  builder (~> 3.0.0)
11
11
  erubis (~> 2.7.0)
12
- journey (~> 1.0.1)
12
+ journey (~> 1.0.4)
13
13
  rack (~> 1.4.0)
14
14
  rack-cache (~> 1.2)
15
15
  rack-test (~> 0.6.1)
16
- sprockets (~> 2.1.2)
17
- activemodel (3.2.3)
18
- activesupport (= 3.2.3)
16
+ sprockets (~> 2.1.3)
17
+ activemodel (3.2.8)
18
+ activesupport (= 3.2.8)
19
19
  builder (~> 3.0.0)
20
- activerecord (3.2.3)
21
- activemodel (= 3.2.3)
22
- activesupport (= 3.2.3)
20
+ activerecord (3.2.8)
21
+ activemodel (= 3.2.8)
22
+ activesupport (= 3.2.8)
23
23
  arel (~> 3.0.2)
24
24
  tzinfo (~> 0.3.29)
25
- activeresource (3.2.3)
26
- activemodel (= 3.2.3)
27
- activesupport (= 3.2.3)
28
- activesupport (3.2.3)
25
+ activeresource (3.2.8)
26
+ activemodel (= 3.2.8)
27
+ activesupport (= 3.2.8)
28
+ activesupport (3.2.8)
29
29
  i18n (~> 0.6)
30
30
  multi_json (~> 1.0)
31
- acts-as-taggable-on (2.2.2)
31
+ acts-as-taggable-on (2.3.3)
32
32
  rails (~> 3.0)
33
33
  acts_as_commentable (3.0.1)
34
+ acts_as_fu (0.0.8)
35
+ activerecord
36
+ sqlite3
34
37
  acts_as_list (0.1.6)
35
- addressable (2.2.8)
36
- ajax-chosen-rails (0.2.0)
38
+ addressable (2.3.2)
39
+ ajax-chosen-rails (0.2.1)
37
40
  chosen-rails_ffcrm
38
41
  railties (~> 3.0)
39
42
  thor (~> 0.14)
@@ -41,17 +44,26 @@ GEM
41
44
  authlogic (3.1.0)
42
45
  activerecord (>= 3.0.7)
43
46
  activerecord (>= 3.0.7)
44
- builder (3.0.0)
47
+ builder (3.0.4)
48
+ bundler_local_development (0.4.1)
49
+ bundler
45
50
  cancan (1.6.7)
46
- capybara (1.1.2)
51
+ capistrano (2.13.5)
52
+ highline
53
+ net-scp (>= 1.0.0)
54
+ net-sftp (>= 2.0.0)
55
+ net-ssh (>= 2.0.14)
56
+ net-ssh-gateway (>= 1.1.0)
57
+ capistrano_colors (0.5.5)
58
+ capybara (1.1.4)
47
59
  mime-types (>= 1.16)
48
60
  nokogiri (>= 1.3.3)
49
61
  rack (>= 1.0.0)
50
62
  rack-test (>= 0.5.4)
51
63
  selenium-webdriver (~> 2.0)
52
64
  xpath (~> 0.1.4)
53
- childprocess (0.3.2)
54
- ffi (~> 1.0.6)
65
+ childprocess (0.3.6)
66
+ ffi (~> 1.0, >= 1.0.6)
55
67
  chosen-rails_ffcrm (0.9.5)
56
68
  railties (~> 3.0)
57
69
  thor (~> 0.14)
@@ -69,18 +81,20 @@ GEM
69
81
  css_parser (1.2.6)
70
82
  addressable
71
83
  rdoc
84
+ daemons (1.1.9)
72
85
  database_cleaner (0.7.2)
73
- debugger (1.1.3)
86
+ debugger (1.1.4)
74
87
  columnize (>= 0.3.1)
75
88
  debugger-linecache (~> 1.1.1)
76
- debugger-ruby_core_source (~> 1.1.2)
89
+ debugger-ruby_core_source (~> 1.1.3)
77
90
  debugger-linecache (1.1.1)
78
91
  debugger-ruby_core_source (>= 1.1.1)
79
- debugger-ruby_core_source (1.1.2)
92
+ debugger-ruby_core_source (1.1.3)
80
93
  diff-lcs (1.1.3)
81
94
  dynamic_form (1.1.4)
82
95
  email_reply_parser_ffcrm (0.5.0)
83
96
  erubis (2.7.0)
97
+ eventmachine (1.0.0)
84
98
  execjs (1.3.1)
85
99
  multi_json (~> 1.0)
86
100
  factory_girl (3.0.0)
@@ -89,25 +103,23 @@ GEM
89
103
  factory_girl (~> 3.0.0)
90
104
  railties (>= 3.0.0)
91
105
  ffaker (1.14.0)
92
- ffi (1.0.11)
93
- fuubar (1.0.0)
94
- rspec (~> 2.0)
95
- rspec-instafail (~> 0.2.0)
96
- ruby-progressbar (~> 0.0.10)
97
- haml (3.1.4)
98
- headless (0.3.1)
106
+ ffi (1.2.0)
107
+ haml (3.1.7)
108
+ headless (0.2.2)
109
+ highline (1.6.15)
99
110
  hike (1.2.1)
100
111
  htmlentities (4.3.1)
101
- i18n (0.6.0)
102
- journey (1.0.3)
112
+ i18n (0.6.1)
113
+ journey (1.0.4)
103
114
  jquery-rails (2.0.2)
104
115
  railties (>= 3.2.0, < 5.0)
105
116
  thor (~> 0.14)
106
- json (1.7.0)
117
+ json (1.7.5)
107
118
  kgio (2.7.4)
108
119
  libv8 (3.3.10.4)
109
- libwebsocket (0.1.3)
120
+ libwebsocket (0.1.7.1)
110
121
  addressable
122
+ websocket
111
123
  linecache (0.46)
112
124
  rbx-require-relative (> 0.0.4)
113
125
  mail (2.4.4)
@@ -115,13 +127,20 @@ GEM
115
127
  mime-types (~> 1.16)
116
128
  treetop (~> 1.4.8)
117
129
  method_source (0.7.1)
118
- mime-types (1.18)
119
- multi_json (1.3.4)
120
- nokogiri (1.5.2)
130
+ mime-types (1.19)
131
+ multi_json (1.5.0)
132
+ net-scp (1.0.4)
133
+ net-ssh (>= 1.99.1)
134
+ net-sftp (2.0.5)
135
+ net-ssh (>= 2.0.9)
136
+ net-ssh (2.6.1)
137
+ net-ssh-gateway (1.1.0)
138
+ net-ssh (>= 1.99.1)
139
+ nokogiri (1.5.6)
121
140
  paper_trail (2.6.3)
122
141
  activerecord (~> 3.0)
123
142
  railties (~> 3.0)
124
- paperclip (2.7.0)
143
+ paperclip (2.8.0)
125
144
  activerecord (>= 2.3.0)
126
145
  activesupport (>= 2.3.2)
127
146
  cocaine (>= 0.0.2)
@@ -141,39 +160,52 @@ GEM
141
160
  slop (>= 2.4.4, < 3)
142
161
  pry-rails (0.1.6)
143
162
  pry
163
+ quiet_assets (1.0.1)
164
+ railties (~> 3.1)
144
165
  rack (1.4.1)
145
166
  rack-cache (1.2)
146
167
  rack (>= 0.4)
147
168
  rack-ssl (1.3.2)
148
169
  rack
149
- rack-test (0.6.1)
170
+ rack-test (0.6.2)
150
171
  rack (>= 1.0)
151
- rails (3.2.3)
152
- actionmailer (= 3.2.3)
153
- actionpack (= 3.2.3)
154
- activerecord (= 3.2.3)
155
- activeresource (= 3.2.3)
156
- activesupport (= 3.2.3)
172
+ rails (3.2.8)
173
+ actionmailer (= 3.2.8)
174
+ actionpack (= 3.2.8)
175
+ activerecord (= 3.2.8)
176
+ activeresource (= 3.2.8)
177
+ activesupport (= 3.2.8)
157
178
  bundler (~> 1.0)
158
- railties (= 3.2.3)
159
- railties (3.2.3)
160
- actionpack (= 3.2.3)
161
- activesupport (= 3.2.3)
179
+ railties (= 3.2.8)
180
+ rails3-jquery-autocomplete (1.0.7)
181
+ rails (~> 3.0)
182
+ railties (3.2.8)
183
+ actionpack (= 3.2.8)
184
+ activesupport (= 3.2.8)
162
185
  rack-ssl (~> 1.3.2)
163
186
  rake (>= 0.8.7)
164
187
  rdoc (~> 3.4)
165
- thor (~> 0.14.6)
188
+ thor (>= 0.14.6, < 2.0)
166
189
  raindrops (0.8.0)
167
190
  rake (0.9.2.2)
168
- ransack_ffcrm (0.6.0)
191
+ ransack (0.7.2)
192
+ actionpack (~> 3.0)
193
+ activerecord (~> 3.0)
194
+ polyamorous (~> 0.5.0)
195
+ ransack_chronic (1.1.0)
196
+ chronic (>= 0.6.7)
197
+ ransack_ffcrm (0.7.1)
169
198
  actionpack (~> 3.0)
170
199
  activerecord (~> 3.0)
171
200
  chronic (~> 0.6.7)
172
201
  polyamorous (~> 0.5.0)
202
+ ransack_ui (1.0.2)
203
+ ransack
204
+ ransack_chronic (>= 1.1.0)
173
205
  rbx-require-relative (0.0.9)
174
206
  rdoc (3.12)
175
207
  json (~> 1.4)
176
- responds_to_parent_ffcrm (1.1.0)
208
+ responds_to_parent (1.1.0)
177
209
  rspec (2.9.0)
178
210
  rspec-core (~> 2.9.0)
179
211
  rspec-expectations (~> 2.9.0)
@@ -181,7 +213,6 @@ GEM
181
213
  rspec-core (2.9.0)
182
214
  rspec-expectations (2.9.1)
183
215
  diff-lcs (~> 1.1.3)
184
- rspec-instafail (0.2.4)
185
216
  rspec-mocks (2.9.0)
186
217
  rspec-rails (2.9.0)
187
218
  actionpack (>= 3.0)
@@ -193,16 +224,16 @@ GEM
193
224
  ruby-debug-base (~> 0.10.4.0)
194
225
  ruby-debug-base (0.10.4)
195
226
  linecache (>= 0.3)
196
- ruby-progressbar (0.0.10)
197
- rubyzip (0.9.8)
198
- sass (3.1.16)
227
+ rubyzip (0.9.9)
228
+ sass (3.2.1)
199
229
  sass-rails (3.2.5)
200
230
  railties (~> 3.2.0)
201
231
  sass (>= 3.1.10)
202
232
  tilt (~> 1.3)
203
- selenium-webdriver (2.21.2)
233
+ select2-rails (3.2.1)
234
+ thor (~> 0.14)
235
+ selenium-webdriver (2.27.2)
204
236
  childprocess (>= 0.2.5)
205
- ffi (~> 1.0)
206
237
  libwebsocket (~> 0.1.3)
207
238
  multi_json (~> 1.0)
208
239
  rubyzip
@@ -210,26 +241,26 @@ GEM
210
241
  actionpack (~> 3.0)
211
242
  activemodel (~> 3.0)
212
243
  slop (2.4.4)
213
- spork (0.9.1)
214
244
  sprockets (2.1.3)
215
245
  hike (~> 1.2)
216
246
  rack (~> 1.0)
217
247
  tilt (~> 1.1, != 1.3.0)
218
- squeel (0.9.5)
219
- activerecord (~> 3.0)
220
- activesupport (~> 3.0)
221
- polyamorous (~> 0.5.0)
222
- steak (2.0.0)
223
- capybara (>= 1.0.0)
224
- rspec-rails (>= 2.5.0)
248
+ sqlite3 (1.3.6)
225
249
  therubyracer (0.10.1)
226
250
  libv8 (~> 3.3.10)
227
- thor (0.14.6)
251
+ thin (1.5.0)
252
+ daemons (>= 1.0.9)
253
+ eventmachine (>= 0.12.6)
254
+ rack (>= 1.0.0)
255
+ thor (0.16.0)
228
256
  tilt (1.3.3)
229
257
  treetop (1.4.10)
230
258
  polyglot
231
259
  polyglot (>= 0.3.1)
232
- tzinfo (0.3.33)
260
+ turbo-sprockets-rails3 (0.1.10)
261
+ railties (>= 3.1.0)
262
+ sprockets (>= 2.0.0)
263
+ tzinfo (0.3.35)
233
264
  uglifier (1.2.4)
234
265
  execjs (>= 0.3.0)
235
266
  multi_json (>= 1.0.2)
@@ -237,6 +268,9 @@ GEM
237
268
  kgio (~> 2.6)
238
269
  rack
239
270
  raindrops (~> 0.7)
271
+ valium (0.5.0)
272
+ activerecord (>= 3.0.2)
273
+ websocket (1.0.6)
240
274
  will_paginate (3.0.3)
241
275
  xpath (0.1.4)
242
276
  nokogiri (~> 1.3)
@@ -245,44 +279,52 @@ PLATFORMS
245
279
  ruby
246
280
 
247
281
  DEPENDENCIES
248
- acts-as-taggable-on (~> 2.2.1)
282
+ acts-as-taggable-on (~> 2.3.3)
249
283
  acts_as_commentable (~> 3.0.1)
284
+ acts_as_fu (~> 0.0.8)
250
285
  acts_as_list (~> 0.1.4)
251
- ajax-chosen-rails (>= 0.2.0)
252
- authlogic (~> 3.1.0)
286
+ ajax-chosen-rails (>= 0.2.1)
287
+ authlogic (= 3.1.0)
288
+ bundler_local_development
253
289
  cancan
254
- capybara
255
- chosen-rails_ffcrm
290
+ capistrano
291
+ capistrano_colors
292
+ capybara (~> 1.1)
293
+ cocaine
256
294
  coffee-rails (~> 3.2.1)
257
295
  database_cleaner
258
296
  debugger
259
297
  dynamic_form
260
298
  email_reply_parser_ffcrm
299
+ execjs
261
300
  factory_girl_rails (~> 3.0.0)
262
301
  ffaker (>= 1.12.0)
263
- fuubar
264
- haml (~> 3.1.3)
302
+ haml (~> 3)
265
303
  headless
266
304
  jquery-rails
267
305
  nokogiri
268
306
  paper_trail
269
- paperclip (~> 2.7.0)
307
+ paperclip (~> 2.8.0)
270
308
  pg (~> 0.13.2)
271
309
  premailer
272
310
  prototype-rails
273
311
  pry-rails
274
- rails (~> 3.2.2)
275
- ransack_ffcrm (~> 0.6.0)
276
- responds_to_parent_ffcrm
312
+ quiet_assets
313
+ rails (~> 3.2)
314
+ rails3-jquery-autocomplete
315
+ ransack_ffcrm (~> 0.7.1)
316
+ ransack_ui (>= 1.0.2)
317
+ responds_to_parent (>= 1.1.0)
277
318
  rspec-rails (~> 2.9.0)
278
319
  ruby-debug
279
- sass (~> 3.1.10)
320
+ sass (~> 3)
280
321
  sass-rails (~> 3.2.3)
322
+ select2-rails
281
323
  simple_form (~> 2.0.1)
282
- spork
283
- squeel (~> 0.9.3)
284
- steak
285
324
  therubyracer
325
+ thin
326
+ turbo-sprockets-rails3
286
327
  uglifier (>= 1.0.3)
287
328
  unicorn
329
+ valium
288
330
  will_paginate (~> 3.0.2)