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.
- checksums.yaml +5 -13
- data/.travis.yml +1 -11
- data/Gemfile +7 -19
- data/Gemfile.lock +166 -166
- data/Procfile +1 -1
- data/README.md +20 -20
- data/app/assets/javascripts/admin/fields.js.coffee +3 -3
- data/app/assets/javascripts/application.js.erb +3 -0
- data/app/assets/javascripts/crm.js +1 -0
- data/app/assets/javascripts/crm_comments.js.coffee +66 -0
- data/app/assets/javascripts/lists.js.coffee +45 -2
- data/app/assets/javascripts/search.js.coffee +2 -0
- data/app/assets/javascripts/timeago.js +17 -0
- data/app/assets/stylesheets/advanced_search.css.scss +49 -25
- data/app/assets/stylesheets/application.css.erb +3 -0
- data/app/assets/stylesheets/common.scss +13 -0
- data/app/assets/stylesheets/format_buttons.css.scss +15 -10
- data/app/assets/stylesheets/header.scss +3 -0
- data/app/assets/stylesheets/lists.css.scss +4 -0
- data/app/controllers/admin/fields_controller.rb +5 -5
- data/app/controllers/admin/users_controller.rb +1 -3
- data/app/controllers/application_controller.rb +23 -23
- data/app/controllers/comments_controller.rb +3 -31
- data/app/controllers/entities/accounts_controller.rb +3 -3
- data/app/controllers/entities/campaigns_controller.rb +4 -4
- data/app/controllers/entities/contacts_controller.rb +2 -2
- data/app/controllers/entities/leads_controller.rb +3 -3
- data/app/controllers/entities/opportunities_controller.rb +4 -3
- data/app/controllers/entities_controller.rb +6 -6
- data/app/controllers/home_controller.rb +1 -1
- data/app/controllers/lists_controller.rb +8 -1
- data/app/controllers/tasks_controller.rb +1 -1
- data/app/controllers/users_controller.rb +46 -23
- data/app/helpers/admin/application_helper.rb +1 -3
- data/app/helpers/admin/field_groups_helper.rb +2 -1
- data/app/helpers/application_helper.rb +37 -16
- data/app/helpers/home_helper.rb +1 -2
- data/app/helpers/leads_helper.rb +5 -6
- data/app/helpers/tasks_helper.rb +36 -50
- data/app/models/entities/account.rb +10 -7
- data/app/models/entities/campaign.rb +4 -4
- data/app/models/entities/contact.rb +8 -5
- data/app/models/entities/lead.rb +8 -8
- data/app/models/entities/opportunity.rb +13 -18
- data/app/models/fields/custom_field.rb +10 -0
- data/app/models/fields/field.rb +3 -3
- data/app/models/fields/field_group.rb +1 -1
- data/app/models/list.rb +1 -0
- data/app/models/polymorphic/address.rb +3 -3
- data/app/models/polymorphic/comment.rb +2 -4
- data/app/models/polymorphic/task.rb +32 -27
- data/app/models/setting.rb +3 -9
- data/app/models/users/ability.rb +2 -13
- data/app/models/users/user.rb +12 -15
- data/app/views/accounts/_edit.html.haml +1 -1
- data/app/views/accounts/_index_brief.html.haml +3 -3
- data/app/views/accounts/_index_long.html.haml +3 -3
- data/app/views/accounts/_new.html.haml +1 -1
- data/app/views/accounts/create.js.haml +17 -0
- data/app/views/accounts/destroy.js.haml +6 -0
- data/app/views/accounts/edit.js.haml +32 -0
- data/app/views/accounts/index.js.haml +11 -0
- data/app/views/accounts/index.xls.builder +9 -7
- data/app/views/accounts/new.js.haml +11 -0
- data/app/views/accounts/show.js.haml +5 -0
- data/app/views/accounts/update.js.haml +17 -0
- data/app/views/admin/field_groups/_edit.html.haml +1 -1
- data/app/views/admin/field_groups/_new.html.haml +1 -1
- data/app/views/admin/field_groups/confirm.js.haml +7 -0
- data/app/views/admin/field_groups/create.js.haml +20 -0
- data/app/views/admin/field_groups/destroy.js.haml +9 -0
- data/app/views/admin/field_groups/edit.js.haml +12 -0
- data/app/views/admin/field_groups/new.js.haml +8 -0
- data/app/views/admin/field_groups/update.js.haml +8 -0
- data/app/views/admin/fields/_field.html.haml +2 -2
- data/app/views/admin/fields/_form.html.haml +2 -2
- data/app/views/admin/fields/create.js.haml +17 -0
- data/app/views/admin/fields/destroy.js.haml +8 -0
- data/app/views/admin/fields/edit.js.haml +3 -0
- data/app/views/admin/fields/update.js.haml +13 -0
- data/app/views/admin/groups/_edit.html.haml +1 -1
- data/app/views/admin/groups/_new.html.haml +1 -1
- data/app/views/admin/groups/create.js.haml +10 -0
- data/app/views/admin/groups/destroy.js.haml +9 -0
- data/app/views/admin/groups/edit.js.haml +14 -0
- data/app/views/admin/groups/index.html.haml +1 -1
- data/app/views/admin/groups/index.js.haml +2 -0
- data/app/views/admin/groups/new.js.haml +9 -0
- data/app/views/admin/groups/update.js.haml +9 -0
- data/app/views/admin/tags/_edit.html.haml +1 -1
- data/app/views/admin/tags/_new.html.haml +1 -1
- data/app/views/admin/tags/confirm.js.haml +7 -0
- data/app/views/admin/tags/create.js.haml +11 -0
- data/app/views/admin/tags/destroy.js.haml +10 -0
- data/app/views/admin/tags/edit.js.haml +20 -0
- data/app/views/admin/tags/new.js.haml +7 -0
- data/app/views/admin/tags/update.js.haml +9 -0
- data/app/views/admin/users/_edit.html.haml +1 -1
- data/app/views/admin/users/_new.html.haml +1 -1
- data/app/views/admin/users/_user.html.haml +1 -1
- data/app/views/admin/users/confirm.js.haml +7 -0
- data/app/views/admin/users/create.js.haml +10 -0
- data/app/views/admin/users/destroy.js.haml +10 -0
- data/app/views/admin/users/edit.js.haml +20 -0
- data/app/views/admin/users/index.js.haml +2 -0
- data/app/views/admin/users/new.js.haml +9 -0
- data/app/views/admin/users/reactivate.js.haml +3 -0
- data/app/views/admin/users/suspend.js.haml +3 -0
- data/app/views/admin/users/update.js.haml +9 -0
- data/app/views/authentications/new.html.haml +1 -1
- data/app/views/campaigns/_edit.html.haml +1 -1
- data/app/views/campaigns/_new.html.haml +1 -1
- data/app/views/campaigns/create.js.haml +20 -0
- data/app/views/campaigns/destroy.js.haml +6 -0
- data/app/views/campaigns/edit.js.haml +33 -0
- data/app/views/campaigns/index.js.haml +11 -0
- data/app/views/campaigns/index.xls.builder +9 -7
- data/app/views/campaigns/new.js.haml +11 -0
- data/app/views/campaigns/show.js.haml +5 -0
- data/app/views/campaigns/update.js.haml +20 -0
- data/app/views/comments/_comment.html.haml +1 -1
- data/app/views/comments/_edit.html.haml +1 -1
- data/app/views/comments/_new.html.haml +3 -2
- data/app/views/comments/create.js.haml +14 -0
- data/app/views/comments/destroy.js.haml +5 -0
- data/app/views/comments/edit.js.haml +11 -0
- data/app/views/comments/update.js.haml +9 -0
- data/app/views/contacts/_edit.html.haml +1 -1
- data/app/views/contacts/_index_full.html.haml +1 -1
- data/app/views/contacts/_index_long.html.haml +2 -1
- data/app/views/contacts/_new.html.haml +1 -1
- data/app/views/contacts/_section_general.html.haml +3 -3
- data/app/views/contacts/create.js.haml +23 -0
- data/app/views/contacts/destroy.js.haml +9 -0
- data/app/views/contacts/edit.js.haml +35 -0
- data/app/views/contacts/index.js.haml +11 -0
- data/app/views/contacts/index.xls.builder +9 -7
- data/app/views/contacts/new.js.haml +13 -0
- data/app/views/contacts/show.js.haml +5 -0
- data/app/views/contacts/update.js.haml +22 -0
- data/app/views/emails/destroy.js.haml +5 -0
- data/app/views/entities/_permissions.html.haml +1 -1
- data/app/views/entities/attach.js.haml +21 -0
- data/app/views/entities/contacts.js.haml +3 -0
- data/app/views/entities/discard.js.haml +6 -0
- data/app/views/entities/leads.js.haml +3 -0
- data/app/views/entities/opportunities.js.haml +3 -0
- data/app/views/entities/subscription_update.js.haml +4 -0
- data/app/views/entities/versions.js.haml +3 -0
- data/app/views/fields/group.js.erb +3 -0
- data/app/views/home/_account.html.haml +3 -3
- data/app/views/home/_opportunity.html.haml +3 -3
- data/app/views/home/index.atom.builder +3 -3
- data/app/views/home/index.js.haml +7 -0
- data/app/views/home/index.rss.builder +2 -2
- data/app/views/home/options.js.haml +7 -0
- data/app/views/layouts/_footer.html.haml +0 -4
- data/app/views/layouts/_sidebar.html.haml +1 -0
- data/app/views/layouts/_tabbed.html.haml +1 -4
- data/app/views/layouts/admin/application.html.haml +0 -1
- data/app/views/layouts/application.html.haml +5 -7
- data/app/views/leads/_convert.html.haml +1 -1
- data/app/views/leads/_edit.html.haml +1 -1
- data/app/views/leads/_index_long.html.haml +2 -2
- data/app/views/leads/_new.html.haml +1 -1
- data/app/views/leads/convert.js.haml +35 -0
- data/app/views/leads/create.js.haml +21 -0
- data/app/views/leads/destroy.js.haml +9 -0
- data/app/views/leads/edit.js.haml +35 -0
- data/app/views/leads/index.js.haml +11 -0
- data/app/views/leads/index.xls.builder +9 -7
- data/app/views/leads/new.js.haml +11 -0
- data/app/views/leads/promote.js.haml +26 -0
- data/app/views/leads/reject.js.haml +12 -0
- data/app/views/leads/show.js.haml +5 -0
- data/app/views/leads/update.js.haml +26 -0
- data/app/views/lists/_personal_sidebar.html.haml +28 -0
- data/app/views/lists/_sidebar.html.haml +10 -7
- data/app/views/lists/create.js.haml +10 -0
- data/app/views/lists/destroy.js.haml +1 -0
- data/app/views/opportunities/_edit.html.haml +1 -1
- data/app/views/opportunities/_index_brief.html.haml +3 -3
- data/app/views/opportunities/_index_long.html.haml +3 -3
- data/app/views/opportunities/_new.html.haml +1 -2
- data/app/views/opportunities/_top_section.html.haml +4 -0
- data/app/views/opportunities/contacts.js.haml +3 -0
- data/app/views/opportunities/create.js.haml +29 -0
- data/app/views/opportunities/destroy.js.haml +13 -0
- data/app/views/opportunities/edit.js.haml +35 -0
- data/app/views/opportunities/index.js.haml +11 -0
- data/app/views/opportunities/index.xls.builder +9 -7
- data/app/views/opportunities/new.js.haml +13 -0
- data/app/views/opportunities/show.js.haml +5 -0
- data/app/views/opportunities/update.js.haml +25 -0
- data/app/views/passwords/edit.html.haml +1 -1
- data/app/views/passwords/new.html.haml +1 -1
- data/app/views/shared/_comment.html.haml +1 -1
- data/app/views/shared/_inline_styles.html.haml +1 -1
- data/app/views/tasks/_edit.html.haml +1 -1
- data/app/views/tasks/_new.html.haml +1 -1
- data/app/views/tasks/complete.js.haml +14 -0
- data/app/views/tasks/create.js.haml +39 -0
- data/app/views/tasks/destroy.js.haml +7 -0
- data/app/views/tasks/discard.js.haml +1 -0
- data/app/views/tasks/edit.js.haml +26 -0
- data/app/views/tasks/filter.js.haml +4 -0
- data/app/views/tasks/index.xls.builder +7 -5
- data/app/views/tasks/new.js.haml +8 -0
- data/app/views/tasks/update.js.haml +19 -0
- data/app/views/users/_password.html.haml +1 -1
- data/app/views/users/_profile.html.haml +1 -1
- data/app/views/users/avatar.js.haml +9 -0
- data/app/views/users/change_password.js.haml +13 -0
- data/app/views/users/edit.js.haml +9 -0
- data/app/views/users/new.html.haml +1 -1
- data/app/views/users/password.js.haml +10 -0
- data/app/views/users/update.js.haml +9 -0
- data/app/views/users/upload_avatar.js.haml +7 -0
- data/app/views/versions/_version.html.haml +1 -1
- data/config/application.rb +1 -4
- data/config/environments/production.rb +3 -2
- data/config/initializers/custom_field_ransack_translations.rb +15 -0
- data/config/initializers/locale.rb +9 -1
- data/config/initializers/secret_token.rb +1 -25
- data/config/initializers/views.rb +20 -20
- data/config/locales/cz.yml +245 -211
- data/config/locales/cz_fat_free_crm.yml +105 -181
- data/config/locales/de.yml +162 -118
- data/config/locales/de_fat_free_crm.yml +760 -731
- data/config/locales/de_ransack.yml +91 -0
- data/config/locales/en-GB.yml +158 -119
- data/config/locales/en-GB_fat_free_crm.yml +161 -279
- data/config/locales/en-US.yml +158 -121
- data/config/locales/en-US_fat_free_crm.yml +185 -179
- data/config/locales/en-US_ransack.yml +81 -82
- data/config/locales/es.yml +164 -123
- data/config/locales/es_fat_free_crm.yml +151 -209
- data/config/locales/fr-CA.yml +167 -130
- data/config/locales/fr-CA_fat_free_crm.yml +142 -202
- data/config/locales/fr.yml +170 -125
- data/config/locales/fr_fat_free_crm.yml +199 -302
- data/config/locales/it.yml +158 -122
- data/config/locales/it_fat_free_crm.yml +105 -168
- data/config/locales/ja.yml +162 -131
- data/config/locales/ja_fat_free_crm.yml +118 -188
- data/config/locales/pl.yml +168 -132
- data/config/locales/pl_fat_free_crm.yml +115 -186
- data/config/locales/pt-BR.yml +160 -127
- data/config/locales/pt-BR_fat_free_crm.yml +125 -182
- data/config/locales/ru.yml +256 -233
- data/config/locales/ru_fat_free_crm.yml +136 -193
- data/config/locales/sv-SE.yml +164 -181
- data/config/locales/sv-SE_fat_free_crm.yml +129 -193
- data/config/locales/th_fat_free_crm.yml +114 -194
- data/config/locales/zh-CN.yml +176 -149
- data/config/locales/zh-CN_fat_free_crm.yml +78 -167
- data/config/routes.rb +1 -1
- data/config/settings.default.yml +74 -23
- data/custom_plan.rb +11 -0
- data/db/migrate/20131207033244_add_user_id_to_lists.rb +6 -0
- data/db/schema.rb +4 -1
- data/fat_free_crm.gemspec +3 -3
- data/lib/fat_free_crm.rb +1 -11
- data/lib/fat_free_crm/export_csv.rb +3 -3
- data/lib/fat_free_crm/fields.rb +10 -0
- data/lib/fat_free_crm/gem_dependencies.rb +1 -2
- data/lib/fat_free_crm/i18n.rb +9 -5
- data/lib/fat_free_crm/version.rb +2 -2
- data/lib/fat_free_crm/view_factory.rb +8 -5
- data/lib/tasks/ffcrm/config.rake +9 -12
- data/lib/tasks/ffcrm/missing_translations.rake +2 -1
- data/spec/controllers/admin/users_controller_spec.rb +6 -4
- data/spec/controllers/applications_controller_spec.rb +4 -4
- data/spec/controllers/authentications_controller_spec.rb +15 -15
- data/spec/controllers/comments_controller_spec.rb +9 -87
- data/spec/controllers/emails_controller_spec.rb +1 -1
- data/spec/controllers/entities/accounts_controller_spec.rb +7 -7
- data/spec/controllers/entities/campaigns_controller_spec.rb +5 -5
- data/spec/controllers/entities/contacts_controller_spec.rb +7 -7
- data/spec/controllers/entities/leads_controller_spec.rb +14 -14
- data/spec/controllers/entities/opportunities_controller_spec.rb +8 -8
- data/spec/controllers/home_controller_spec.rb +6 -6
- data/spec/controllers/tasks_controller_spec.rb +7 -7
- data/spec/controllers/users_controller_spec.rb +22 -50
- data/spec/features/support/selector_helpers.rb +1 -6
- data/spec/features/tasks_spec.rb +2 -2
- data/spec/helpers/application_helper_spec.rb +15 -15
- data/spec/lib/fields_spec.rb +29 -29
- data/spec/lib/mail_processor/base_spec.rb +7 -7
- data/spec/lib/mail_processor/dropbox_spec.rb +3 -3
- data/spec/lib/view_factory_spec.rb +14 -14
- data/spec/models/entities/opportunity_spec.rb +1 -1
- data/spec/models/fields/custom_field_date_pair_spec.rb +14 -14
- data/spec/models/fields/custom_field_pair_spec.rb +13 -13
- data/spec/models/fields/custom_field_spec.rb +5 -5
- data/spec/models/fields/field_spec.rb +2 -2
- data/spec/models/observers/entity_observer_spec.rb +2 -2
- data/spec/models/users/user_spec.rb +7 -7
- data/spec/routing/comments_routing_spec.rb +0 -9
- data/spec/shared/controllers.rb +75 -77
- data/spec/shared/models.rb +1 -1
- data/spec/spec_helper.rb +1 -2
- data/spec/support/auth_macros.rb +3 -3
- data/spec/support/mail_processor_mocks.rb +13 -13
- data/spec/views/accounts/_edit.haml_spec.rb +1 -1
- data/spec/views/accounts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
- data/spec/views/accounts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
- data/spec/views/accounts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
- data/spec/views/accounts/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -11
- data/spec/views/accounts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
- data/spec/views/accounts/show.haml_spec.rb +1 -1
- data/spec/views/accounts/{update.rjs_spec.rb → update.js.haml_spec.rb} +16 -25
- data/spec/views/admin/field_groups/create.js.haml_spec.rb +31 -0
- data/spec/views/admin/field_groups/destroy.js.haml_spec.rb +31 -0
- data/spec/views/admin/field_groups/edit.js.haml_spec.rb +24 -0
- data/spec/views/admin/field_groups/new.js.haml_spec.rb +25 -0
- data/spec/views/admin/field_groups/update.js.haml_spec.rb +30 -0
- data/spec/views/admin/users/_create.haml_spec.rb +1 -1
- data/spec/views/admin/users/{create.rjs_spec.rb → create.js.haml_spec.rb} +6 -9
- data/spec/views/admin/users/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
- data/spec/views/admin/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +6 -12
- data/spec/views/admin/users/index.haml_spec.rb +0 -0
- data/spec/views/admin/users/{index.rjs_spec.rb → index.js.haml_spec.rb} +3 -5
- data/spec/views/admin/users/{new.rjs_spec.rb → new.js.haml_spec.rb} +4 -6
- data/spec/views/admin/users/{reactivate.rjs_spec.rb → reactivate.js.haml_spec.rb} +2 -4
- data/spec/views/admin/users/show.haml_spec.rb +0 -0
- data/spec/views/admin/users/{suspend.rjs_spec.rb → suspend.js.haml_spec.rb} +2 -4
- data/spec/views/admin/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +6 -10
- data/spec/views/campaigns/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
- data/spec/views/campaigns/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
- data/spec/views/campaigns/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +11 -19
- data/spec/views/campaigns/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
- data/spec/views/campaigns/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
- data/spec/views/campaigns/{update.rjs_spec.rb → update.js.haml_spec.rb} +14 -21
- data/spec/views/comments/{new.rjs_spec.rb → edit.js.haml_spec.rb} +12 -9
- data/spec/views/contacts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -16
- data/spec/views/contacts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
- data/spec/views/contacts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -19
- data/spec/views/contacts/index.haml_spec.rb +1 -1
- data/spec/views/contacts/{index.rjs_spec.rb → index.js.html_spec.rb} +7 -11
- data/spec/views/contacts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -7
- data/spec/views/contacts/{update.rjs_spec.rb → update.js.haml_spec.rb} +20 -35
- data/spec/views/home/{index.rjs_spec.rb → index.js.haml_spec.rb} +2 -4
- data/spec/views/home/{options.rjs_spec.rb → options.js.haml_spec.rb} +7 -12
- data/spec/views/leads/{convert.rjs_spec.rb → convert.js.haml_spec.rb} +12 -20
- data/spec/views/leads/{create.rjs_spec.rb → create.js.haml_spec.rb} +13 -19
- data/spec/views/leads/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -12
- data/spec/views/leads/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -20
- data/spec/views/leads/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
- data/spec/views/leads/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
- data/spec/views/leads/{promote.rjs_spec.rb → promote.js.haml_spec.rb} +28 -43
- data/spec/views/leads/{reject.rjs_spec.rb → reject.js.haml_spec.rb} +10 -17
- data/spec/views/leads/{update.rjs_spec.rb → update.js.haml_spec.rb} +25 -38
- data/spec/views/opportunities/{create.rjs_spec.rb → create.js.haml_spec.rb} +16 -26
- data/spec/views/opportunities/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +13 -16
- data/spec/views/opportunities/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
- data/spec/views/opportunities/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -12
- data/spec/views/opportunities/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
- data/spec/views/opportunities/{update.rjs_spec.rb → update.js.haml_spec.rb} +29 -46
- data/spec/views/tasks/_edit.haml_spec.rb +1 -1
- data/spec/views/tasks/{complete.rjs_spec.rb → complete.js.haml_spec.rb} +9 -14
- data/spec/views/tasks/{create.rjs_spec.rb → create.js.haml_spec.rb} +25 -33
- data/spec/views/tasks/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -11
- data/spec/views/tasks/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +9 -14
- data/spec/views/tasks/index.haml_spec.rb +1 -2
- data/spec/views/tasks/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
- data/spec/views/tasks/{update.rjs_spec.rb → update.js.haml_spec.rb} +28 -41
- data/spec/views/users/{avatar.rjs_spec.rb → avatar.js.haml_spec.rb} +7 -9
- data/spec/views/users/{change_password.rjs_spec.rb → change_password.js.haml_spec.rb} +10 -12
- data/spec/views/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +8 -10
- data/spec/views/users/{password.rjs_spec.rb → password.js.haml_spec.rb} +9 -11
- data/spec/views/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +7 -15
- data/spec/views/users/{upload_avatar.rjs_spec.rb → upload_avatar.js.haml_spec.rb} +8 -10
- data/vendor/assets/javascripts/ajax-chosen-jquery.js +2 -0
- data/vendor/assets/javascripts/ajax-chosen-prototype.js +2 -0
- data/vendor/assets/javascripts/ajax-chosen.jquery.coffee +81 -0
- data/vendor/assets/javascripts/ajax-chosen.proto.coffee +98 -0
- data/vendor/assets/javascripts/jquery_timeago/index.js +17 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js +18 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js +18 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js +20 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js +20 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js +18 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js +17 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js +17 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js +16 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js +19 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js +194 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js +31 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js +18 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js +34 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js +18 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js +20 -0
- data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js +20 -0
- data/zeus.json +2 -1
- metadata +240 -245
- data/app/assets/images/delete.png +0 -0
- data/app/assets/images/iconset_attribution.png +0 -0
- data/app/views/accounts/create.js.rjs +0 -14
- data/app/views/accounts/destroy.js.rjs +0 -3
- data/app/views/accounts/edit.js.rjs +0 -33
- data/app/views/accounts/index.js.rjs +0 -8
- data/app/views/accounts/new.js.rjs +0 -9
- data/app/views/accounts/show.js.erb +0 -2
- data/app/views/accounts/update.js.rjs +0 -17
- data/app/views/admin/field_groups/confirm.js.rjs +0 -6
- data/app/views/admin/field_groups/create.js.rjs +0 -20
- data/app/views/admin/field_groups/destroy.js.rjs +0 -11
- data/app/views/admin/field_groups/edit.js.rjs +0 -14
- data/app/views/admin/field_groups/new.js.rjs +0 -9
- data/app/views/admin/field_groups/update.js.rjs +0 -9
- data/app/views/admin/fields/create.js.erb +0 -19
- data/app/views/admin/fields/destroy.js.erb +0 -9
- data/app/views/admin/fields/edit.js.erb +0 -1
- data/app/views/admin/fields/update.js.erb +0 -13
- data/app/views/admin/groups/create.js.rjs +0 -11
- data/app/views/admin/groups/destroy.js.rjs +0 -11
- data/app/views/admin/groups/edit.js.rjs +0 -21
- data/app/views/admin/groups/index.js.rjs +0 -2
- data/app/views/admin/groups/new.js.rjs +0 -9
- data/app/views/admin/groups/update.js.rjs +0 -10
- data/app/views/admin/tags/confirm.js.rjs +0 -6
- data/app/views/admin/tags/create.js.rjs +0 -12
- data/app/views/admin/tags/destroy.js.rjs +0 -11
- data/app/views/admin/tags/edit.js.rjs +0 -21
- data/app/views/admin/tags/new.js.rjs +0 -8
- data/app/views/admin/tags/update.js.rjs +0 -10
- data/app/views/admin/users/confirm.js.rjs +0 -6
- data/app/views/admin/users/create.js.rjs +0 -11
- data/app/views/admin/users/destroy.js.rjs +0 -11
- data/app/views/admin/users/edit.js.rjs +0 -21
- data/app/views/admin/users/index.js.rjs +0 -3
- data/app/views/admin/users/new.js.rjs +0 -8
- data/app/views/admin/users/reactivate.js.rjs +0 -3
- data/app/views/admin/users/suspend.js.rjs +0 -3
- data/app/views/admin/users/update.js.rjs +0 -10
- data/app/views/campaigns/create.js.rjs +0 -18
- data/app/views/campaigns/destroy.js.rjs +0 -3
- data/app/views/campaigns/edit.js.rjs +0 -34
- data/app/views/campaigns/index.js.rjs +0 -8
- data/app/views/campaigns/new.js.rjs +0 -9
- data/app/views/campaigns/show.js.erb +0 -2
- data/app/views/campaigns/update.js.rjs +0 -21
- data/app/views/comments/create.js.rjs +0 -11
- data/app/views/comments/destroy.js.rjs +0 -6
- data/app/views/comments/edit.js.rjs +0 -11
- data/app/views/comments/new.js.rjs +0 -14
- data/app/views/comments/update.js.rjs +0 -11
- data/app/views/contacts/create.js.rjs +0 -19
- data/app/views/contacts/destroy.js.rjs +0 -7
- data/app/views/contacts/edit.js.rjs +0 -36
- data/app/views/contacts/index.js.rjs +0 -8
- data/app/views/contacts/new.js.rjs +0 -11
- data/app/views/contacts/show.js.erb +0 -2
- data/app/views/contacts/update.js.rjs +0 -22
- data/app/views/emails/destroy.js.rjs +0 -6
- data/app/views/entities/attach.js.rjs +0 -24
- data/app/views/entities/contacts.js.rjs +0 -3
- data/app/views/entities/discard.js.rjs +0 -7
- data/app/views/entities/leads.js.rjs +0 -3
- data/app/views/entities/opportunities.js.rjs +0 -3
- data/app/views/entities/subscription_update.js.rjs +0 -4
- data/app/views/entities/versions.js.erb +0 -3
- data/app/views/fields/group.js.rjs +0 -7
- data/app/views/home/index.js.rjs +0 -7
- data/app/views/home/options.js.rjs +0 -8
- data/app/views/leads/convert.js.rjs +0 -37
- data/app/views/leads/create.js.rjs +0 -19
- data/app/views/leads/destroy.js.rjs +0 -7
- data/app/views/leads/edit.js.rjs +0 -36
- data/app/views/leads/index.js.rjs +0 -8
- data/app/views/leads/new.js.rjs +0 -9
- data/app/views/leads/promote.js.rjs +0 -27
- data/app/views/leads/reject.js.rjs +0 -10
- data/app/views/leads/show.js.erb +0 -2
- data/app/views/leads/update.js.rjs +0 -27
- data/app/views/lists/create.js.rjs +0 -9
- data/app/views/lists/destroy.js.rjs +0 -1
- data/app/views/opportunities/contacts.js.rjs +0 -3
- data/app/views/opportunities/create.js.rjs +0 -29
- data/app/views/opportunities/destroy.js.rjs +0 -11
- data/app/views/opportunities/edit.js.rjs +0 -36
- data/app/views/opportunities/index.js.rjs +0 -8
- data/app/views/opportunities/new.js.rjs +0 -12
- data/app/views/opportunities/show.js.erb +0 -2
- data/app/views/opportunities/update.js.rjs +0 -26
- data/app/views/tasks/complete.js.rjs +0 -17
- data/app/views/tasks/create.js.rjs +0 -41
- data/app/views/tasks/destroy.js.rjs +0 -7
- data/app/views/tasks/discard.rjs +0 -1
- data/app/views/tasks/edit.js.rjs +0 -23
- data/app/views/tasks/filter.js.rjs +0 -1
- data/app/views/tasks/new.js.rjs +0 -9
- data/app/views/tasks/update.js.rjs +0 -21
- data/app/views/users/avatar.js.rjs +0 -10
- data/app/views/users/change_password.js.rjs +0 -15
- data/app/views/users/edit.js.rjs +0 -10
- data/app/views/users/password.js.rjs +0 -11
- data/app/views/users/update.js.rjs +0 -10
- data/app/views/users/upload_avatar.js.rjs +0 -8
- data/lib/fat_free_crm/secret_token_generator.rb +0 -65
- data/spec/lib/secret_token_generator_spec.rb +0 -79
- data/spec/models/users/abilities/user_ability_spec.rb +0 -58
- data/spec/support/rjs_support.rb +0 -14
- data/vendor/assets/images/brief.png +0 -0
- data/vendor/assets/images/full.png +0 -0
- data/vendor/assets/images/long.png +0 -0
- data/vendor/assets/images/tab_icons/accounts.png +0 -0
- data/vendor/assets/images/tab_icons/accounts_active.png +0 -0
- data/vendor/assets/images/tab_icons/campaigns.png +0 -0
- data/vendor/assets/images/tab_icons/campaigns_active.png +0 -0
- data/vendor/assets/images/tab_icons/contacts.png +0 -0
- data/vendor/assets/images/tab_icons/contacts_active.png +0 -0
- data/vendor/assets/images/tab_icons/dashboard.png +0 -0
- data/vendor/assets/images/tab_icons/dashboard_active.png +0 -0
- data/vendor/assets/images/tab_icons/leads.png +0 -0
- data/vendor/assets/images/tab_icons/leads_active.png +0 -0
- data/vendor/assets/images/tab_icons/opportunities.png +0 -0
- data/vendor/assets/images/tab_icons/opportunities_active.png +0 -0
- data/vendor/assets/images/tab_icons/tasks.png +0 -0
- 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
|
6
|
+
require 'spec_helper'
|
7
7
|
|
8
8
|
describe "/leads/reject" do
|
9
9
|
before do
|
@@ -15,29 +15,23 @@ describe "/leads/reject" do
|
|
15
15
|
it "should refresh current lead partial" do
|
16
16
|
render
|
17
17
|
|
18
|
-
rendered.should
|
19
|
-
|
20
|
-
end
|
21
|
-
rendered.should include(%Q/$("lead_#{@lead.id}").visualEffect("highlight"/)
|
18
|
+
rendered.should include("jQuery('#lead_#{@lead.id}').replaceWith('<li class=\\'highlight lead\\' id=\\'lead_#{@lead.id}\\'")
|
19
|
+
rendered.should include(%Q/jQuery('#lead_#{@lead.id}').effect("highlight"/)
|
22
20
|
end
|
23
21
|
|
24
22
|
it "should update sidebar filters when called from index page" do
|
25
23
|
controller.request.env["HTTP_REFERER"] = "http://localhost/leads"
|
26
24
|
render
|
27
25
|
|
28
|
-
rendered.should
|
29
|
-
|
30
|
-
end
|
31
|
-
rendered.should include('$("filters").visualEffect("shake"')
|
26
|
+
rendered.should include("jQuery('#sidebar').html")
|
27
|
+
rendered.should include("jQuery('#filters').effect('shake'")
|
32
28
|
end
|
33
29
|
|
34
30
|
it "should update sidebar summary when called from landing page" do
|
35
31
|
render
|
36
32
|
|
37
|
-
rendered.should
|
38
|
-
|
39
|
-
end
|
40
|
-
rendered.should include('$("summary").visualEffect("shake"')
|
33
|
+
rendered.should include("jQuery('#sidebar').html")
|
34
|
+
rendered.should include("jQuery('#summary').effect('shake'")
|
41
35
|
end
|
42
36
|
|
43
37
|
it "should update campaign sidebar if called from campaign landing page" do
|
@@ -45,10 +39,9 @@ describe "/leads/reject" do
|
|
45
39
|
controller.request.env["HTTP_REFERER"] = "http://localhost/campaigns/#{campaign.id}"
|
46
40
|
render
|
47
41
|
|
48
|
-
rendered.should
|
49
|
-
|
50
|
-
|
51
|
-
end
|
42
|
+
rendered.should include("#sidebar")
|
43
|
+
rendered.should have_text("Summary")
|
44
|
+
rendered.should have_text("Recent Items")
|
52
45
|
end
|
53
46
|
|
54
47
|
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
|
6
|
+
require 'spec_helper'
|
7
7
|
|
8
8
|
describe "/leads/update" do
|
9
9
|
before do
|
@@ -22,16 +22,15 @@ describe "/leads/update" do
|
|
22
22
|
|
23
23
|
it "should flip [edit_lead] form" do
|
24
24
|
render
|
25
|
-
rendered.should_not
|
26
|
-
rendered.should include(
|
25
|
+
rendered.should_not include("lead_#{@lead.id}x")
|
26
|
+
rendered.should include("crm.flip_form('edit_lead'")
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should update sidebar" do
|
30
30
|
render
|
31
|
-
rendered.should
|
32
|
-
|
33
|
-
|
34
|
-
rendered.should include('$("summary").visualEffect("shake"')
|
31
|
+
rendered.should include("#sidebar")
|
32
|
+
rendered.should have_text("Lead Summary")
|
33
|
+
rendered.should include("jQuery('#summary').effect('shake'")
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
@@ -40,21 +39,18 @@ describe "/leads/update" do
|
|
40
39
|
controller.request.env["HTTP_REFERER"] = "http://localhost/leads"
|
41
40
|
end
|
42
41
|
|
43
|
-
it "should replace [Edit Lead] with lead partial and
|
42
|
+
it "should replace [Edit Lead] with lead partial and highlight it" do
|
44
43
|
render
|
45
|
-
rendered.should
|
46
|
-
|
47
|
-
end
|
48
|
-
rendered.should include(%Q/$("lead_#{@lead.id}").visualEffect("highlight"/)
|
44
|
+
rendered.should include("jQuery('#lead_#{@lead.id}').replaceWith('<li class=\\'highlight lead\\' id=\\'lead_#{@lead.id}\\'")
|
45
|
+
rendered.should include("jQuery('#filters').effect('shake'")
|
49
46
|
end
|
50
47
|
|
51
48
|
it "should update sidebar" do
|
52
49
|
render
|
53
|
-
rendered.should
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
rendered.should include('$("filters").visualEffect("shake"')
|
50
|
+
rendered.should include("#sidebar")
|
51
|
+
rendered.should have_text("Lead Statuses")
|
52
|
+
rendered.should have_text("Recent Items")
|
53
|
+
rendered.should include("jQuery('#filters').effect('shake'")
|
58
54
|
end
|
59
55
|
end
|
60
56
|
|
@@ -64,22 +60,19 @@ describe "/leads/update" do
|
|
64
60
|
controller.request.env["HTTP_REFERER"] = "http://localhost/campaigns/123"
|
65
61
|
end
|
66
62
|
|
67
|
-
it "should replace [Edit Lead] with lead partial and
|
63
|
+
it "should replace [Edit Lead] with lead partial and highlight it" do
|
68
64
|
render
|
69
|
-
rendered.should
|
70
|
-
|
71
|
-
end
|
72
|
-
rendered.should include(%Q/$("lead_#{@lead.id}").visualEffect("highlight"/)
|
65
|
+
rendered.should include("jQuery('#lead_#{@lead.id}').replaceWith('<li class=\\'highlight lead\\' id=\\'lead_#{@lead.id}\\'")
|
66
|
+
rendered.should include(%Q/jQuery('#lead_#{@lead.id}').effect("highlight"/)
|
73
67
|
end
|
74
68
|
|
75
69
|
it "should update campaign sidebar" do
|
76
70
|
assign(:campaign, campaign = FactoryGirl.create(:campaign))
|
77
71
|
render
|
78
72
|
|
79
|
-
rendered.should
|
80
|
-
|
81
|
-
|
82
|
-
end
|
73
|
+
rendered.should include("sidebar")
|
74
|
+
rendered.should have_text("Campaign Summary")
|
75
|
+
rendered.should have_text("Recent Items")
|
83
76
|
end
|
84
77
|
end
|
85
78
|
|
@@ -97,10 +90,8 @@ describe "/leads/update" do
|
|
97
90
|
|
98
91
|
it "should redraw the [edit_lead] form and shake it" do
|
99
92
|
render
|
100
|
-
rendered.should
|
101
|
-
|
102
|
-
end
|
103
|
-
rendered.should include('$("edit_lead").visualEffect("shake"')
|
93
|
+
rendered.should include("#edit_lead")
|
94
|
+
rendered.should include(%Q/jQuery('#edit_lead').effect("shake"/)
|
104
95
|
rendered.should include('focus()')
|
105
96
|
end
|
106
97
|
end
|
@@ -112,10 +103,8 @@ describe "/leads/update" do
|
|
112
103
|
|
113
104
|
it "should redraw the [edit_lead] form and shake it" do
|
114
105
|
render
|
115
|
-
rendered.should
|
116
|
-
|
117
|
-
end
|
118
|
-
rendered.should include(%Q/$("lead_#{@lead.id}").visualEffect("shake"/)
|
106
|
+
rendered.should include("jQuery('#lead_#{@lead.id}').html")
|
107
|
+
rendered.should include(%Q/jQuery('#lead_#{@lead.id}').effect("shake"/)
|
119
108
|
rendered.should include('focus()')
|
120
109
|
end
|
121
110
|
end
|
@@ -127,10 +116,8 @@ describe "/leads/update" do
|
|
127
116
|
|
128
117
|
it "should redraw the [edit_lead] form and shake it" do
|
129
118
|
render
|
130
|
-
rendered.should
|
131
|
-
|
132
|
-
end
|
133
|
-
rendered.should include(%Q/$("lead_#{@lead.id}").visualEffect("shake"/)
|
119
|
+
rendered.should include("jQuery('#lead_#{@lead.id}').html")
|
120
|
+
rendered.should include(%Q/jQuery('#lead_#{@lead.id}').effect("shake"/)
|
134
121
|
rendered.should include('focus()')
|
135
122
|
end
|
136
123
|
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
|
6
|
+
require 'spec_helper'
|
7
7
|
|
8
8
|
describe "/opportunities/create" do
|
9
9
|
before do
|
@@ -21,27 +21,24 @@ describe "/opportunities/create" do
|
|
21
21
|
it "should hide [Create Opportunity] form and insert opportunity partial" do
|
22
22
|
render
|
23
23
|
|
24
|
-
rendered.should
|
25
|
-
|
26
|
-
end
|
27
|
-
rendered.should include(%Q/$("opportunity_#{@opportunity.id}").visualEffect("highlight"/)
|
24
|
+
rendered.should include("jQuery('#opportunities').prepend('<li class=\\'highlight opportunity\\' id=\\'opportunity_#{@opportunity.id}\\'")
|
25
|
+
rendered.should include(%Q/jQuery('#opportunity_#{@opportunity.id}').effect("highlight"/)
|
28
26
|
end
|
29
27
|
|
30
28
|
it "should update sidebar filters and recently viewed items when called from opportunities page" do
|
31
29
|
controller.request.env["HTTP_REFERER"] = "http://localhost/opportunities"
|
32
30
|
render
|
33
31
|
|
34
|
-
rendered.should
|
35
|
-
|
36
|
-
|
37
|
-
end
|
32
|
+
rendered.should include("#sidebar")
|
33
|
+
rendered.should have_text("Opportunity Stages")
|
34
|
+
rendered.should have_text("Recent Items")
|
38
35
|
end
|
39
36
|
|
40
37
|
it "should update pagination when called from opportunities index" do
|
41
38
|
controller.request.env["HTTP_REFERER"] = "http://localhost/opportunities"
|
42
39
|
render
|
43
40
|
|
44
|
-
rendered.should
|
41
|
+
rendered.should include("#paginate")
|
45
42
|
end
|
46
43
|
|
47
44
|
it "should update related account sidebar when called from related account" do
|
@@ -49,10 +46,8 @@ describe "/opportunities/create" do
|
|
49
46
|
controller.request.env["HTTP_REFERER"] = "http://localhost/accounts/#{account.id}"
|
50
47
|
render
|
51
48
|
|
52
|
-
rendered.should
|
53
|
-
|
54
|
-
with_tag("div[class=panel][id=recently]")
|
55
|
-
end
|
49
|
+
rendered.should include("#sidebar")
|
50
|
+
rendered.should have_text("Recent Items")
|
56
51
|
end
|
57
52
|
|
58
53
|
it "should update related campaign sidebar when called from related campaign" do
|
@@ -60,19 +55,16 @@ describe "/opportunities/create" do
|
|
60
55
|
controller.request.env["HTTP_REFERER"] = "http://localhost/campaigns/#{campaign.id}"
|
61
56
|
render
|
62
57
|
|
63
|
-
rendered.should
|
64
|
-
|
65
|
-
|
66
|
-
end
|
58
|
+
rendered.should include("#sidebar")
|
59
|
+
rendered.should have_text("Campaign Summary")
|
60
|
+
rendered.should have_text("Recent Items")
|
67
61
|
end
|
68
62
|
|
69
63
|
it "should update sidebar when called from related contact" do
|
70
64
|
controller.request.env["HTTP_REFERER"] = "http://localhost/contacts/123"
|
71
65
|
render
|
72
66
|
|
73
|
-
rendered.should
|
74
|
-
with_tag("div[class=caption]")
|
75
|
-
end
|
67
|
+
rendered.should include("#recently")
|
76
68
|
end
|
77
69
|
end
|
78
70
|
|
@@ -86,11 +78,9 @@ describe "/opportunities/create" do
|
|
86
78
|
|
87
79
|
render
|
88
80
|
|
89
|
-
rendered.should
|
90
|
-
|
91
|
-
|
92
|
-
rendered.should include('$("create_opportunity").visualEffect("shake"')
|
93
|
-
rendered.should include("crm.create_or_select_account")
|
81
|
+
rendered.should include("jQuery('#create_opportunity').html")
|
82
|
+
rendered.should include(%Q/jQuery('#create_opportunity').effect("shake"/)
|
83
|
+
rendered.should include("crm.create_or_select_account(false)")
|
94
84
|
end
|
95
85
|
end
|
96
86
|
|
@@ -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
|
6
|
+
require 'spec_helper'
|
7
7
|
|
8
8
|
describe "/opportunities/destroy" do
|
9
9
|
before do
|
@@ -15,7 +15,7 @@ describe "/opportunities/destroy" do
|
|
15
15
|
|
16
16
|
it "should blind up destroyed opportunity partial" do
|
17
17
|
render
|
18
|
-
rendered.should include(
|
18
|
+
rendered.should include("slideUp")
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should update opportunities sidebar when called from opportunities index" do
|
@@ -23,10 +23,9 @@ describe "/opportunities/destroy" do
|
|
23
23
|
controller.request.env["HTTP_REFERER"] = "http://localhost/opportunities"
|
24
24
|
render
|
25
25
|
|
26
|
-
rendered.should
|
27
|
-
|
28
|
-
|
29
|
-
rendered.should include('$("filters").visualEffect("shake"')
|
26
|
+
rendered.should include("#sidebar")
|
27
|
+
rendered.should have_text("Recent Items")
|
28
|
+
rendered.should include("jQuery('#filters').effect('shake'")
|
30
29
|
end
|
31
30
|
|
32
31
|
it "should update pagination when called from opportunities index" do
|
@@ -34,7 +33,7 @@ describe "/opportunities/destroy" do
|
|
34
33
|
controller.request.env["HTTP_REFERER"] = "http://localhost/opportunities"
|
35
34
|
render
|
36
35
|
|
37
|
-
rendered.should
|
36
|
+
rendered.should include("#paginate")
|
38
37
|
end
|
39
38
|
|
40
39
|
it "should update related account sidebar when called from related account" do
|
@@ -42,10 +41,9 @@ describe "/opportunities/destroy" do
|
|
42
41
|
controller.request.env["HTTP_REFERER"] = "http://localhost/accounts/#{account.id}"
|
43
42
|
render
|
44
43
|
|
45
|
-
rendered.should
|
46
|
-
|
47
|
-
|
48
|
-
end
|
44
|
+
rendered.should include("#sidebar")
|
45
|
+
rendered.should have_text("Account Summary")
|
46
|
+
rendered.should have_text("Recent Items")
|
49
47
|
end
|
50
48
|
|
51
49
|
it "should update related campaign sidebar when called from related campaign" do
|
@@ -53,17 +51,16 @@ describe "/opportunities/destroy" do
|
|
53
51
|
controller.request.env["HTTP_REFERER"] = "http://localhost/campaigns/#{campaign.id}"
|
54
52
|
render
|
55
53
|
|
56
|
-
rendered.should
|
57
|
-
|
58
|
-
|
59
|
-
end
|
54
|
+
rendered.should include("#sidebar")
|
55
|
+
rendered.should have_text("Campaign Summary")
|
56
|
+
rendered.should have_text("Recent Items")
|
60
57
|
end
|
61
58
|
|
62
59
|
it "should update recently viewed items when called from related contact" do
|
63
60
|
controller.request.env["HTTP_REFERER"] = "http://localhost/contacts/123"
|
64
61
|
render
|
65
62
|
|
66
|
-
rendered.should
|
63
|
+
rendered.should include("#recently")
|
67
64
|
end
|
68
65
|
|
69
66
|
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
|
6
|
+
require 'spec_helper'
|
7
7
|
|
8
8
|
describe "/opportunities/edit" do
|
9
9
|
include OpportunitiesHelper
|
@@ -22,9 +22,7 @@ describe "/opportunities/edit" do
|
|
22
22
|
params[:cancel] = "true"
|
23
23
|
|
24
24
|
render
|
25
|
-
rendered.should
|
26
|
-
with_tag("li[id=opportunity_#{@opportunity.id}]")
|
27
|
-
end
|
25
|
+
rendered.should include("jQuery('#opportunity_#{@opportunity.id}').replaceWith")
|
28
26
|
end
|
29
27
|
|
30
28
|
it "cancel from opportunity landing page: should hide [Edit Opportunity] form" do
|
@@ -32,7 +30,7 @@ describe "/opportunities/edit" do
|
|
32
30
|
params[:cancel] = "true"
|
33
31
|
|
34
32
|
render
|
35
|
-
rendered.should include(
|
33
|
+
rendered.should include("crm.flip_form('edit_opportunity'")
|
36
34
|
end
|
37
35
|
|
38
36
|
it "edit: should hide previously open [Edit Opportunity] for and replace it with opportunity partial" do
|
@@ -40,9 +38,7 @@ describe "/opportunities/edit" do
|
|
40
38
|
assign(:previous, previous = FactoryGirl.create(:opportunity, :user => current_user))
|
41
39
|
|
42
40
|
render
|
43
|
-
rendered.should
|
44
|
-
with_tag("li[id=opportunity_#{previous.id}]")
|
45
|
-
end
|
41
|
+
rendered.should include("jQuery('#opportunity_#{previous.id}').replaceWith")
|
46
42
|
end
|
47
43
|
|
48
44
|
it "edit: remove previously open [Edit Opportunity] if it's no longer available" do
|
@@ -50,28 +46,24 @@ describe "/opportunities/edit" do
|
|
50
46
|
assign(:previous, previous = 41)
|
51
47
|
|
52
48
|
render
|
53
|
-
rendered.should include(
|
49
|
+
rendered.should include("crm.flick('opportunity_#{previous}', 'remove');")
|
54
50
|
end
|
55
51
|
|
56
52
|
it "edit from opportunities index page: should turn off highlight, hide [Create Opportunity] form, and replace current opportunity with [Edit Opportunity] form" do
|
57
53
|
params[:cancel] = nil
|
58
54
|
|
59
55
|
render
|
60
|
-
rendered.should include(
|
61
|
-
rendered.should include(
|
62
|
-
rendered.should
|
63
|
-
with_tag("form[class=edit_opportunity]")
|
64
|
-
end
|
56
|
+
rendered.should include("crm.highlight_off('opportunity_#{@opportunity.id}');")
|
57
|
+
rendered.should include("crm.hide_form('create_opportunity')")
|
58
|
+
rendered.should include("jQuery('#opportunity_#{@opportunity.id}').html")
|
65
59
|
end
|
66
60
|
|
67
61
|
it "edit from opportunity landing page: should show [Edit Opportunity] form" do
|
68
62
|
params[:cancel] = "false"
|
69
63
|
|
70
64
|
render
|
71
|
-
rendered.should
|
72
|
-
|
73
|
-
end
|
74
|
-
rendered.should include('crm.flip_form("edit_opportunity"')
|
65
|
+
rendered.should include("jQuery('#edit_opportunity').html")
|
66
|
+
rendered.should include("crm.flip_form('edit_opportunity'")
|
75
67
|
end
|
76
68
|
|
77
69
|
it "edit: should handle new or existing account for the opportunity" do
|
@@ -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
|
6
|
+
require 'spec_helper'
|
7
7
|
|
8
8
|
describe "/opportunities/index" do
|
9
9
|
include OpportunitiesHelper
|
@@ -17,23 +17,18 @@ describe "/opportunities/index" do
|
|
17
17
|
assign(:opportunities, [ FactoryGirl.create(:opportunity, :id => 42) ].paginate)
|
18
18
|
|
19
19
|
render :template => 'opportunities/index', :formats => [:js]
|
20
|
-
|
21
|
-
rendered.should
|
22
|
-
|
23
|
-
end
|
24
|
-
rendered.should have_rjs("paginate")
|
20
|
+
|
21
|
+
rendered.should include("jQuery('#opportunities').html")
|
22
|
+
rendered.should include("#paginate")
|
25
23
|
end
|
26
24
|
|
27
25
|
it "should render [empty] template if @opportunities collection if there are no opportunities" do
|
28
26
|
assign(:opportunities, [].paginate)
|
29
27
|
|
30
28
|
render :template => 'opportunities/index', :formats => [:js]
|
31
|
-
|
32
|
-
rendered.should
|
33
|
-
|
34
|
-
end
|
35
|
-
rendered.should have_rjs("paginate")
|
29
|
+
|
30
|
+
rendered.should include("jQuery('#opportunities').html('<div id=\\'empty\\'>")
|
31
|
+
rendered.should include("#paginate")
|
36
32
|
end
|
37
33
|
|
38
34
|
end
|
39
|
-
|