fat_free_crm 0.12.3 → 0.13.0

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

Potentially problematic release.


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

Files changed (521) hide show
  1. checksums.yaml +5 -13
  2. data/.travis.yml +1 -11
  3. data/Gemfile +7 -19
  4. data/Gemfile.lock +166 -166
  5. data/Procfile +1 -1
  6. data/README.md +20 -20
  7. data/app/assets/javascripts/admin/fields.js.coffee +3 -3
  8. data/app/assets/javascripts/application.js.erb +3 -0
  9. data/app/assets/javascripts/crm.js +1 -0
  10. data/app/assets/javascripts/crm_comments.js.coffee +66 -0
  11. data/app/assets/javascripts/lists.js.coffee +45 -2
  12. data/app/assets/javascripts/search.js.coffee +2 -0
  13. data/app/assets/javascripts/timeago.js +17 -0
  14. data/app/assets/stylesheets/advanced_search.css.scss +49 -25
  15. data/app/assets/stylesheets/application.css.erb +3 -0
  16. data/app/assets/stylesheets/common.scss +13 -0
  17. data/app/assets/stylesheets/format_buttons.css.scss +15 -10
  18. data/app/assets/stylesheets/header.scss +3 -0
  19. data/app/assets/stylesheets/lists.css.scss +4 -0
  20. data/app/controllers/admin/fields_controller.rb +5 -5
  21. data/app/controllers/admin/users_controller.rb +1 -3
  22. data/app/controllers/application_controller.rb +23 -23
  23. data/app/controllers/comments_controller.rb +3 -31
  24. data/app/controllers/entities/accounts_controller.rb +3 -3
  25. data/app/controllers/entities/campaigns_controller.rb +4 -4
  26. data/app/controllers/entities/contacts_controller.rb +2 -2
  27. data/app/controllers/entities/leads_controller.rb +3 -3
  28. data/app/controllers/entities/opportunities_controller.rb +4 -3
  29. data/app/controllers/entities_controller.rb +6 -6
  30. data/app/controllers/home_controller.rb +1 -1
  31. data/app/controllers/lists_controller.rb +8 -1
  32. data/app/controllers/tasks_controller.rb +1 -1
  33. data/app/controllers/users_controller.rb +46 -23
  34. data/app/helpers/admin/application_helper.rb +1 -3
  35. data/app/helpers/admin/field_groups_helper.rb +2 -1
  36. data/app/helpers/application_helper.rb +37 -16
  37. data/app/helpers/home_helper.rb +1 -2
  38. data/app/helpers/leads_helper.rb +5 -6
  39. data/app/helpers/tasks_helper.rb +36 -50
  40. data/app/models/entities/account.rb +10 -7
  41. data/app/models/entities/campaign.rb +4 -4
  42. data/app/models/entities/contact.rb +8 -5
  43. data/app/models/entities/lead.rb +8 -8
  44. data/app/models/entities/opportunity.rb +13 -18
  45. data/app/models/fields/custom_field.rb +10 -0
  46. data/app/models/fields/field.rb +3 -3
  47. data/app/models/fields/field_group.rb +1 -1
  48. data/app/models/list.rb +1 -0
  49. data/app/models/polymorphic/address.rb +3 -3
  50. data/app/models/polymorphic/comment.rb +2 -4
  51. data/app/models/polymorphic/task.rb +32 -27
  52. data/app/models/setting.rb +3 -9
  53. data/app/models/users/ability.rb +2 -13
  54. data/app/models/users/user.rb +12 -15
  55. data/app/views/accounts/_edit.html.haml +1 -1
  56. data/app/views/accounts/_index_brief.html.haml +3 -3
  57. data/app/views/accounts/_index_long.html.haml +3 -3
  58. data/app/views/accounts/_new.html.haml +1 -1
  59. data/app/views/accounts/create.js.haml +17 -0
  60. data/app/views/accounts/destroy.js.haml +6 -0
  61. data/app/views/accounts/edit.js.haml +32 -0
  62. data/app/views/accounts/index.js.haml +11 -0
  63. data/app/views/accounts/index.xls.builder +9 -7
  64. data/app/views/accounts/new.js.haml +11 -0
  65. data/app/views/accounts/show.js.haml +5 -0
  66. data/app/views/accounts/update.js.haml +17 -0
  67. data/app/views/admin/field_groups/_edit.html.haml +1 -1
  68. data/app/views/admin/field_groups/_new.html.haml +1 -1
  69. data/app/views/admin/field_groups/confirm.js.haml +7 -0
  70. data/app/views/admin/field_groups/create.js.haml +20 -0
  71. data/app/views/admin/field_groups/destroy.js.haml +9 -0
  72. data/app/views/admin/field_groups/edit.js.haml +12 -0
  73. data/app/views/admin/field_groups/new.js.haml +8 -0
  74. data/app/views/admin/field_groups/update.js.haml +8 -0
  75. data/app/views/admin/fields/_field.html.haml +2 -2
  76. data/app/views/admin/fields/_form.html.haml +2 -2
  77. data/app/views/admin/fields/create.js.haml +17 -0
  78. data/app/views/admin/fields/destroy.js.haml +8 -0
  79. data/app/views/admin/fields/edit.js.haml +3 -0
  80. data/app/views/admin/fields/update.js.haml +13 -0
  81. data/app/views/admin/groups/_edit.html.haml +1 -1
  82. data/app/views/admin/groups/_new.html.haml +1 -1
  83. data/app/views/admin/groups/create.js.haml +10 -0
  84. data/app/views/admin/groups/destroy.js.haml +9 -0
  85. data/app/views/admin/groups/edit.js.haml +14 -0
  86. data/app/views/admin/groups/index.html.haml +1 -1
  87. data/app/views/admin/groups/index.js.haml +2 -0
  88. data/app/views/admin/groups/new.js.haml +9 -0
  89. data/app/views/admin/groups/update.js.haml +9 -0
  90. data/app/views/admin/tags/_edit.html.haml +1 -1
  91. data/app/views/admin/tags/_new.html.haml +1 -1
  92. data/app/views/admin/tags/confirm.js.haml +7 -0
  93. data/app/views/admin/tags/create.js.haml +11 -0
  94. data/app/views/admin/tags/destroy.js.haml +10 -0
  95. data/app/views/admin/tags/edit.js.haml +20 -0
  96. data/app/views/admin/tags/new.js.haml +7 -0
  97. data/app/views/admin/tags/update.js.haml +9 -0
  98. data/app/views/admin/users/_edit.html.haml +1 -1
  99. data/app/views/admin/users/_new.html.haml +1 -1
  100. data/app/views/admin/users/_user.html.haml +1 -1
  101. data/app/views/admin/users/confirm.js.haml +7 -0
  102. data/app/views/admin/users/create.js.haml +10 -0
  103. data/app/views/admin/users/destroy.js.haml +10 -0
  104. data/app/views/admin/users/edit.js.haml +20 -0
  105. data/app/views/admin/users/index.js.haml +2 -0
  106. data/app/views/admin/users/new.js.haml +9 -0
  107. data/app/views/admin/users/reactivate.js.haml +3 -0
  108. data/app/views/admin/users/suspend.js.haml +3 -0
  109. data/app/views/admin/users/update.js.haml +9 -0
  110. data/app/views/authentications/new.html.haml +1 -1
  111. data/app/views/campaigns/_edit.html.haml +1 -1
  112. data/app/views/campaigns/_new.html.haml +1 -1
  113. data/app/views/campaigns/create.js.haml +20 -0
  114. data/app/views/campaigns/destroy.js.haml +6 -0
  115. data/app/views/campaigns/edit.js.haml +33 -0
  116. data/app/views/campaigns/index.js.haml +11 -0
  117. data/app/views/campaigns/index.xls.builder +9 -7
  118. data/app/views/campaigns/new.js.haml +11 -0
  119. data/app/views/campaigns/show.js.haml +5 -0
  120. data/app/views/campaigns/update.js.haml +20 -0
  121. data/app/views/comments/_comment.html.haml +1 -1
  122. data/app/views/comments/_edit.html.haml +1 -1
  123. data/app/views/comments/_new.html.haml +3 -2
  124. data/app/views/comments/create.js.haml +14 -0
  125. data/app/views/comments/destroy.js.haml +5 -0
  126. data/app/views/comments/edit.js.haml +11 -0
  127. data/app/views/comments/update.js.haml +9 -0
  128. data/app/views/contacts/_edit.html.haml +1 -1
  129. data/app/views/contacts/_index_full.html.haml +1 -1
  130. data/app/views/contacts/_index_long.html.haml +2 -1
  131. data/app/views/contacts/_new.html.haml +1 -1
  132. data/app/views/contacts/_section_general.html.haml +3 -3
  133. data/app/views/contacts/create.js.haml +23 -0
  134. data/app/views/contacts/destroy.js.haml +9 -0
  135. data/app/views/contacts/edit.js.haml +35 -0
  136. data/app/views/contacts/index.js.haml +11 -0
  137. data/app/views/contacts/index.xls.builder +9 -7
  138. data/app/views/contacts/new.js.haml +13 -0
  139. data/app/views/contacts/show.js.haml +5 -0
  140. data/app/views/contacts/update.js.haml +22 -0
  141. data/app/views/emails/destroy.js.haml +5 -0
  142. data/app/views/entities/_permissions.html.haml +1 -1
  143. data/app/views/entities/attach.js.haml +21 -0
  144. data/app/views/entities/contacts.js.haml +3 -0
  145. data/app/views/entities/discard.js.haml +6 -0
  146. data/app/views/entities/leads.js.haml +3 -0
  147. data/app/views/entities/opportunities.js.haml +3 -0
  148. data/app/views/entities/subscription_update.js.haml +4 -0
  149. data/app/views/entities/versions.js.haml +3 -0
  150. data/app/views/fields/group.js.erb +3 -0
  151. data/app/views/home/_account.html.haml +3 -3
  152. data/app/views/home/_opportunity.html.haml +3 -3
  153. data/app/views/home/index.atom.builder +3 -3
  154. data/app/views/home/index.js.haml +7 -0
  155. data/app/views/home/index.rss.builder +2 -2
  156. data/app/views/home/options.js.haml +7 -0
  157. data/app/views/layouts/_footer.html.haml +0 -4
  158. data/app/views/layouts/_sidebar.html.haml +1 -0
  159. data/app/views/layouts/_tabbed.html.haml +1 -4
  160. data/app/views/layouts/admin/application.html.haml +0 -1
  161. data/app/views/layouts/application.html.haml +5 -7
  162. data/app/views/leads/_convert.html.haml +1 -1
  163. data/app/views/leads/_edit.html.haml +1 -1
  164. data/app/views/leads/_index_long.html.haml +2 -2
  165. data/app/views/leads/_new.html.haml +1 -1
  166. data/app/views/leads/convert.js.haml +35 -0
  167. data/app/views/leads/create.js.haml +21 -0
  168. data/app/views/leads/destroy.js.haml +9 -0
  169. data/app/views/leads/edit.js.haml +35 -0
  170. data/app/views/leads/index.js.haml +11 -0
  171. data/app/views/leads/index.xls.builder +9 -7
  172. data/app/views/leads/new.js.haml +11 -0
  173. data/app/views/leads/promote.js.haml +26 -0
  174. data/app/views/leads/reject.js.haml +12 -0
  175. data/app/views/leads/show.js.haml +5 -0
  176. data/app/views/leads/update.js.haml +26 -0
  177. data/app/views/lists/_personal_sidebar.html.haml +28 -0
  178. data/app/views/lists/_sidebar.html.haml +10 -7
  179. data/app/views/lists/create.js.haml +10 -0
  180. data/app/views/lists/destroy.js.haml +1 -0
  181. data/app/views/opportunities/_edit.html.haml +1 -1
  182. data/app/views/opportunities/_index_brief.html.haml +3 -3
  183. data/app/views/opportunities/_index_long.html.haml +3 -3
  184. data/app/views/opportunities/_new.html.haml +1 -2
  185. data/app/views/opportunities/_top_section.html.haml +4 -0
  186. data/app/views/opportunities/contacts.js.haml +3 -0
  187. data/app/views/opportunities/create.js.haml +29 -0
  188. data/app/views/opportunities/destroy.js.haml +13 -0
  189. data/app/views/opportunities/edit.js.haml +35 -0
  190. data/app/views/opportunities/index.js.haml +11 -0
  191. data/app/views/opportunities/index.xls.builder +9 -7
  192. data/app/views/opportunities/new.js.haml +13 -0
  193. data/app/views/opportunities/show.js.haml +5 -0
  194. data/app/views/opportunities/update.js.haml +25 -0
  195. data/app/views/passwords/edit.html.haml +1 -1
  196. data/app/views/passwords/new.html.haml +1 -1
  197. data/app/views/shared/_comment.html.haml +1 -1
  198. data/app/views/shared/_inline_styles.html.haml +1 -1
  199. data/app/views/tasks/_edit.html.haml +1 -1
  200. data/app/views/tasks/_new.html.haml +1 -1
  201. data/app/views/tasks/complete.js.haml +14 -0
  202. data/app/views/tasks/create.js.haml +39 -0
  203. data/app/views/tasks/destroy.js.haml +7 -0
  204. data/app/views/tasks/discard.js.haml +1 -0
  205. data/app/views/tasks/edit.js.haml +26 -0
  206. data/app/views/tasks/filter.js.haml +4 -0
  207. data/app/views/tasks/index.xls.builder +7 -5
  208. data/app/views/tasks/new.js.haml +8 -0
  209. data/app/views/tasks/update.js.haml +19 -0
  210. data/app/views/users/_password.html.haml +1 -1
  211. data/app/views/users/_profile.html.haml +1 -1
  212. data/app/views/users/avatar.js.haml +9 -0
  213. data/app/views/users/change_password.js.haml +13 -0
  214. data/app/views/users/edit.js.haml +9 -0
  215. data/app/views/users/new.html.haml +1 -1
  216. data/app/views/users/password.js.haml +10 -0
  217. data/app/views/users/update.js.haml +9 -0
  218. data/app/views/users/upload_avatar.js.haml +7 -0
  219. data/app/views/versions/_version.html.haml +1 -1
  220. data/config/application.rb +1 -4
  221. data/config/environments/production.rb +3 -2
  222. data/config/initializers/custom_field_ransack_translations.rb +15 -0
  223. data/config/initializers/locale.rb +9 -1
  224. data/config/initializers/secret_token.rb +1 -25
  225. data/config/initializers/views.rb +20 -20
  226. data/config/locales/cz.yml +245 -211
  227. data/config/locales/cz_fat_free_crm.yml +105 -181
  228. data/config/locales/de.yml +162 -118
  229. data/config/locales/de_fat_free_crm.yml +760 -731
  230. data/config/locales/de_ransack.yml +91 -0
  231. data/config/locales/en-GB.yml +158 -119
  232. data/config/locales/en-GB_fat_free_crm.yml +161 -279
  233. data/config/locales/en-US.yml +158 -121
  234. data/config/locales/en-US_fat_free_crm.yml +185 -179
  235. data/config/locales/en-US_ransack.yml +81 -82
  236. data/config/locales/es.yml +164 -123
  237. data/config/locales/es_fat_free_crm.yml +151 -209
  238. data/config/locales/fr-CA.yml +167 -130
  239. data/config/locales/fr-CA_fat_free_crm.yml +142 -202
  240. data/config/locales/fr.yml +170 -125
  241. data/config/locales/fr_fat_free_crm.yml +199 -302
  242. data/config/locales/it.yml +158 -122
  243. data/config/locales/it_fat_free_crm.yml +105 -168
  244. data/config/locales/ja.yml +162 -131
  245. data/config/locales/ja_fat_free_crm.yml +118 -188
  246. data/config/locales/pl.yml +168 -132
  247. data/config/locales/pl_fat_free_crm.yml +115 -186
  248. data/config/locales/pt-BR.yml +160 -127
  249. data/config/locales/pt-BR_fat_free_crm.yml +125 -182
  250. data/config/locales/ru.yml +256 -233
  251. data/config/locales/ru_fat_free_crm.yml +136 -193
  252. data/config/locales/sv-SE.yml +164 -181
  253. data/config/locales/sv-SE_fat_free_crm.yml +129 -193
  254. data/config/locales/th_fat_free_crm.yml +114 -194
  255. data/config/locales/zh-CN.yml +176 -149
  256. data/config/locales/zh-CN_fat_free_crm.yml +78 -167
  257. data/config/routes.rb +1 -1
  258. data/config/settings.default.yml +74 -23
  259. data/custom_plan.rb +11 -0
  260. data/db/migrate/20131207033244_add_user_id_to_lists.rb +6 -0
  261. data/db/schema.rb +4 -1
  262. data/fat_free_crm.gemspec +3 -3
  263. data/lib/fat_free_crm.rb +1 -11
  264. data/lib/fat_free_crm/export_csv.rb +3 -3
  265. data/lib/fat_free_crm/fields.rb +10 -0
  266. data/lib/fat_free_crm/gem_dependencies.rb +1 -2
  267. data/lib/fat_free_crm/i18n.rb +9 -5
  268. data/lib/fat_free_crm/version.rb +2 -2
  269. data/lib/fat_free_crm/view_factory.rb +8 -5
  270. data/lib/tasks/ffcrm/config.rake +9 -12
  271. data/lib/tasks/ffcrm/missing_translations.rake +2 -1
  272. data/spec/controllers/admin/users_controller_spec.rb +6 -4
  273. data/spec/controllers/applications_controller_spec.rb +4 -4
  274. data/spec/controllers/authentications_controller_spec.rb +15 -15
  275. data/spec/controllers/comments_controller_spec.rb +9 -87
  276. data/spec/controllers/emails_controller_spec.rb +1 -1
  277. data/spec/controllers/entities/accounts_controller_spec.rb +7 -7
  278. data/spec/controllers/entities/campaigns_controller_spec.rb +5 -5
  279. data/spec/controllers/entities/contacts_controller_spec.rb +7 -7
  280. data/spec/controllers/entities/leads_controller_spec.rb +14 -14
  281. data/spec/controllers/entities/opportunities_controller_spec.rb +8 -8
  282. data/spec/controllers/home_controller_spec.rb +6 -6
  283. data/spec/controllers/tasks_controller_spec.rb +7 -7
  284. data/spec/controllers/users_controller_spec.rb +22 -50
  285. data/spec/features/support/selector_helpers.rb +1 -6
  286. data/spec/features/tasks_spec.rb +2 -2
  287. data/spec/helpers/application_helper_spec.rb +15 -15
  288. data/spec/lib/fields_spec.rb +29 -29
  289. data/spec/lib/mail_processor/base_spec.rb +7 -7
  290. data/spec/lib/mail_processor/dropbox_spec.rb +3 -3
  291. data/spec/lib/view_factory_spec.rb +14 -14
  292. data/spec/models/entities/opportunity_spec.rb +1 -1
  293. data/spec/models/fields/custom_field_date_pair_spec.rb +14 -14
  294. data/spec/models/fields/custom_field_pair_spec.rb +13 -13
  295. data/spec/models/fields/custom_field_spec.rb +5 -5
  296. data/spec/models/fields/field_spec.rb +2 -2
  297. data/spec/models/observers/entity_observer_spec.rb +2 -2
  298. data/spec/models/users/user_spec.rb +7 -7
  299. data/spec/routing/comments_routing_spec.rb +0 -9
  300. data/spec/shared/controllers.rb +75 -77
  301. data/spec/shared/models.rb +1 -1
  302. data/spec/spec_helper.rb +1 -2
  303. data/spec/support/auth_macros.rb +3 -3
  304. data/spec/support/mail_processor_mocks.rb +13 -13
  305. data/spec/views/accounts/_edit.haml_spec.rb +1 -1
  306. data/spec/views/accounts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
  307. data/spec/views/accounts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
  308. data/spec/views/accounts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
  309. data/spec/views/accounts/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -11
  310. data/spec/views/accounts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  311. data/spec/views/accounts/show.haml_spec.rb +1 -1
  312. data/spec/views/accounts/{update.rjs_spec.rb → update.js.haml_spec.rb} +16 -25
  313. data/spec/views/admin/field_groups/create.js.haml_spec.rb +31 -0
  314. data/spec/views/admin/field_groups/destroy.js.haml_spec.rb +31 -0
  315. data/spec/views/admin/field_groups/edit.js.haml_spec.rb +24 -0
  316. data/spec/views/admin/field_groups/new.js.haml_spec.rb +25 -0
  317. data/spec/views/admin/field_groups/update.js.haml_spec.rb +30 -0
  318. data/spec/views/admin/users/_create.haml_spec.rb +1 -1
  319. data/spec/views/admin/users/{create.rjs_spec.rb → create.js.haml_spec.rb} +6 -9
  320. data/spec/views/admin/users/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
  321. data/spec/views/admin/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +6 -12
  322. data/spec/views/admin/users/index.haml_spec.rb +0 -0
  323. data/spec/views/admin/users/{index.rjs_spec.rb → index.js.haml_spec.rb} +3 -5
  324. data/spec/views/admin/users/{new.rjs_spec.rb → new.js.haml_spec.rb} +4 -6
  325. data/spec/views/admin/users/{reactivate.rjs_spec.rb → reactivate.js.haml_spec.rb} +2 -4
  326. data/spec/views/admin/users/show.haml_spec.rb +0 -0
  327. data/spec/views/admin/users/{suspend.rjs_spec.rb → suspend.js.haml_spec.rb} +2 -4
  328. data/spec/views/admin/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +6 -10
  329. data/spec/views/campaigns/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
  330. data/spec/views/campaigns/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
  331. data/spec/views/campaigns/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +11 -19
  332. data/spec/views/campaigns/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
  333. data/spec/views/campaigns/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  334. data/spec/views/campaigns/{update.rjs_spec.rb → update.js.haml_spec.rb} +14 -21
  335. data/spec/views/comments/{new.rjs_spec.rb → edit.js.haml_spec.rb} +12 -9
  336. data/spec/views/contacts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -16
  337. data/spec/views/contacts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
  338. data/spec/views/contacts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -19
  339. data/spec/views/contacts/index.haml_spec.rb +1 -1
  340. data/spec/views/contacts/{index.rjs_spec.rb → index.js.html_spec.rb} +7 -11
  341. data/spec/views/contacts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -7
  342. data/spec/views/contacts/{update.rjs_spec.rb → update.js.haml_spec.rb} +20 -35
  343. data/spec/views/home/{index.rjs_spec.rb → index.js.haml_spec.rb} +2 -4
  344. data/spec/views/home/{options.rjs_spec.rb → options.js.haml_spec.rb} +7 -12
  345. data/spec/views/leads/{convert.rjs_spec.rb → convert.js.haml_spec.rb} +12 -20
  346. data/spec/views/leads/{create.rjs_spec.rb → create.js.haml_spec.rb} +13 -19
  347. data/spec/views/leads/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -12
  348. data/spec/views/leads/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -20
  349. data/spec/views/leads/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
  350. data/spec/views/leads/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  351. data/spec/views/leads/{promote.rjs_spec.rb → promote.js.haml_spec.rb} +28 -43
  352. data/spec/views/leads/{reject.rjs_spec.rb → reject.js.haml_spec.rb} +10 -17
  353. data/spec/views/leads/{update.rjs_spec.rb → update.js.haml_spec.rb} +25 -38
  354. data/spec/views/opportunities/{create.rjs_spec.rb → create.js.haml_spec.rb} +16 -26
  355. data/spec/views/opportunities/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +13 -16
  356. data/spec/views/opportunities/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
  357. data/spec/views/opportunities/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -12
  358. data/spec/views/opportunities/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  359. data/spec/views/opportunities/{update.rjs_spec.rb → update.js.haml_spec.rb} +29 -46
  360. data/spec/views/tasks/_edit.haml_spec.rb +1 -1
  361. data/spec/views/tasks/{complete.rjs_spec.rb → complete.js.haml_spec.rb} +9 -14
  362. data/spec/views/tasks/{create.rjs_spec.rb → create.js.haml_spec.rb} +25 -33
  363. data/spec/views/tasks/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -11
  364. data/spec/views/tasks/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +9 -14
  365. data/spec/views/tasks/index.haml_spec.rb +1 -2
  366. data/spec/views/tasks/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  367. data/spec/views/tasks/{update.rjs_spec.rb → update.js.haml_spec.rb} +28 -41
  368. data/spec/views/users/{avatar.rjs_spec.rb → avatar.js.haml_spec.rb} +7 -9
  369. data/spec/views/users/{change_password.rjs_spec.rb → change_password.js.haml_spec.rb} +10 -12
  370. data/spec/views/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +8 -10
  371. data/spec/views/users/{password.rjs_spec.rb → password.js.haml_spec.rb} +9 -11
  372. data/spec/views/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +7 -15
  373. data/spec/views/users/{upload_avatar.rjs_spec.rb → upload_avatar.js.haml_spec.rb} +8 -10
  374. data/vendor/assets/javascripts/ajax-chosen-jquery.js +2 -0
  375. data/vendor/assets/javascripts/ajax-chosen-prototype.js +2 -0
  376. data/vendor/assets/javascripts/ajax-chosen.jquery.coffee +81 -0
  377. data/vendor/assets/javascripts/ajax-chosen.proto.coffee +98 -0
  378. data/vendor/assets/javascripts/jquery_timeago/index.js +17 -0
  379. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js +18 -0
  380. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js +18 -0
  381. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js +20 -0
  382. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js +20 -0
  383. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js +18 -0
  384. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js +17 -0
  385. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js +17 -0
  386. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js +16 -0
  387. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js +19 -0
  388. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js +194 -0
  389. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js +31 -0
  390. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js +18 -0
  391. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js +34 -0
  392. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js +18 -0
  393. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js +20 -0
  394. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js +20 -0
  395. data/zeus.json +2 -1
  396. metadata +240 -245
  397. data/app/assets/images/delete.png +0 -0
  398. data/app/assets/images/iconset_attribution.png +0 -0
  399. data/app/views/accounts/create.js.rjs +0 -14
  400. data/app/views/accounts/destroy.js.rjs +0 -3
  401. data/app/views/accounts/edit.js.rjs +0 -33
  402. data/app/views/accounts/index.js.rjs +0 -8
  403. data/app/views/accounts/new.js.rjs +0 -9
  404. data/app/views/accounts/show.js.erb +0 -2
  405. data/app/views/accounts/update.js.rjs +0 -17
  406. data/app/views/admin/field_groups/confirm.js.rjs +0 -6
  407. data/app/views/admin/field_groups/create.js.rjs +0 -20
  408. data/app/views/admin/field_groups/destroy.js.rjs +0 -11
  409. data/app/views/admin/field_groups/edit.js.rjs +0 -14
  410. data/app/views/admin/field_groups/new.js.rjs +0 -9
  411. data/app/views/admin/field_groups/update.js.rjs +0 -9
  412. data/app/views/admin/fields/create.js.erb +0 -19
  413. data/app/views/admin/fields/destroy.js.erb +0 -9
  414. data/app/views/admin/fields/edit.js.erb +0 -1
  415. data/app/views/admin/fields/update.js.erb +0 -13
  416. data/app/views/admin/groups/create.js.rjs +0 -11
  417. data/app/views/admin/groups/destroy.js.rjs +0 -11
  418. data/app/views/admin/groups/edit.js.rjs +0 -21
  419. data/app/views/admin/groups/index.js.rjs +0 -2
  420. data/app/views/admin/groups/new.js.rjs +0 -9
  421. data/app/views/admin/groups/update.js.rjs +0 -10
  422. data/app/views/admin/tags/confirm.js.rjs +0 -6
  423. data/app/views/admin/tags/create.js.rjs +0 -12
  424. data/app/views/admin/tags/destroy.js.rjs +0 -11
  425. data/app/views/admin/tags/edit.js.rjs +0 -21
  426. data/app/views/admin/tags/new.js.rjs +0 -8
  427. data/app/views/admin/tags/update.js.rjs +0 -10
  428. data/app/views/admin/users/confirm.js.rjs +0 -6
  429. data/app/views/admin/users/create.js.rjs +0 -11
  430. data/app/views/admin/users/destroy.js.rjs +0 -11
  431. data/app/views/admin/users/edit.js.rjs +0 -21
  432. data/app/views/admin/users/index.js.rjs +0 -3
  433. data/app/views/admin/users/new.js.rjs +0 -8
  434. data/app/views/admin/users/reactivate.js.rjs +0 -3
  435. data/app/views/admin/users/suspend.js.rjs +0 -3
  436. data/app/views/admin/users/update.js.rjs +0 -10
  437. data/app/views/campaigns/create.js.rjs +0 -18
  438. data/app/views/campaigns/destroy.js.rjs +0 -3
  439. data/app/views/campaigns/edit.js.rjs +0 -34
  440. data/app/views/campaigns/index.js.rjs +0 -8
  441. data/app/views/campaigns/new.js.rjs +0 -9
  442. data/app/views/campaigns/show.js.erb +0 -2
  443. data/app/views/campaigns/update.js.rjs +0 -21
  444. data/app/views/comments/create.js.rjs +0 -11
  445. data/app/views/comments/destroy.js.rjs +0 -6
  446. data/app/views/comments/edit.js.rjs +0 -11
  447. data/app/views/comments/new.js.rjs +0 -14
  448. data/app/views/comments/update.js.rjs +0 -11
  449. data/app/views/contacts/create.js.rjs +0 -19
  450. data/app/views/contacts/destroy.js.rjs +0 -7
  451. data/app/views/contacts/edit.js.rjs +0 -36
  452. data/app/views/contacts/index.js.rjs +0 -8
  453. data/app/views/contacts/new.js.rjs +0 -11
  454. data/app/views/contacts/show.js.erb +0 -2
  455. data/app/views/contacts/update.js.rjs +0 -22
  456. data/app/views/emails/destroy.js.rjs +0 -6
  457. data/app/views/entities/attach.js.rjs +0 -24
  458. data/app/views/entities/contacts.js.rjs +0 -3
  459. data/app/views/entities/discard.js.rjs +0 -7
  460. data/app/views/entities/leads.js.rjs +0 -3
  461. data/app/views/entities/opportunities.js.rjs +0 -3
  462. data/app/views/entities/subscription_update.js.rjs +0 -4
  463. data/app/views/entities/versions.js.erb +0 -3
  464. data/app/views/fields/group.js.rjs +0 -7
  465. data/app/views/home/index.js.rjs +0 -7
  466. data/app/views/home/options.js.rjs +0 -8
  467. data/app/views/leads/convert.js.rjs +0 -37
  468. data/app/views/leads/create.js.rjs +0 -19
  469. data/app/views/leads/destroy.js.rjs +0 -7
  470. data/app/views/leads/edit.js.rjs +0 -36
  471. data/app/views/leads/index.js.rjs +0 -8
  472. data/app/views/leads/new.js.rjs +0 -9
  473. data/app/views/leads/promote.js.rjs +0 -27
  474. data/app/views/leads/reject.js.rjs +0 -10
  475. data/app/views/leads/show.js.erb +0 -2
  476. data/app/views/leads/update.js.rjs +0 -27
  477. data/app/views/lists/create.js.rjs +0 -9
  478. data/app/views/lists/destroy.js.rjs +0 -1
  479. data/app/views/opportunities/contacts.js.rjs +0 -3
  480. data/app/views/opportunities/create.js.rjs +0 -29
  481. data/app/views/opportunities/destroy.js.rjs +0 -11
  482. data/app/views/opportunities/edit.js.rjs +0 -36
  483. data/app/views/opportunities/index.js.rjs +0 -8
  484. data/app/views/opportunities/new.js.rjs +0 -12
  485. data/app/views/opportunities/show.js.erb +0 -2
  486. data/app/views/opportunities/update.js.rjs +0 -26
  487. data/app/views/tasks/complete.js.rjs +0 -17
  488. data/app/views/tasks/create.js.rjs +0 -41
  489. data/app/views/tasks/destroy.js.rjs +0 -7
  490. data/app/views/tasks/discard.rjs +0 -1
  491. data/app/views/tasks/edit.js.rjs +0 -23
  492. data/app/views/tasks/filter.js.rjs +0 -1
  493. data/app/views/tasks/new.js.rjs +0 -9
  494. data/app/views/tasks/update.js.rjs +0 -21
  495. data/app/views/users/avatar.js.rjs +0 -10
  496. data/app/views/users/change_password.js.rjs +0 -15
  497. data/app/views/users/edit.js.rjs +0 -10
  498. data/app/views/users/password.js.rjs +0 -11
  499. data/app/views/users/update.js.rjs +0 -10
  500. data/app/views/users/upload_avatar.js.rjs +0 -8
  501. data/lib/fat_free_crm/secret_token_generator.rb +0 -65
  502. data/spec/lib/secret_token_generator_spec.rb +0 -79
  503. data/spec/models/users/abilities/user_ability_spec.rb +0 -58
  504. data/spec/support/rjs_support.rb +0 -14
  505. data/vendor/assets/images/brief.png +0 -0
  506. data/vendor/assets/images/full.png +0 -0
  507. data/vendor/assets/images/long.png +0 -0
  508. data/vendor/assets/images/tab_icons/accounts.png +0 -0
  509. data/vendor/assets/images/tab_icons/accounts_active.png +0 -0
  510. data/vendor/assets/images/tab_icons/campaigns.png +0 -0
  511. data/vendor/assets/images/tab_icons/campaigns_active.png +0 -0
  512. data/vendor/assets/images/tab_icons/contacts.png +0 -0
  513. data/vendor/assets/images/tab_icons/contacts_active.png +0 -0
  514. data/vendor/assets/images/tab_icons/dashboard.png +0 -0
  515. data/vendor/assets/images/tab_icons/dashboard_active.png +0 -0
  516. data/vendor/assets/images/tab_icons/leads.png +0 -0
  517. data/vendor/assets/images/tab_icons/leads_active.png +0 -0
  518. data/vendor/assets/images/tab_icons/opportunities.png +0 -0
  519. data/vendor/assets/images/tab_icons/opportunities_active.png +0 -0
  520. data/vendor/assets/images/tab_icons/tasks.png +0 -0
  521. data/vendor/assets/images/tab_icons/tasks_active.png +0 -0
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/opportunities/new" do
9
9
  include OpportunitiesHelper
@@ -21,7 +21,7 @@ describe "/opportunities/new" do
21
21
  it "should toggle empty message div if it exists" do
22
22
  render
23
23
 
24
- rendered.should include('crm.flick("empty", "toggle")')
24
+ rendered.should include("crm.flick('empty', 'toggle')")
25
25
  end
26
26
 
27
27
  describe "new opportunity" do
@@ -29,16 +29,14 @@ describe "/opportunities/new" do
29
29
  params[:cancel] = nil
30
30
  render
31
31
 
32
- rendered.should have_rjs("create_opportunity") do |rjs|
33
- with_tag("form[class=new_opportunity]")
34
- end
32
+ rendered.should include("#create_opportunity")
35
33
  end
36
34
 
37
35
  it "should call JavaScript functions to load Calendar popup" do
38
36
  params[:cancel] = nil
39
37
  render
40
38
 
41
- rendered.should include('crm.flip_form("create_opportunity")')
39
+ rendered.should include("crm.flip_form('create_opportunity')")
42
40
  end
43
41
  end
44
42
 
@@ -47,8 +45,8 @@ describe "/opportunities/new" do
47
45
  params[:cancel] = "true"
48
46
  render
49
47
 
50
- rendered.should_not have_rjs("create_opportunity")
51
- rendered.should include('crm.flip_form("create_opportunity")')
48
+ rendered.should_not include("#create_opportunity")
49
+ rendered.should include("crm.flip_form('create_opportunity')")
52
50
  end
53
51
  end
54
52
 
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/opportunities/update" do
9
9
  before do
@@ -25,17 +25,16 @@ describe "/opportunities/update" do
25
25
 
26
26
  it "should flip [edit_opportunity] form" do
27
27
  render
28
- rendered.should_not have_rjs("opportunity_#{@opportunity.id}")
29
- rendered.should include('crm.flip_form("edit_opportunity"')
28
+ rendered.should_not include("opportunity_#{@opportunity.id}")
29
+ rendered.should include("crm.flip_form('edit_opportunity'")
30
30
  end
31
31
 
32
32
  it "should update sidebar" do
33
33
  render
34
- rendered.should have_rjs("sidebar") do |rjs|
35
- with_tag("div[id=summary]")
36
- with_tag("div[id=recently]")
37
- end
38
- rendered.should include('$("summary").visualEffect("shake"')
34
+ rendered.should include("#sidebar")
35
+ rendered.should have_text("Opportunity At a Glance")
36
+ rendered.should have_text("Recent Items")
37
+ rendered.should include("jQuery('#summary').effect('shake'")
39
38
  end
40
39
  end
41
40
 
@@ -44,21 +43,18 @@ describe "/opportunities/update" do
44
43
  controller.request.env["HTTP_REFERER"] = "http://localhost/opportunities"
45
44
  end
46
45
 
47
- it "should replace [Edit Opportunity] with opportunity partial and highligh it" do
46
+ it "should replace [Edit Opportunity] with opportunity partial and highlight it" do
48
47
  render
49
- rendered.should have_rjs("opportunity_#{@opportunity.id}") do |rjs|
50
- with_tag("li[id=opportunity_#{@opportunity.id}]")
51
- end
52
- rendered.should include(%Q/$("opportunity_#{@opportunity.id}").visualEffect("highlight"/)
48
+ rendered.should include("jQuery('#opportunity_#{@opportunity.id}').replaceWith")
49
+ rendered.should include(%Q/jQuery('#opportunity_#{@opportunity.id}').effect("highlight"/)
53
50
  end
54
51
 
55
52
  it "should update sidebar" do
56
53
  render
57
- rendered.should have_rjs("sidebar") do |rjs|
58
- with_tag("div[id=filters]")
59
- with_tag("div[id=recently]")
60
- end
61
- rendered.should include('$("filters").visualEffect("shake"')
54
+ rendered.should include("sidebar")
55
+ rendered.should have_text("Opportunity Stages")
56
+ rendered.should have_text("Recent Items")
57
+ rendered.should include("jQuery('#filters').effect('shake'")
62
58
  end
63
59
  end
64
60
 
@@ -68,10 +64,9 @@ describe "/opportunities/update" do
68
64
  controller.request.env["HTTP_REFERER"] = "http://localhost/accounts/#{account.id}"
69
65
  render
70
66
 
71
- rendered.should have_rjs("sidebar") do |rjs|
72
- with_tag("div[class=panel][id=summary]")
73
- with_tag("div[class=panel][id=recently]")
74
- end
67
+ rendered.should include("#sidebar")
68
+ rendered.should have_text("Account Summary")
69
+ rendered.should have_text("Recent Items")
75
70
  end
76
71
 
77
72
  it "should update campaign sidebar" do
@@ -79,29 +74,23 @@ describe "/opportunities/update" do
79
74
  controller.request.env["HTTP_REFERER"] = "http://localhost/campaigns/#{campaign.id}"
80
75
  render
81
76
 
82
- rendered.should have_rjs("sidebar") do |rjs|
83
- with_tag("div[class=panel][id=summary]")
84
- with_tag("div[class=panel][id=recently]")
85
- end
77
+ rendered.should include("#sidebar")
78
+ rendered.should have_text("Campaign Summary")
79
+ rendered.should have_text("Recent Items")
86
80
  end
87
81
 
88
82
  it "should update recently viewed items for contact" do
89
83
  controller.request.env["HTTP_REFERER"] = "http://localhost/contacts/123"
90
84
  render
91
85
 
92
- rendered.should have_rjs("recently") do |rjs|
93
- with_tag("div[class=caption]")
94
- end
86
+ rendered.should include("#recently")
95
87
  end
96
88
 
97
- it "should replace [Edit Opportunity] with opportunity partial and highligh it" do
89
+ it "should replace [Edit Opportunity] with opportunity partial and highlight it" do
98
90
  controller.request.env["HTTP_REFERER"] = "http://localhost/contacts/123"
99
91
  render
100
92
 
101
- rendered.should have_rjs("opportunity_#{@opportunity.id}") do |rjs|
102
- with_tag("li[id=opportunity_#{@opportunity.id}]")
103
- end
104
- rendered.should include(%Q/$("opportunity_#{@opportunity.id}").visualEffect("highlight"/)
93
+ rendered.should include(%Q/jQuery('#opportunity_#{@opportunity.id}').effect("highlight"/)
105
94
  end
106
95
  end
107
96
  end
@@ -118,11 +107,9 @@ describe "/opportunities/update" do
118
107
 
119
108
  it "should redraw the [edit_opportunity] form and shake it" do
120
109
  render
121
- rendered.should have_rjs("edit_opportunity") do |rjs|
122
- with_tag("form[class=edit_opportunity]")
123
- end
110
+ rendered.should include("jQuery('#edit_opportunity').html")
124
111
  rendered.should include('crm.create_or_select_account(false)')
125
- rendered.should include('$("edit_opportunity").visualEffect("shake"')
112
+ rendered.should include(%Q/jQuery('#edit_opportunity').effect("shake"/)
126
113
  rendered.should include('focus()')
127
114
  end
128
115
  end
@@ -134,11 +121,9 @@ describe "/opportunities/update" do
134
121
 
135
122
  it "should redraw the [edit_opportunity] form and shake it" do
136
123
  render
137
- rendered.should have_rjs("opportunity_#{@opportunity.id}") do |rjs|
138
- with_tag("form[class=edit_opportunity]")
139
- end
124
+ rendered.should include("jQuery('#opportunity_#{@opportunity.id}').html")
140
125
  rendered.should include('crm.create_or_select_account(false)')
141
- rendered.should include(%Q/$("opportunity_#{@opportunity.id}").visualEffect("shake"/)
126
+ rendered.should include(%Q/jQuery('#opportunity_#{@opportunity.id}').effect("shake"/)
142
127
  rendered.should include('focus()')
143
128
  end
144
129
  end
@@ -155,10 +140,8 @@ describe "/opportunities/update" do
155
140
 
156
141
  it "should redraw the [edit_opportunity] form and shake it" do
157
142
  render
158
- rendered.should have_rjs("opportunity_#{@opportunity.id}") do |rjs|
159
- with_tag("form[class=edit_opportunity]")
160
- end
161
- rendered.should include(%Q/$("opportunity_#{@opportunity.id}").visualEffect("shake"/)
143
+ rendered.should include("jQuery('#opportunity_#{@opportunity.id}').html")
144
+ rendered.should include(%Q/jQuery('#opportunity_#{@opportunity.id}').effect("shake"/)
162
145
  rendered.should include('focus()')
163
146
  end
164
147
  end
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/tasks/_edit" do
9
9
  include TasksHelper
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/tasks/complete" do
9
9
  include TasksHelper
@@ -26,8 +26,8 @@ describe "/tasks/complete" do
26
26
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
27
27
 
28
28
  render
29
- rendered.should include(%Q/$("task_#{@task.id}").visualEffect("fade"/)
30
- rendered.should include(%Q/$("list_due_asap").visualEffect("fade"/)
29
+ rendered.should include("jQuery('#task_#{@task.id}').fadeOut")
30
+ rendered.should include("jQuery('#list_due_asap').fadeOut")
31
31
  end
32
32
 
33
33
  it "should update tasks sidebar" do
@@ -37,11 +37,10 @@ describe "/tasks/complete" do
37
37
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
38
38
 
39
39
  render
40
- rendered.should have_rjs("sidebar") do |rjs|
41
- with_tag("div[id=filters]")
42
- with_tag("div[id=recently]")
43
- end
44
- rendered.should include(%Q/$("filters").visualEffect("shake"/)
40
+ rendered.should include("jQuery('#sidebar').html")
41
+ rendered.should have_text("Assigned")
42
+ rendered.should have_text("Recent Items")
43
+ rendered.should include("jQuery('#filters').effect('shake'")
45
44
  end
46
45
  end
47
46
 
@@ -51,9 +50,7 @@ describe "/tasks/complete" do
51
50
  assign(:task, @task)
52
51
 
53
52
  render
54
- rendered.should have_rjs("task_#{@task.id}") do |rjs|
55
- with_tag("li[id=task_#{@task.id}]")
56
- end
53
+ rendered.should include("jQuery('#task_#{@task.id}').html('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
57
54
  rendered.should include('<strike>')
58
55
  end
59
56
 
@@ -63,9 +60,7 @@ describe "/tasks/complete" do
63
60
  controller.request.env["HTTP_REFERER"] = "http://localhost/leads/123"
64
61
 
65
62
  render
66
- rendered.should have_rjs("recently") do |rjs|
67
- with_tag("div[class=caption]")
68
- end
63
+ rendered.should have_text("Recent Items")
69
64
  end
70
65
  end
71
66
 
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/tasks/create" do
9
9
  include TasksHelper
@@ -23,26 +23,23 @@ describe "/tasks/create" do
23
23
  end
24
24
 
25
25
  it "should hide [Create Task] form and insert task partial" do
26
- rendered.should have_rjs(:insert, :top) do |rjs|
27
- with_tag("li[id=task_#{@task.id}]")
28
- end
29
- rendered.should include(%Q/$("task_#{@task.id}").visualEffect("highlight"/)
26
+ rendered.should include(%Q/jQuery('#due_asap').before('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'>/)
27
+ rendered.should include(%Q/jQuery('#task_#{@task.id}').effect("highlight"/)
30
28
  end
31
29
 
32
30
  it "should update tasks title" do
33
31
  if status == "assigned"
34
- rendered.should include('$("title").update("Assigned Tasks")')
32
+ rendered.should include("jQuery('#title').html('Assigned Tasks');")
35
33
  else
36
- rendered.should include('$("title").update("Tasks")')
34
+ rendered.should include("jQuery('#title').html('Tasks');")
37
35
  end
38
36
  end
39
37
 
40
38
  it "should update tasks sidebar" do
41
- rendered.should have_rjs("sidebar") do |rjs|
42
- with_tag("div[id=filters]")
43
- with_tag("div[id=recently]")
44
- end
45
- rendered.should include(%Q/$("filters").visualEffect("shake"/)
39
+ rendered.should include("jQuery('#sidebar').html")
40
+ rendered.should have_text("Recent Items")
41
+ rendered.should have_text("Sometime Later")
42
+ rendered.should include("jQuery('#filters').effect('shake'")
46
43
  end
47
44
  end
48
45
  end
@@ -53,8 +50,8 @@ describe "/tasks/create" do
53
50
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
54
51
  render
55
52
 
56
- rendered.should include('$("flash").update(')
57
- rendered.should include('crm.flash("notice", true)')
53
+ rendered.should include("jQuery('#flash').html")
54
+ rendered.should include("crm.flash('notice', true)")
58
55
  end
59
56
 
60
57
  it "should update recent items when assigning a task from pending tasks view" do
@@ -63,9 +60,8 @@ describe "/tasks/create" do
63
60
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
64
61
  render
65
62
 
66
- rendered.should have_rjs("recently") do |rjs|
67
- with_tag("div[class=caption]", :text => "Recent Items")
68
- end
63
+ rendered.should include("#recently")
64
+ rendered.should have_text("Recent Items")
69
65
  end
70
66
 
71
67
  it "should show flash message when creating a pending task from assigned tasks view" do
@@ -74,8 +70,8 @@ describe "/tasks/create" do
74
70
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks?view=assigned"
75
71
  render
76
72
 
77
- rendered.should include('$("flash").update(')
78
- rendered.should include('crm.flash("notice", true)')
73
+ rendered.should include("jQuery('#flash').html")
74
+ rendered.should include("crm.flash('notice', true)")
79
75
  end
80
76
 
81
77
  it "should update recent items when creating a pending task from assigned tasks view" do
@@ -84,9 +80,8 @@ describe "/tasks/create" do
84
80
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks?view=assigned"
85
81
  render
86
82
 
87
- rendered.should have_rjs("recently") do |rjs|
88
- with_tag("div[class=caption]", :text => "Recent Items")
89
- end
83
+ rendered.should include("#recently")
84
+ rendered.should have_text("Recent Items")
90
85
  end
91
86
 
92
87
  (TASK_STATUSES - %w(assigned)).each do |status|
@@ -99,20 +94,17 @@ describe "/tasks/create" do
99
94
  end
100
95
 
101
96
  it "should update tasks title" do
102
- rendered.should include('$("create_task_title").update("Tasks")')
97
+ rendered.should include("jQuery('#create_task_title').html('Tasks')")
103
98
  end
104
99
 
105
100
  it "should insert #{status} partial and highlight it" do
106
- rendered.should have_rjs(:insert, :top) do |rjs|
107
- with_tag("li[id=task_#{@task.id}]")
108
- end
109
- rendered.should include(%Q/$("task_#{@task.id}").visualEffect("highlight"/)
101
+ rendered.should include("jQuery('#tasks').prepend('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'>")
102
+ rendered.should include(%Q/jQuery('#task_#{@task.id}').effect("highlight"/)
110
103
  end
111
104
 
112
105
  it "should update recently viewed items" do
113
- rendered.should have_rjs("recently") do |rjs|
114
- with_tag("div[class=caption]", :text => "Recent Items")
115
- end
106
+ rendered.should include("#recently")
107
+ rendered.should have_text("Recent Items")
116
108
  end
117
109
  end
118
110
  end
@@ -121,9 +113,9 @@ describe "/tasks/create" do
121
113
  assign(:task, FactoryGirl.build(:task, :name => nil)) # make it invalid
122
114
  render
123
115
 
124
- rendered.should include('$("create_task").visualEffect("shake"')
125
- rendered.should include(%/$$('#new_task input[type=submit]').invoke('enable')/)
126
-
116
+ rendered.should include(%Q/jQuery('#create_task').effect("shake"/)
117
+ rendered.should include(%/jQuery('#new_task input[type=submit]').enable()/)
118
+
127
119
  end
128
120
 
129
121
  end
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/tasks/destroy" do
9
9
  include TasksHelper
@@ -26,19 +26,18 @@ describe "/tasks/destroy" do
26
26
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
27
27
 
28
28
  render
29
- rendered.should include(%Q/$("task_#{@task.id}").visualEffect("blind_up"/)
30
- rendered.should include(%Q/$("list_due_asap").visualEffect("fade"/)
29
+ rendered.should include("slideUp")
30
+ rendered.should include("jQuery('#list_due_asap').fadeOut")
31
31
  end
32
32
 
33
33
  it "should update tasks sidebar" do
34
34
  controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
35
35
 
36
36
  render
37
- rendered.should have_rjs("sidebar") do |rjs|
38
- with_tag("div[id=filters]")
39
- with_tag("div[id=recently]")
40
- end
41
- rendered.should include(%Q/$("filters").visualEffect("shake"/)
37
+ rendered.should include("jQuery('#sidebar').html")
38
+ rendered.should have_text("Recent Items")
39
+ rendered.should have_text("Completed")
40
+ rendered.should include("jQuery('#filters').effect('shake'")
42
41
  end
43
42
  end
44
43
  end
@@ -50,9 +49,8 @@ describe "/tasks/destroy" do
50
49
  controller.request.env["HTTP_REFERER"] = "http://localhost/leads/123"
51
50
 
52
51
  render
53
- rendered.should include(%Q/$("task_#{@task.id}").visualEffect("blind_up"/)
54
- rendered.should_not include(%Q/$("list_due_asap").visualEffect("fade"/) # bucket is not empty
52
+ rendered.should include("slideUp")
53
+ rendered.should_not include("fadeOut") # bucket is not empty
55
54
  end
56
55
  end
57
56
  end
58
-
@@ -3,7 +3,7 @@
3
3
  # Fat Free CRM is freely distributable under the terms of MIT license.
4
4
  # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
5
5
  #------------------------------------------------------------------------------
6
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
6
+ require 'spec_helper'
7
7
 
8
8
  describe "/tasks/edit" do
9
9
  include TasksHelper
@@ -24,9 +24,7 @@ describe "/tasks/edit" do
24
24
  assign(:task, @task)
25
25
 
26
26
  render
27
- rendered.should have_rjs("task_#{@task.id}") do |rjs|
28
- with_tag("li[id=task_#{@task.id}]")
29
- end
27
+ rendered.should include("jQuery('#task_#{@task.id}').html('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
30
28
  if view == "pending"
31
29
  rendered.should include('type=\\"checkbox\\"')
32
30
  else
@@ -39,7 +37,7 @@ describe "/tasks/edit" do
39
37
  assign(:task, stub_task(view))
40
38
 
41
39
  render
42
- rendered.should include('crm.hide_form("create_task"')
40
+ rendered.should include("crm.hide_form('create_task'")
43
41
  end
44
42
 
45
43
  it "edit: should hide previously open [Edit Task] form" do
@@ -49,9 +47,7 @@ describe "/tasks/edit" do
49
47
  assign(:task, stub_task(view))
50
48
 
51
49
  render
52
- rendered.should have_rjs("task_#{@previous.id}") do |rjs|
53
- with_tag("li[id=task_#{@previous.id}]")
54
- end
50
+ rendered.should include("jQuery('#task_#{@previous.id}').replaceWith")
55
51
  end
56
52
 
57
53
  it "edit: should remove previous [Edit Task] form if previous task is not available" do
@@ -61,7 +57,7 @@ describe "/tasks/edit" do
61
57
  assign(:task, stub_task(view))
62
58
 
63
59
  render
64
- rendered.should include(%Q/crm.flick("task_41", "remove");/)
60
+ rendered.should include("crm.flick('task_41', 'remove');")
65
61
  end
66
62
 
67
63
  it "edit: should turn off highlight and replace current task with [Edit Task] form" do
@@ -70,11 +66,10 @@ describe "/tasks/edit" do
70
66
  assign(:task, @task)
71
67
 
72
68
  render
73
- rendered.should include(%Q/crm.highlight_off("task_#{@task.id}");/)
74
- rendered.should have_rjs("task_#{@task.id}") do |rjs|
75
- with_tag("form[class=edit_task]")
76
- end
77
- rendered.should include('$("task_name").focus()')
69
+ rendered.should include("crm.highlight_off('task_#{@task.id}');")
70
+ rendered.should include("jQuery('#task_#{@task.id}').html")
71
+ rendered.should have_text("On Specific Date")
72
+ rendered.should include("jQuery('#task_name').focus();")
78
73
  end
79
74
 
80
75
  end