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 "/tasks/index" do
|
9
9
|
include TasksHelper
|
@@ -42,4 +42,3 @@ describe "/tasks/index" do
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
45
|
-
|
@@ -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 "/tasks/new" do
|
9
9
|
include TasksHelper
|
@@ -19,7 +19,7 @@ describe "/tasks/new" do
|
|
19
19
|
it "should toggle empty message div if it exists" do
|
20
20
|
render
|
21
21
|
|
22
|
-
rendered.should include(
|
22
|
+
rendered.should include("crm.flick('empty', 'toggle')")
|
23
23
|
end
|
24
24
|
|
25
25
|
describe "new task" do
|
@@ -30,10 +30,8 @@ describe "/tasks/new" do
|
|
30
30
|
params[:cancel] = nil
|
31
31
|
render
|
32
32
|
|
33
|
-
rendered.should
|
34
|
-
|
35
|
-
end
|
36
|
-
rendered.should include('crm.flip_form("create_task");')
|
33
|
+
rendered.should include("jQuery('#create_task').html")
|
34
|
+
rendered.should include("crm.flip_form('create_task');")
|
37
35
|
end
|
38
36
|
end
|
39
37
|
|
@@ -42,8 +40,8 @@ describe "/tasks/new" do
|
|
42
40
|
params[:cancel] = "true"
|
43
41
|
render
|
44
42
|
|
45
|
-
rendered.should_not
|
46
|
-
rendered.should include(
|
43
|
+
rendered.should_not include("jQuery('#create_task').html")
|
44
|
+
rendered.should include("crm.flip_form('create_task');")
|
47
45
|
end
|
48
46
|
end
|
49
47
|
|
@@ -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 "/tasks/update" do
|
9
9
|
include TasksHelper
|
@@ -24,42 +24,35 @@ describe "/tasks/update" do
|
|
24
24
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
|
25
25
|
render
|
26
26
|
|
27
|
-
rendered.should include(%Q
|
28
|
-
rendered.should include(%Q
|
27
|
+
rendered.should include(%Q/jQuery('#task_#{@task.id}').remove();/)
|
28
|
+
rendered.should include(%Q/jQuery('#list_due_asap').fadeOut/)
|
29
29
|
end
|
30
30
|
|
31
31
|
it "from Tasks tab: should show updated task in a new bucket" do
|
32
32
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
|
33
33
|
render
|
34
|
-
rendered.should
|
35
|
-
|
36
|
-
end
|
37
|
-
rendered.should include(%Q/$("task_#{@task.id}").visualEffect("highlight"/)
|
34
|
+
rendered.should include("jQuery('#due_tomorrow').prepend('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
|
35
|
+
rendered.should include("jQuery('#task_#{@task.id}').effect('highlight'")
|
38
36
|
end
|
39
37
|
|
40
38
|
it "from Tasks tab: should update tasks sidebar" do
|
41
39
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
|
42
40
|
render
|
43
41
|
|
44
|
-
rendered.should
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
rendered.should include(%Q/$("filters").visualEffect("shake"/)
|
42
|
+
rendered.should include("jQuery('#due_tomorrow').prepend('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
|
43
|
+
rendered.should have_text("Assigned")
|
44
|
+
rendered.should have_text("Recent Items")
|
45
|
+
rendered.should include("jQuery('#filters').effect('shake'")
|
49
46
|
end
|
50
47
|
|
51
48
|
it "from asset page: should update task partial in place" do
|
52
49
|
render
|
53
|
-
rendered.should
|
54
|
-
with_tag("li[id=task_#{@task.id}]")
|
55
|
-
end
|
50
|
+
rendered.should include("jQuery('#task_#{@task.id}').html('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
|
56
51
|
end
|
57
52
|
|
58
53
|
it "from asset page: should update recently viewed items" do
|
59
54
|
render
|
60
|
-
rendered.should
|
61
|
-
with_tag("div[class=caption]")
|
62
|
-
end
|
55
|
+
rendered.should have_text("Recent Items")
|
63
56
|
end
|
64
57
|
|
65
58
|
end
|
@@ -77,9 +70,10 @@ describe "/tasks/update" do
|
|
77
70
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks"
|
78
71
|
|
79
72
|
render
|
80
|
-
rendered.should include(
|
81
|
-
rendered.should
|
82
|
-
rendered.should include('
|
73
|
+
rendered.should include("jQuery('#task_#{@task.id}').remove();")
|
74
|
+
rendered.should have_text("view assigned tasks")
|
75
|
+
rendered.should include("jQuery('#flash').html")
|
76
|
+
rendered.should include("crm.flash('notice', true)")
|
83
77
|
end
|
84
78
|
|
85
79
|
it "assigned tasks to me from Tasks tab: should remove the task and show flash message (pending)" do
|
@@ -90,9 +84,10 @@ describe "/tasks/update" do
|
|
90
84
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks?view=assigned"
|
91
85
|
|
92
86
|
render
|
93
|
-
rendered.should include(
|
94
|
-
rendered.should
|
95
|
-
rendered.should include('
|
87
|
+
rendered.should include("jQuery('#task_#{@task.id}').remove();")
|
88
|
+
rendered.should have_text("view pending tasks")
|
89
|
+
rendered.should include("jQuery('#flash').html")
|
90
|
+
rendered.should include("crm.flash('notice', true)")
|
96
91
|
end
|
97
92
|
|
98
93
|
it "assigned tasks to somebody else from Tasks tab: should re-render task partial" do
|
@@ -102,9 +97,7 @@ describe "/tasks/update" do
|
|
102
97
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks?view=assigned"
|
103
98
|
|
104
99
|
render
|
105
|
-
rendered.should
|
106
|
-
with_tag("li[id=task_#{@task.id}]")
|
107
|
-
end
|
100
|
+
rendered.should include("jQuery('#task_#{@task.id}').html('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
|
108
101
|
end
|
109
102
|
|
110
103
|
it "from Tasks tab: should update tasks sidebar" do
|
@@ -114,11 +107,10 @@ describe "/tasks/update" do
|
|
114
107
|
controller.request.env["HTTP_REFERER"] = "http://localhost/tasks?view=assigned"
|
115
108
|
render
|
116
109
|
|
117
|
-
rendered.should
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
rendered.should include(%Q/$("filters").visualEffect("shake"/)
|
110
|
+
rendered.should include("jQuery('#sidebar').html")
|
111
|
+
rendered.should have_text("Recent Items")
|
112
|
+
rendered.should have_text("Assigned")
|
113
|
+
rendered.should include("jQuery('#filters').effect('shake'")
|
122
114
|
end
|
123
115
|
|
124
116
|
it "from asset page: should should re-render task partial" do
|
@@ -126,9 +118,7 @@ describe "/tasks/update" do
|
|
126
118
|
assign(:task, @task = FactoryGirl.create(:task, :assignee => FactoryGirl.create(:user)))
|
127
119
|
render
|
128
120
|
|
129
|
-
rendered.should
|
130
|
-
with_tag("li[id=task_#{@task.id}]")
|
131
|
-
end
|
121
|
+
rendered.should include("jQuery('#task_#{@task.id}').html('<li class=\\'highlight task\\' id=\\'task_#{@task.id}\\'")
|
132
122
|
end
|
133
123
|
|
134
124
|
it "from asset page: should update recently viewed items" do
|
@@ -136,9 +126,7 @@ describe "/tasks/update" do
|
|
136
126
|
assign(:task, @task = FactoryGirl.create(:task, :assignee => FactoryGirl.create(:user)))
|
137
127
|
render
|
138
128
|
|
139
|
-
rendered.should
|
140
|
-
with_tag("div[class=caption]")
|
141
|
-
end
|
129
|
+
rendered.should have_text("Recent Items")
|
142
130
|
end
|
143
131
|
|
144
132
|
end
|
@@ -149,9 +137,8 @@ describe "/tasks/update" do
|
|
149
137
|
@task.errors.add(:name)
|
150
138
|
|
151
139
|
render
|
152
|
-
rendered.should include(
|
153
|
-
rendered.should include(
|
140
|
+
rendered.should include(%/jQuery('#task_#{@task.id}').effect("shake"/)
|
141
|
+
rendered.should include("jQuery('#task_submit').enable()")
|
154
142
|
end
|
155
143
|
|
156
144
|
end
|
157
|
-
|
@@ -17,20 +17,18 @@ describe "/users/avatar" do
|
|
17
17
|
params[:cancel] = "true"
|
18
18
|
|
19
19
|
render
|
20
|
-
rendered.should include(
|
21
|
-
rendered.should include(
|
20
|
+
rendered.should include("crm.flip_form('upload_avatar')")
|
21
|
+
rendered.should include("crm.set_title('upload_avatar', 'My Profile')")
|
22
22
|
end
|
23
23
|
|
24
24
|
it "edit profile: should hide [Edit Profile] and [Change Password] forms and show [Upload Avatar]" do
|
25
25
|
render
|
26
26
|
|
27
|
-
rendered.should
|
28
|
-
|
29
|
-
|
30
|
-
rendered.should include(
|
31
|
-
rendered.should include(
|
32
|
-
rendered.should include('crm.flip_form("upload_avatar")')
|
33
|
-
rendered.should include('crm.set_title("upload_avatar"')
|
27
|
+
rendered.should include("jQuery('#upload_avatar').html")
|
28
|
+
rendered.should include("crm.hide_form('edit_profile');")
|
29
|
+
rendered.should include("crm.hide_form('change_password');")
|
30
|
+
rendered.should include("crm.flip_form('upload_avatar');")
|
31
|
+
rendered.should include("crm.set_title('upload_avatar', 'Upload Picture');")
|
34
32
|
end
|
35
33
|
|
36
34
|
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 "/users/change_password" do
|
9
9
|
include UsersHelper
|
@@ -17,16 +17,16 @@ describe "/users/change_password" do
|
|
17
17
|
it "should flip [Change Password] form" do
|
18
18
|
render
|
19
19
|
|
20
|
-
rendered.should_not
|
21
|
-
rendered.should include(
|
22
|
-
rendered.should include(
|
20
|
+
rendered.should_not include("user_#{@user.id}")
|
21
|
+
rendered.should include("crm.flip_form('change_password');")
|
22
|
+
rendered.should include("crm.set_title('change_password', 'My Profile');")
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should show flash message" do
|
26
26
|
render
|
27
27
|
|
28
|
-
rendered.should
|
29
|
-
rendered.should include(
|
28
|
+
rendered.should include("#flash")
|
29
|
+
rendered.should include("crm.flash('notice')")
|
30
30
|
end
|
31
31
|
end # no errors
|
32
32
|
|
@@ -35,18 +35,16 @@ describe "/users/change_password" do
|
|
35
35
|
@user.errors.add(:current_password, "error")
|
36
36
|
render
|
37
37
|
|
38
|
-
rendered.should
|
39
|
-
|
40
|
-
|
41
|
-
rendered.should include('$("change_password").visualEffect("shake"')
|
42
|
-
rendered.should include('$("current_password").focus()')
|
38
|
+
rendered.should include("jQuery('#change_password').html")
|
39
|
+
rendered.should include(%Q/jQuery('#change_password').effect("shake"/)
|
40
|
+
rendered.should include("jQuery('#current_password').focus();")
|
43
41
|
end
|
44
42
|
|
45
43
|
it "should redraw the [Change Password] form and correctly set focus" do
|
46
44
|
@user.errors.add(:user_password, "error")
|
47
45
|
render
|
48
46
|
|
49
|
-
rendered.should include('
|
47
|
+
rendered.should include("jQuery('#user_password').focus();")
|
50
48
|
end
|
51
49
|
|
52
50
|
end # errors
|
@@ -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 "/users/edit" do
|
9
9
|
include UsersHelper
|
@@ -17,20 +17,18 @@ describe "/users/edit" do
|
|
17
17
|
params[:cancel] = "true"
|
18
18
|
|
19
19
|
render
|
20
|
-
rendered.should include(
|
21
|
-
rendered.should include(
|
20
|
+
rendered.should include("crm.flip_form('edit_profile')")
|
21
|
+
rendered.should include("crm.set_title('edit_profile', 'My Profile');")
|
22
22
|
end
|
23
23
|
|
24
24
|
it "edit profile: should hide [Upload Avatar] and [Change Password] forms and show [Edit Profile]" do
|
25
25
|
render
|
26
26
|
|
27
|
-
rendered.should
|
28
|
-
|
29
|
-
|
30
|
-
rendered.should include(
|
31
|
-
rendered.should include(
|
32
|
-
rendered.should include('crm.flip_form("edit_profile")')
|
33
|
-
rendered.should include('crm.set_title("edit_profile"')
|
27
|
+
rendered.should include("jQuery('#edit_profile').html")
|
28
|
+
rendered.should include("crm.hide_form('upload_avatar');")
|
29
|
+
rendered.should include("crm.hide_form('change_password');")
|
30
|
+
rendered.should include("crm.flip_form('edit_profile');")
|
31
|
+
rendered.should include("crm.set_title('edit_profile', 'Edit Profile');")
|
34
32
|
end
|
35
33
|
|
36
34
|
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 "/users/password" do
|
9
9
|
include UsersHelper
|
@@ -17,21 +17,19 @@ describe "/users/password" do
|
|
17
17
|
params[:cancel] = "true"
|
18
18
|
|
19
19
|
render
|
20
|
-
rendered.should include(
|
21
|
-
rendered.should include(
|
20
|
+
rendered.should include("crm.flip_form('change_password')")
|
21
|
+
rendered.should include("crm.set_title('change_password', 'My Profile')")
|
22
22
|
end
|
23
23
|
|
24
24
|
it "edit profile: should hide [Edit Profile] and [Upload Avatar] forms and show [Change Password]" do
|
25
25
|
render
|
26
26
|
|
27
|
-
rendered.should
|
28
|
-
|
29
|
-
|
30
|
-
rendered.should include(
|
31
|
-
rendered.should include(
|
32
|
-
rendered.should include('
|
33
|
-
rendered.should include('crm.set_title("change_password"')
|
34
|
-
rendered.should include('$("current_password").focus()')
|
27
|
+
rendered.should include("jQuery('#change_password').html")
|
28
|
+
rendered.should include("crm.hide_form('edit_profile');")
|
29
|
+
rendered.should include("crm.hide_form('upload_avatar');")
|
30
|
+
rendered.should include("crm.flip_form('change_password');")
|
31
|
+
rendered.should include("crm.set_title('change_password', 'Change Password');")
|
32
|
+
rendered.should include("jQuery('#current_password').focus();")
|
35
33
|
end
|
36
34
|
|
37
35
|
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 "/users/update" do
|
9
9
|
include UsersHelper
|
@@ -16,17 +16,17 @@ describe "/users/update" do
|
|
16
16
|
describe "no errors:" do
|
17
17
|
it "should flip [Edit Profile] form" do
|
18
18
|
render
|
19
|
-
rendered.should include(
|
19
|
+
rendered.should include("crm.flip_form('edit_profile')")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should update Welcome, user!" do
|
23
23
|
render
|
24
|
-
rendered.should
|
24
|
+
rendered.should include("jQuery('#welcome_username').html('#{@user.first_name}')")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should update actual user profile information" do
|
28
28
|
render
|
29
|
-
rendered.should
|
29
|
+
rendered.should include("jQuery('#profile').html")
|
30
30
|
end
|
31
31
|
end # no errors
|
32
32
|
|
@@ -37,17 +37,9 @@ describe "/users/update" do
|
|
37
37
|
|
38
38
|
it "should redraw the [Edit Profile] form and shake it" do
|
39
39
|
render
|
40
|
-
rendered.should
|
41
|
-
|
42
|
-
|
43
|
-
rendered.should include('$("edit_profile").visualEffect("shake"')
|
44
|
-
rendered.should include('$("user_email").focus()')
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should keep welcome or profile information intact" do
|
48
|
-
render
|
49
|
-
rendered.should_not have_rjs("welcome_username")
|
50
|
-
rendered.should_not have_rjs("profile")
|
40
|
+
rendered.should include("jQuery('#edit_profile').html")
|
41
|
+
rendered.should include(%Q/jQuery('#edit_profile').effect("shake"/)
|
42
|
+
rendered.should include("jQuery('#user_email').focus();")
|
51
43
|
end
|
52
44
|
|
53
45
|
end # errors
|
@@ -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 "/users/upload_avatar" do
|
9
9
|
include UsersHelper
|
@@ -15,15 +15,15 @@ describe "/users/upload_avatar" do
|
|
15
15
|
describe "no errors:" do
|
16
16
|
before do
|
17
17
|
@avatar = FactoryGirl.create(:avatar, :entity => current_user)
|
18
|
-
current_user.stub
|
18
|
+
current_user.stub(:avatar).and_return(@avatar)
|
19
19
|
assign(:user, @user = current_user)
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should flip [Upload Avatar] form" do
|
23
23
|
render
|
24
|
-
rendered.should_not
|
25
|
-
rendered.should include(
|
26
|
-
rendered.should include(
|
24
|
+
rendered.should_not include("user_#{@user.id}")
|
25
|
+
rendered.should include("crm.flip_form('upload_avatar'")
|
26
|
+
rendered.should include("crm.set_title('upload_avatar', 'My Profile')")
|
27
27
|
end
|
28
28
|
end # no errors
|
29
29
|
|
@@ -31,16 +31,14 @@ describe "/users/upload_avatar" do
|
|
31
31
|
before do
|
32
32
|
@avatar = FactoryGirl.create(:avatar, :entity => current_user)
|
33
33
|
@avatar.errors.add(:image, "error")
|
34
|
-
current_user.stub
|
34
|
+
current_user.stub(:avatar).and_return(@avatar)
|
35
35
|
assign(:user, @user = current_user)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should redraw the [Upload Avatar] form and shake it" do
|
39
39
|
render
|
40
|
-
rendered.should
|
41
|
-
|
42
|
-
end
|
43
|
-
rendered.should include(%Q/$("upload_avatar").visualEffect("shake"/)
|
40
|
+
rendered.should include("jQuery('#upload_avatar').html")
|
41
|
+
rendered.should include(%Q/jQuery('#upload_avatar').effect("shake"/)
|
44
42
|
end
|
45
43
|
end # errors
|
46
44
|
end
|