fat_free_crm 0.11.4 → 0.12.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 +15 -0
- data/.gitignore +2 -1
- data/.travis.yml +10 -17
- data/CHANGELOG +57 -4
- data/CONTRIBUTORS +6 -4
- data/Gemfile +24 -21
- data/Gemfile.lock +142 -111
- data/Guardfile +11 -31
- data/MIT-LICENSE +21 -0
- data/README.md +30 -39
- data/app/assets/javascripts/admin/fields.js.coffee +5 -18
- data/app/assets/javascripts/application.js.erb +3 -14
- data/app/assets/javascripts/crm.js +3 -15
- data/app/assets/javascripts/crm_chosen.js.coffee +21 -4
- data/app/assets/javascripts/crm_classes.js +3 -15
- data/app/assets/javascripts/crm_fields.js +3 -15
- data/app/assets/javascripts/crm_loginout.js +3 -15
- data/app/assets/javascripts/crm_textarea_autocomplete.js +3 -15
- data/app/assets/javascripts/datepicker.js.coffee +5 -0
- data/app/assets/javascripts/format_buttons.js.coffee +5 -0
- data/app/assets/javascripts/groups.js.coffee +5 -0
- data/app/assets/javascripts/jquery-noconflict.js +3 -15
- data/app/assets/javascripts/lists.js.coffee +6 -0
- data/app/assets/javascripts/search.js.coffee +5 -0
- data/app/assets/stylesheets/admin/fields.css.scss +10 -0
- data/app/assets/stylesheets/advanced_search.css.scss +5 -0
- data/app/assets/stylesheets/application.css.erb +3 -14
- data/app/assets/stylesheets/base.scss +3 -15
- data/app/assets/stylesheets/common.scss +3 -15
- data/app/assets/stylesheets/ffcrm_chosen.scss +5 -0
- data/app/assets/stylesheets/fields.scss +5 -0
- data/app/assets/stylesheets/format_buttons.css.scss +5 -0
- data/app/assets/stylesheets/groups.css.scss +5 -0
- data/app/assets/stylesheets/header.scss +3 -15
- data/app/assets/stylesheets/index_headers.css.scss +5 -0
- data/app/assets/stylesheets/lists.css.scss +5 -0
- data/app/assets/stylesheets/print.css.scss +3 -15
- data/app/assets/stylesheets/rails.scss +4 -16
- data/app/assets/stylesheets/safari.scss +3 -15
- data/app/assets/stylesheets/textarea_autocomplete.scss +5 -0
- data/app/controllers/admin/application_controller.rb +3 -15
- data/app/controllers/admin/field_groups_controller.rb +3 -15
- data/app/controllers/admin/fields_controller.rb +3 -15
- data/app/controllers/admin/groups_controller.rb +3 -15
- data/app/controllers/admin/plugins_controller.rb +3 -15
- data/app/controllers/admin/settings_controller.rb +3 -15
- data/app/controllers/admin/tags_controller.rb +3 -15
- data/app/controllers/admin/users_controller.rb +3 -15
- data/app/controllers/application_controller.rb +3 -15
- data/app/controllers/authentications_controller.rb +3 -15
- data/app/controllers/comments_controller.rb +6 -16
- data/app/controllers/emails_controller.rb +3 -15
- data/app/controllers/entities/accounts_controller.rb +4 -15
- data/app/controllers/entities/campaigns_controller.rb +4 -15
- data/app/controllers/entities/contacts_controller.rb +4 -15
- data/app/controllers/entities/leads_controller.rb +4 -15
- data/app/controllers/entities/opportunities_controller.rb +6 -16
- data/app/controllers/entities_controller.rb +3 -15
- data/app/controllers/home_controller.rb +3 -15
- data/app/controllers/lists_controller.rb +3 -15
- data/app/controllers/passwords_controller.rb +3 -15
- data/app/controllers/tasks_controller.rb +5 -16
- data/app/controllers/users_controller.rb +3 -15
- data/app/helpers/accounts_helper.rb +7 -17
- data/app/helpers/addresses_helper.rb +3 -15
- data/app/helpers/admin/application_helper.rb +3 -15
- data/app/helpers/admin/field_groups_helper.rb +3 -15
- data/app/helpers/admin/fields_helper.rb +3 -15
- data/app/helpers/admin/plugins_helper.rb +3 -15
- data/app/helpers/admin/settings_helper.rb +3 -15
- data/app/helpers/admin/tags_helper.rb +3 -15
- data/app/helpers/admin/users_helper.rb +3 -15
- data/app/helpers/application_helper.rb +12 -18
- data/app/helpers/authentications_helper.rb +3 -15
- data/app/helpers/campaigns_helper.rb +3 -15
- data/app/helpers/comments_helper.rb +3 -15
- data/app/helpers/contacts_helper.rb +3 -15
- data/app/helpers/emails_helper.rb +3 -15
- data/app/helpers/fields_helper.rb +3 -15
- data/app/helpers/groups_helper.rb +5 -0
- data/app/helpers/home_helper.rb +3 -15
- data/app/helpers/leads_helper.rb +3 -15
- data/app/helpers/lists_helper.rb +3 -15
- data/app/helpers/opportunities_helper.rb +3 -15
- data/app/helpers/passwords_helper.rb +3 -15
- data/app/helpers/tags_helper.rb +3 -15
- data/app/helpers/tasks_helper.rb +3 -15
- data/app/helpers/users_helper.rb +3 -15
- data/app/helpers/versions_helper.rb +3 -15
- data/app/inputs/{datepair_input.rb → date_pair_input.rb} +10 -21
- data/app/inputs/date_time_input.rb +13 -15
- data/app/inputs/datetime_pair_input.rb +26 -0
- data/app/inputs/text_input.rb +5 -15
- data/app/mailers/dropbox_mailer.rb +3 -15
- data/app/mailers/subscription_mailer.rb +9 -16
- data/app/mailers/user_mailer.rb +3 -15
- data/app/models/entities/account.rb +7 -17
- data/app/models/entities/account_contact.rb +6 -17
- data/app/models/entities/account_opportunity.rb +5 -15
- data/app/models/entities/campaign.rb +5 -15
- data/app/models/entities/contact.rb +15 -25
- data/app/models/entities/contact_opportunity.rb +5 -15
- data/app/models/entities/lead.rb +6 -16
- data/app/models/entities/opportunity.rb +6 -16
- data/app/models/fields/core_field.rb +5 -16
- data/app/models/fields/custom_field.rb +6 -16
- data/app/models/fields/custom_field_date_pair.rb +6 -21
- data/app/models/fields/custom_field_datetime_pair.rb +5 -19
- data/app/models/fields/custom_field_pair.rb +6 -16
- data/app/models/fields/field.rb +6 -17
- data/app/models/fields/field_group.rb +7 -17
- data/app/models/list.rb +4 -15
- data/app/models/observers/entity_observer.rb +5 -0
- data/app/models/observers/lead_observer.rb +3 -15
- data/app/models/observers/opportunity_observer.rb +3 -15
- data/app/models/observers/task_observer.rb +3 -15
- data/app/models/polymorphic/address.rb +5 -16
- data/app/models/polymorphic/avatar.rb +5 -16
- data/app/models/polymorphic/comment.rb +5 -15
- data/app/models/polymorphic/email.rb +5 -15
- data/app/models/polymorphic/tag.rb +6 -16
- data/app/models/polymorphic/tagging.rb +4 -15
- data/app/models/polymorphic/task.rb +6 -16
- data/app/models/setting.rb +5 -23
- data/app/models/users/ability.rb +9 -2
- data/app/models/users/authentication.rb +5 -16
- data/app/models/users/group.rb +7 -0
- data/app/models/users/permission.rb +5 -16
- data/app/models/users/preference.rb +4 -15
- data/app/models/users/user.rb +10 -19
- data/app/views/admin/fields/index.html.haml +2 -0
- data/app/views/comments/_edit.html.haml +0 -1
- data/app/views/comments/_new.html.haml +0 -1
- data/app/views/contacts/_contacts.html.haml +1 -1
- data/app/views/contacts/_sidebar_show.html.haml +19 -0
- data/app/views/contacts/_top_section.html.haml +3 -2
- data/app/views/entities/_search.html.haml +4 -3
- data/app/views/entities/contacts.js.rjs +1 -1
- data/app/views/entities/leads.js.rjs +1 -1
- data/app/views/entities/opportunities.js.rjs +1 -1
- data/app/views/fields/_edit_custom_field_group.html.haml +1 -1
- data/app/views/home/_task.html.haml +3 -1
- data/app/views/layouts/_footer.html.haml +1 -1
- data/app/views/leads/_leads.html.haml +1 -1
- data/app/views/leads/_sidebar_show.html.haml +7 -0
- data/app/views/leads/_top_section.html.haml +3 -2
- data/app/views/lists/_sidebar.html.haml +5 -5
- data/app/views/opportunities/_opportunities.html.haml +1 -1
- data/app/views/versions/_versions.html.haml +1 -1
- data/config/application.rb +11 -3
- data/config/boot.rb +5 -1
- data/config/deploy.example.rb +5 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +5 -0
- data/config/environments/production.rb +5 -0
- data/config/environments/staging.rb +5 -0
- data/config/environments/test.rb +6 -1
- data/config/initializers/action_mailer.rb +5 -0
- data/config/initializers/authlogic.rb +5 -0
- data/config/initializers/constants.rb +5 -0
- data/config/initializers/gravatar.rb +5 -0
- data/config/initializers/locale.rb +3 -15
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/paginate_arrays.rb +5 -0
- data/config/initializers/paper_trail.rb +5 -0
- data/config/initializers/ransack.rb +6 -1
- data/config/initializers/relative_url_root.rb +3 -15
- data/config/initializers/sass.rb +5 -0
- data/config/initializers/secret_token.rb +6 -1
- data/config/initializers/simple_form.rb +5 -0
- data/config/initializers/views.rb +5 -0
- data/config/locales/de_fat_free_crm.yml +125 -7
- data/config/locales/en-US_fat_free_crm.yml +7 -2
- data/config/locales/th.rb +5 -0
- data/config/routes.rb +5 -0
- data/config/settings.default.yml +10 -18
- data/config/unicorn.rb +5 -0
- data/fat_free_crm.gemspec +6 -4
- data/lib/development_tasks/gem.rake +3 -15
- data/lib/development_tasks/license.rake +12 -32
- data/lib/development_tasks/rdoc.rake +3 -15
- data/lib/development_tasks/rspec.rake +3 -15
- data/lib/fat_free_crm.rb +6 -16
- data/lib/fat_free_crm/callback.rb +3 -15
- data/lib/fat_free_crm/comment_extensions.rb +5 -0
- data/lib/fat_free_crm/core_ext.rb +3 -15
- data/lib/fat_free_crm/core_ext/nil.rb +3 -15
- data/lib/fat_free_crm/core_ext/string.rb +3 -15
- data/lib/fat_free_crm/custom_fields.rb +12 -0
- data/lib/fat_free_crm/engine.rb +3 -15
- data/lib/fat_free_crm/errors.rb +3 -15
- data/lib/fat_free_crm/exceptions.rb +3 -15
- data/lib/fat_free_crm/export_csv.rb +35 -0
- data/lib/fat_free_crm/exportable.rb +3 -15
- data/lib/fat_free_crm/fields.rb +5 -17
- data/lib/fat_free_crm/gem_dependencies.rb +3 -15
- data/lib/fat_free_crm/gem_ext.rb +3 -15
- data/lib/fat_free_crm/gem_ext/action_controller/base.rb +3 -15
- data/lib/fat_free_crm/gem_ext/active_model/serializers/xml/serializer/attribute.rb +3 -15
- data/lib/fat_free_crm/gem_ext/active_record/schema_dumper.rb +3 -15
- data/lib/fat_free_crm/gem_ext/active_support/buffered_logger.rb +3 -15
- data/lib/fat_free_crm/gem_ext/authlogic/session/cookies.rb +3 -15
- data/lib/fat_free_crm/gem_ext/rails/engine.rb +3 -15
- data/lib/fat_free_crm/gem_ext/rails/text_helper.rb +3 -15
- data/lib/fat_free_crm/gem_ext/rake/task.rb +3 -15
- data/lib/fat_free_crm/gem_ext/simple_form/action_view_extensions/form_helper.rb +3 -15
- data/lib/fat_free_crm/i18n.rb +3 -15
- data/lib/fat_free_crm/load_settings.rb +20 -0
- data/lib/fat_free_crm/mail_processor/base.rb +20 -18
- data/lib/fat_free_crm/mail_processor/comment_replies.rb +3 -15
- data/lib/fat_free_crm/mail_processor/dropbox.rb +4 -16
- data/lib/fat_free_crm/permissions.rb +3 -15
- data/lib/fat_free_crm/plugin.rb +3 -15
- data/lib/fat_free_crm/plugin_dependencies.rb +3 -15
- data/lib/fat_free_crm/renderers.rb +6 -25
- data/lib/fat_free_crm/sortable.rb +3 -15
- data/lib/fat_free_crm/tabs.rb +3 -15
- data/lib/fat_free_crm/version.rb +5 -17
- data/lib/fat_free_crm/view_factory.rb +3 -15
- data/lib/missing_translation_detector.rb +50 -0
- data/lib/tasks/db/migrate.rake +3 -15
- data/lib/tasks/db/schema.rake +3 -15
- data/lib/tasks/ffcrm/comment_replies.rake +3 -15
- data/lib/tasks/ffcrm/config.rake +28 -16
- data/lib/tasks/ffcrm/demo.rake +3 -15
- data/lib/tasks/ffcrm/dropbox.rake +3 -15
- data/lib/tasks/ffcrm/missing_translations.rake +33 -0
- data/lib/tasks/ffcrm/settings.rake +3 -15
- data/lib/tasks/ffcrm/setup.rake +15 -24
- data/lib/tasks/ffcrm/update_data.rake +3 -15
- data/spec/controllers/admin/groups_controller_spec.rb +5 -0
- data/spec/controllers/admin/users_controller_spec.rb +5 -0
- data/spec/controllers/applications_controller_spec.rb +5 -0
- data/spec/controllers/authentications_controller_spec.rb +5 -0
- data/spec/controllers/comments_controller_spec.rb +5 -0
- data/spec/controllers/emails_controller_spec.rb +5 -0
- data/spec/controllers/entities/accounts_controller_spec.rb +5 -0
- data/spec/controllers/entities/campaigns_controller_spec.rb +5 -0
- data/spec/controllers/entities/contacts_controller_spec.rb +5 -0
- data/spec/controllers/entities/leads_controller_spec.rb +5 -0
- data/spec/controllers/entities/opportunities_controller_spec.rb +5 -0
- data/spec/controllers/entities_controller_spec.rb +5 -0
- data/spec/controllers/home_controller_spec.rb +5 -0
- data/spec/controllers/lists_controller_spec.rb +5 -0
- data/spec/controllers/passwords_controller_spec.rb +5 -0
- data/spec/controllers/tasks_controller_spec.rb +7 -6
- data/spec/controllers/users_controller_spec.rb +5 -0
- data/spec/factories/account_factories.rb +5 -0
- data/spec/factories/campaign_factories.rb +6 -1
- data/spec/factories/contact_factories.rb +6 -1
- data/spec/factories/field_factories.rb +6 -1
- data/spec/factories/lead_factories.rb +6 -1
- data/spec/factories/list_factories.rb +6 -1
- data/spec/factories/opportunity_factories.rb +16 -5
- data/spec/factories/sequences.rb +7 -1
- data/spec/factories/setting_factories.rb +6 -1
- data/spec/factories/shared_factories.rb +5 -0
- data/spec/factories/subscription_factories.rb +5 -0
- data/spec/factories/tag_factories.rb +6 -1
- data/spec/factories/task_factories.rb +6 -1
- data/spec/factories/user_factories.rb +5 -0
- data/spec/features/acceptance_helper.rb +9 -0
- data/spec/{acceptance → features}/accounts_spec.rb +14 -9
- data/spec/{acceptance → features}/admin/groups_spec.rb +5 -0
- data/spec/{acceptance → features}/admin/users_spec.rb +9 -4
- data/spec/{acceptance → features}/campaigns_spec.rb +14 -16
- data/spec/{acceptance → features}/contacts_spec.rb +13 -16
- data/spec/{acceptance → features}/dashboard_spec.rb +5 -0
- data/spec/{acceptance → features}/leads_spec.rb +11 -12
- data/spec/{acceptance → features}/opportunities_overview_spec.rb +5 -0
- data/spec/{acceptance → features}/opportunities_spec.rb +14 -16
- data/spec/features/support/browser.rb +18 -0
- data/spec/{acceptance → features}/support/headless.rb +5 -3
- data/spec/{acceptance → features}/support/helpers.rb +6 -1
- data/spec/features/support/maintain_sessions.rb +10 -0
- data/spec/{acceptance → features}/support/paths.rb +9 -4
- data/spec/{acceptance → features}/support/selector_helpers.rb +6 -1
- data/spec/{acceptance → features}/tasks_spec.rb +7 -5
- data/spec/helpers/accounts_helper_spec.rb +5 -0
- data/spec/helpers/admin/field_groups_helper_spec.rb +5 -0
- data/spec/helpers/admin/plugins_helper_spec.rb +5 -0
- data/spec/helpers/admin/settings_helper_spec.rb +5 -0
- data/spec/helpers/admin/users_helper_spec.rb +5 -0
- data/spec/helpers/application_helper_spec.rb +5 -0
- data/spec/helpers/authentications_helper_spec.rb +5 -0
- data/spec/helpers/campaigns_helper_spec.rb +5 -0
- data/spec/helpers/comments_helper_spec.rb +5 -0
- data/spec/helpers/contacts_helper_spec.rb +5 -0
- data/spec/helpers/emails_helper_spec.rb +5 -0
- data/spec/helpers/fields_helper_spec.rb +5 -0
- data/spec/helpers/groups_helper_spec.rb +6 -1
- data/spec/helpers/home_helper_spec.rb +5 -0
- data/spec/helpers/leads_helper_spec.rb +5 -0
- data/spec/helpers/lists_helper_spec.rb +6 -1
- data/spec/helpers/opportunities_helper_spec.rb +5 -0
- data/spec/helpers/passwords_helper_spec.rb +5 -0
- data/spec/helpers/tasks_helper_spec.rb +5 -0
- data/spec/helpers/users_helper_spec.rb +5 -0
- data/spec/lib/comment_extensions_spec.rb +5 -0
- data/spec/lib/core_ext/string_spec.rb +5 -0
- data/spec/lib/errors_spec.rb +5 -0
- data/spec/lib/fields_spec.rb +5 -0
- data/spec/lib/mail_processor/base_spec.rb +5 -0
- data/spec/lib/mail_processor/comment_replies_spec.rb +5 -0
- data/spec/lib/mail_processor/dropbox_spec.rb +5 -0
- data/spec/lib/mail_processor/sample_emails/dropbox.rb +5 -0
- data/spec/lib/permissions_spec.rb +5 -0
- data/spec/lib/view_factory_spec.rb +5 -0
- data/spec/mailers/subscription_mailer_spec.rb +19 -1
- data/spec/mailers/user_mailer_spec.rb +6 -1
- data/spec/models/entities/account_contact_spec.rb +5 -0
- data/spec/models/entities/account_opportunity_spec.rb +5 -0
- data/spec/models/entities/account_spec.rb +6 -1
- data/spec/models/entities/campaign_spec.rb +5 -0
- data/spec/models/entities/contact_opportunity_spec.rb +5 -0
- data/spec/models/entities/contact_spec.rb +5 -0
- data/spec/models/entities/lead_spec.rb +5 -0
- data/spec/models/entities/opportunity_spec.rb +15 -2
- data/spec/models/fields/custom_field_date_pair_spec.rb +3 -15
- data/spec/models/fields/custom_field_pair_spec.rb +3 -15
- data/spec/models/fields/custom_field_spec.rb +5 -0
- data/spec/models/fields/field_group_spec.rb +5 -0
- data/spec/models/fields/field_spec.rb +5 -0
- data/spec/models/list_spec.rb +5 -0
- data/spec/models/observers/entity_observer_spec.rb +5 -0
- data/spec/models/polymorphic/address_spec.rb +5 -0
- data/spec/models/polymorphic/avatar_spec.rb +5 -0
- data/spec/models/polymorphic/comment_spec.rb +5 -0
- data/spec/models/polymorphic/email_spec.rb +5 -0
- data/spec/models/polymorphic/task_spec.rb +5 -0
- data/spec/models/polymorphic/version_spec.rb +26 -22
- data/spec/models/setting_spec.rb +5 -0
- data/spec/models/users/authentication_spec.rb +5 -0
- data/spec/models/users/group_spec.rb +6 -1
- data/spec/models/users/permission_spec.rb +5 -0
- data/spec/models/users/preference_spec.rb +5 -0
- data/spec/models/users/user_spec.rb +6 -1
- data/spec/routing/accounts_routing_spec.rb +5 -0
- data/spec/routing/admin/users_routing_spec.rb +5 -0
- data/spec/routing/campaigns_routing_spec.rb +5 -0
- data/spec/routing/comments_routing_spec.rb +5 -0
- data/spec/routing/contacts_routing_spec.rb +5 -0
- data/spec/routing/emails_routing_spec.rb +5 -0
- data/spec/routing/leads_routing_spec.rb +5 -0
- data/spec/routing/opportunities_routing_spec.rb +5 -0
- data/spec/routing/tasks_routing_spec.rb +5 -0
- data/spec/routing/users_routing_spec.rb +5 -0
- data/spec/shared/controllers.rb +8 -3
- data/spec/shared/models.rb +110 -105
- data/spec/spec_helper.rb +40 -22
- data/spec/support/assert_select.rb +5 -0
- data/spec/support/auth_macros.rb +5 -0
- data/spec/support/macros.rb +5 -0
- data/spec/support/mail_processor_mocks.rb +5 -0
- data/spec/support/rjs_support.rb +6 -1
- data/spec/support/uploaded_file.rb +5 -0
- data/spec/views/accounts/_edit.haml_spec.rb +5 -0
- data/spec/views/accounts/_new.haml_spec.rb +5 -0
- data/spec/views/accounts/create.rjs_spec.rb +5 -0
- data/spec/views/accounts/destroy.rjs_spec.rb +5 -0
- data/spec/views/accounts/edit.rjs_spec.rb +5 -0
- data/spec/views/accounts/index.haml_spec.rb +5 -0
- data/spec/views/accounts/index.rjs_spec.rb +5 -0
- data/spec/views/accounts/new.rjs_spec.rb +5 -0
- data/spec/views/accounts/show.haml_spec.rb +5 -0
- data/spec/views/accounts/update.rjs_spec.rb +5 -0
- data/spec/views/admin/users/_create.haml_spec.rb +5 -0
- data/spec/views/admin/users/create.rjs_spec.rb +5 -0
- data/spec/views/admin/users/destroy.rjs_spec.rb +5 -0
- data/spec/views/admin/users/edit.rjs_spec.rb +5 -0
- data/spec/views/admin/users/index.haml_spec.rb +5 -0
- data/spec/views/admin/users/index.rjs_spec.rb +5 -0
- data/spec/views/admin/users/new.rjs_spec.rb +5 -0
- data/spec/views/admin/users/reactivate.rjs_spec.rb +5 -0
- data/spec/views/admin/users/show.haml_spec.rb +5 -0
- data/spec/views/admin/users/suspend.rjs_spec.rb +5 -0
- data/spec/views/admin/users/update.rjs_spec.rb +5 -0
- data/spec/views/application/auto_complete.haml_spec.rb +5 -0
- data/spec/views/authentications/new.haml_spec.rb +5 -0
- data/spec/views/campaigns/_edit.haml_spec.rb +8 -2
- data/spec/views/campaigns/_new.haml_spec.rb +5 -0
- data/spec/views/campaigns/create.rjs_spec.rb +5 -0
- data/spec/views/campaigns/destroy.rjs_spec.rb +5 -0
- data/spec/views/campaigns/edit.rjs_spec.rb +5 -0
- data/spec/views/campaigns/index.haml_spec.rb +5 -0
- data/spec/views/campaigns/index.rjs_spec.rb +5 -0
- data/spec/views/campaigns/new.rjs_spec.rb +5 -0
- data/spec/views/campaigns/show.haml_spec.rb +5 -0
- data/spec/views/campaigns/update.rjs_spec.rb +5 -0
- data/spec/views/comments/new.rjs_spec.rb +5 -0
- data/spec/views/contacts/_edit.haml_spec.rb +5 -0
- data/spec/views/contacts/_new.haml_spec.rb +5 -0
- data/spec/views/contacts/create.rjs_spec.rb +5 -0
- data/spec/views/contacts/destroy.rjs_spec.rb +5 -0
- data/spec/views/contacts/edit.rjs_spec.rb +5 -0
- data/spec/views/contacts/index.haml_spec.rb +5 -0
- data/spec/views/contacts/index.rjs_spec.rb +5 -0
- data/spec/views/contacts/new.rjs_spec.rb +5 -0
- data/spec/views/contacts/show.haml_spec.rb +5 -0
- data/spec/views/contacts/update.rjs_spec.rb +5 -0
- data/spec/views/home/index.haml_spec.rb +5 -0
- data/spec/views/home/index.rjs_spec.rb +5 -0
- data/spec/views/home/options.rjs_spec.rb +5 -0
- data/spec/views/leads/_convert.haml_spec.rb +5 -0
- data/spec/views/leads/_edit.haml_spec.rb +5 -0
- data/spec/views/leads/_new.haml_spec.rb +5 -0
- data/spec/views/leads/_sidebar_show.haml_spec.rb +5 -0
- data/spec/views/leads/convert.rjs_spec.rb +5 -0
- data/spec/views/leads/create.rjs_spec.rb +5 -0
- data/spec/views/leads/destroy.rjs_spec.rb +5 -0
- data/spec/views/leads/edit.rjs_spec.rb +5 -0
- data/spec/views/leads/index.haml_spec.rb +5 -0
- data/spec/views/leads/index.rjs_spec.rb +5 -0
- data/spec/views/leads/new.rjs_spec.rb +5 -0
- data/spec/views/leads/promote.rjs_spec.rb +5 -0
- data/spec/views/leads/reject.rjs_spec.rb +5 -0
- data/spec/views/leads/show.haml_spec.rb +5 -0
- data/spec/views/leads/update.rjs_spec.rb +5 -0
- data/spec/views/opportunities/_edit.haml_spec.rb +5 -0
- data/spec/views/opportunities/_new.haml_spec.rb +5 -0
- data/spec/views/opportunities/create.rjs_spec.rb +5 -0
- data/spec/views/opportunities/destroy.rjs_spec.rb +5 -0
- data/spec/views/opportunities/edit.rjs_spec.rb +5 -0
- data/spec/views/opportunities/index.haml_spec.rb +5 -0
- data/spec/views/opportunities/index.rjs_spec.rb +5 -0
- data/spec/views/opportunities/new.rjs_spec.rb +5 -0
- data/spec/views/opportunities/show.haml_spec.rb +5 -0
- data/spec/views/opportunities/update.rjs_spec.rb +5 -0
- data/spec/views/tasks/_edit.haml_spec.rb +5 -0
- data/spec/views/tasks/complete.rjs_spec.rb +5 -0
- data/spec/views/tasks/create.rjs_spec.rb +5 -0
- data/spec/views/tasks/destroy.rjs_spec.rb +5 -0
- data/spec/views/tasks/edit.rjs_spec.rb +5 -0
- data/spec/views/tasks/index.haml_spec.rb +5 -0
- data/spec/views/tasks/new.rjs_spec.rb +5 -0
- data/spec/views/tasks/update.rjs_spec.rb +5 -0
- data/spec/views/users/avatar.rjs_spec.rb +5 -0
- data/spec/views/users/change_password.rjs_spec.rb +5 -0
- data/spec/views/users/edit.rjs_spec.rb +5 -0
- data/spec/views/users/password.rjs_spec.rb +5 -0
- data/spec/views/users/update.rjs_spec.rb +5 -0
- data/spec/views/users/upload_avatar.rjs_spec.rb +5 -0
- metadata +45 -101
- data/LICENSE +0 -620
- data/app/inputs/datetimepair_input.rb +0 -37
- data/config/initializers/custom_fields.rb +0 -21
- data/lib/fat_free_crm/core_ext/array.rb +0 -75
- data/lib/fat_free_crm/syck_yaml.rb +0 -21
- data/spec/acceptance/acceptance_helper.rb +0 -8
- data/spec/acceptance/support/browser.rb +0 -13
- data/spec/acceptance/support/maintain_sessions.rb +0 -5
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path("../acceptance_helper.rb", __FILE__)
|
2
7
|
|
3
8
|
feature 'Dashboard', %q{
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path("../acceptance_helper.rb", __FILE__)
|
2
7
|
|
3
8
|
feature 'Leads', %q{
|
@@ -35,7 +40,7 @@ feature 'Leads', %q{
|
|
35
40
|
click_button 'Create Lead'
|
36
41
|
page.should have_content('Mr Lead')
|
37
42
|
|
38
|
-
click_link
|
43
|
+
find('#leads').click_link('Mr Lead')
|
39
44
|
page.should have_content('Contacted')
|
40
45
|
page.should have_content('mr_lead@example.com')
|
41
46
|
page.should have_content('+44 1234 567890')
|
@@ -68,10 +73,7 @@ feature 'Leads', %q{
|
|
68
73
|
click_link('Status')
|
69
74
|
select 'Rejected', :from => 'lead_status'
|
70
75
|
click_button 'Save Lead'
|
71
|
-
|
72
|
-
click_link 'Leads'
|
73
|
-
page.should have_content('Mrs Lead')
|
74
|
-
|
76
|
+
find('#title').should have_content('Mrs Lead')
|
75
77
|
click_link "Dashboard"
|
76
78
|
page.should have_content("Bill Murray updated lead Mrs Lead")
|
77
79
|
end
|
@@ -84,26 +86,23 @@ feature 'Leads', %q{
|
|
84
86
|
page.should have_content('Are you sure you want to delete this lead?')
|
85
87
|
click_link 'Yes'
|
86
88
|
page.should have_content('Mr Lead has been deleted.')
|
87
|
-
click_link 'Leads'
|
88
89
|
page.should_not have_content('Mr Lead')
|
89
90
|
page.should_not have_content('mr_lead@example.com')
|
90
91
|
end
|
91
92
|
|
92
93
|
scenario 'should search for a lead', :js => true do
|
93
|
-
|
94
|
+
2.times { |i| FactoryGirl.create(:lead, :first_name => "Lead", :last_name => "\##{i}", :email => "lead#{i}@example.com") }
|
94
95
|
visit leads_page
|
95
96
|
find('#leads').should have_content('Lead #0')
|
96
97
|
find('#leads').should have_content('Lead #1')
|
97
|
-
find('#leads').should have_content('Lead #2')
|
98
98
|
fill_in 'query', :with => 'Lead #0'
|
99
99
|
find('#leads').should have_content('Lead #0')
|
100
|
-
find('#leads').
|
100
|
+
find('#leads').should_not have_content('Lead #1')
|
101
101
|
fill_in 'query', :with => 'Lead'
|
102
102
|
find('#leads').should have_content('Lead #0')
|
103
103
|
find('#leads').should have_content('Lead #1')
|
104
|
-
find('#leads').should have_content('Lead #2')
|
105
|
-
find('#leads').has_selector?('li', :count => 3)
|
106
104
|
fill_in 'query', :with => 'Non-existant lead'
|
107
|
-
find('#leads').
|
105
|
+
find('#leads').should_not have_content('Lead #0')
|
106
|
+
find('#leads').should_not have_content('Lead #1')
|
108
107
|
end
|
109
108
|
end
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path("../acceptance_helper.rb", __FILE__)
|
2
7
|
|
3
8
|
feature 'Opportunities Overview', %q{
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path("../acceptance_helper.rb", __FILE__)
|
2
7
|
|
3
8
|
feature 'Opportunities', %q{
|
@@ -25,14 +30,14 @@ feature 'Opportunities', %q{
|
|
25
30
|
click_link 'Create Opportunity'
|
26
31
|
page.should have_selector('#opportunity_name', :visible => true)
|
27
32
|
fill_in 'opportunity_name', :with => 'My Awesome Opportunity'
|
28
|
-
|
29
|
-
select '
|
33
|
+
fill_in 'account_name', :with => 'Example Account'
|
34
|
+
select 'Prospecting', :from => 'opportunity_stage'
|
30
35
|
click_link 'Comment'
|
31
36
|
fill_in 'comment_body', :with => 'This is a very important opportunity.'
|
32
37
|
click_button 'Create Opportunity'
|
33
38
|
page.should have_content('My Awesome Opportunity')
|
34
39
|
|
35
|
-
click_link
|
40
|
+
find('div#opportunities').click_link('My Awesome Opportunity')
|
36
41
|
page.should have_content('This is a very important opportunity.')
|
37
42
|
|
38
43
|
click_link "Dashboard"
|
@@ -43,7 +48,7 @@ feature 'Opportunities', %q{
|
|
43
48
|
scenario "remembers the comment field when the creation was unsuccessful", :js => true do
|
44
49
|
visit opportunities_page
|
45
50
|
click_link 'Create Opportunity'
|
46
|
-
select '
|
51
|
+
select 'Prospecting', :from => 'opportunity_stage'
|
47
52
|
|
48
53
|
click_link 'Comment'
|
49
54
|
fill_in 'comment_body', :with => 'This is a very important opportunity.'
|
@@ -61,12 +66,9 @@ feature 'Opportunities', %q{
|
|
61
66
|
click_link 'Edit'
|
62
67
|
fill_in 'opportunity_name', :with => 'An Even Cooler Opportunity'
|
63
68
|
chosen_select('Other Example Account', :from => 'account_id')
|
64
|
-
select '
|
69
|
+
select 'Analysis', :from => 'opportunity_stage'
|
65
70
|
click_button 'Save Opportunity'
|
66
71
|
page.should have_content('An Even Cooler Opportunity')
|
67
|
-
click_link 'Opportunities'
|
68
|
-
page.should have_content('An Even Cooler Opportunity')
|
69
|
-
|
70
72
|
click_link "Dashboard"
|
71
73
|
page.should have_content("Bill Murray updated opportunity An Even Cooler Opportunity")
|
72
74
|
end
|
@@ -79,25 +81,21 @@ feature 'Opportunities', %q{
|
|
79
81
|
page.should have_content('Are you sure you want to delete this opportunity?')
|
80
82
|
click_link 'Yes'
|
81
83
|
page.should have_content('Outdated Opportunity has been deleted.')
|
82
|
-
click_link('Opportunities')
|
83
|
-
page.should_not have_content('Outdated Opportunity')
|
84
84
|
end
|
85
85
|
|
86
86
|
scenario 'should search for an opportunity', :js => true do
|
87
|
-
|
87
|
+
2.times { |i| FactoryGirl.create(:opportunity, :name => "Opportunity #{i}") }
|
88
88
|
visit opportunities_page
|
89
89
|
find('#opportunities').should have_content("Opportunity 0")
|
90
90
|
find('#opportunities').should have_content("Opportunity 1")
|
91
|
-
find('#opportunities').should have_content("Opportunity 2")
|
92
91
|
fill_in 'query', :with => "Opportunity 0"
|
93
92
|
find('#opportunities').should have_content("Opportunity 0")
|
94
|
-
find('#opportunities').
|
93
|
+
find('#opportunities').should_not have_content("Opportunity 1")
|
95
94
|
fill_in 'query', :with => "Opportunity"
|
96
95
|
find('#opportunities').should have_content("Opportunity 0")
|
97
96
|
find('#opportunities').should have_content("Opportunity 1")
|
98
|
-
find('#opportunities').should have_content("Opportunity 2")
|
99
|
-
find('#opportunities').has_selector?('li', :count => 3)
|
100
97
|
fill_in 'query', :with => "Non-existant opportunity"
|
101
|
-
find('#opportunities').
|
98
|
+
find('#opportunities').should_not have_content("Opportunity 0")
|
99
|
+
find('#opportunities').should_not have_content("Opportunity 1")
|
102
100
|
end
|
103
101
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
6
|
+
#
|
7
|
+
# Allow tests to run in Chrome browser
|
8
|
+
#
|
9
|
+
if ENV['BROWSER'] == 'chrome'
|
10
|
+
Capybara.register_driver :selenium do |app|
|
11
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# Default timeout for extended for AJAX based application
|
17
|
+
#
|
18
|
+
Capybara.default_wait_time = 7
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
#
|
2
7
|
# Drives the browser in 'headless' mode if required.
|
3
8
|
# Useful for CI and travis tests
|
@@ -8,8 +13,5 @@ if ENV['HEADLESS'] == 'true' or ENV["CI"] == "true"
|
|
8
13
|
headless = Headless.new
|
9
14
|
headless.start
|
10
15
|
HEADLESS_DISPLAY = ":#{headless.display}"
|
11
|
-
at_exit do
|
12
|
-
headless.destroy
|
13
|
-
end
|
14
16
|
puts "Running in Headless mode. Display #{HEADLESS_DISPLAY}"
|
15
17
|
end
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
module HelperMethods
|
2
7
|
# Put helper methods you need to be available in all acceptance specs here.
|
3
8
|
|
@@ -23,4 +28,4 @@ module HelperMethods
|
|
23
28
|
|
24
29
|
end
|
25
30
|
|
26
|
-
RSpec.configuration.include HelperMethods, :type => :
|
31
|
+
RSpec.configuration.include HelperMethods, :type => :feature
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
6
|
+
#
|
7
|
+
# Workaround for ActionDispatch::ClosedError
|
8
|
+
# https://github.com/binarylogic/authlogic/issues/262#issuecomment-1804988
|
9
|
+
#
|
10
|
+
User.acts_as_authentic_config[:maintain_sessions] = false
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
module NavigationHelpers
|
2
7
|
# Put helper methods related to the paths in your application here.
|
3
8
|
|
@@ -28,15 +33,15 @@ module NavigationHelpers
|
|
28
33
|
def tasks_page
|
29
34
|
tasks_path
|
30
35
|
end
|
31
|
-
|
36
|
+
|
32
37
|
def groups_page
|
33
38
|
admin_groups_path
|
34
39
|
end
|
35
|
-
|
40
|
+
|
36
41
|
def opportunity_overview_page
|
37
42
|
opportunities_overview_users_path
|
38
43
|
end
|
39
|
-
|
44
|
+
|
40
45
|
end
|
41
46
|
|
42
|
-
RSpec.configuration.include NavigationHelpers, :type => :
|
47
|
+
RSpec.configuration.include NavigationHelpers, :type => :feature
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
module SelectorHelpers
|
2
7
|
def chosen_select(item_text, options)
|
3
8
|
field_id = find_field(options[:from])[:id]
|
@@ -28,4 +33,4 @@ module SelectorHelpers
|
|
28
33
|
end
|
29
34
|
end
|
30
35
|
|
31
|
-
RSpec.configuration.include SelectorHelpers, :type => :
|
36
|
+
RSpec.configuration.include SelectorHelpers, :type => :feature
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path("../acceptance_helper.rb", __FILE__)
|
2
7
|
|
3
8
|
feature 'Tasks', %q{
|
@@ -54,8 +59,8 @@ feature 'Tasks', %q{
|
|
54
59
|
|
55
60
|
click_filter_tab('Assigned')
|
56
61
|
check_filter 'tomorrow'
|
57
|
-
|
58
|
-
|
62
|
+
find('#main').should have_content('Task For Someone Else')
|
63
|
+
find('#main').should have_content('Another User')
|
59
64
|
|
60
65
|
click_link 'Dashboard'
|
61
66
|
page.should have_content('Bill Murray created task Task For Someone Else')
|
@@ -68,9 +73,6 @@ feature 'Tasks', %q{
|
|
68
73
|
fill_in 'task_name', :with => 'Updated Task'
|
69
74
|
click_button 'Save Task'
|
70
75
|
page.should have_content('Updated Task')
|
71
|
-
click_link 'Task'
|
72
|
-
page.should have_content('Updated Task')
|
73
|
-
|
74
76
|
click_link 'Dashboard'
|
75
77
|
page.should have_content('Bill Murray updated task Updated Task')
|
76
78
|
end
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe AccountsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
7
|
|
3
8
|
describe Admin::FieldGroupsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
7
|
|
3
8
|
describe Admin::PluginsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
7
|
|
3
8
|
describe Admin::SettingsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
7
|
|
3
8
|
describe Admin::UsersHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe ApplicationHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe AuthenticationsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe CampaignsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe CommentsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe ContactsHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe EmailsHelper do # Helper methods can be called directly in the examples (it blocks)
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
include FieldsHelper
|
3
8
|
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require 'spec_helper'
|
2
7
|
|
3
8
|
# Specs in this file have access to a helper object that includes
|
@@ -11,5 +16,5 @@ require 'spec_helper'
|
|
11
16
|
# end
|
12
17
|
# end
|
13
18
|
describe GroupsHelper do
|
14
|
-
|
19
|
+
|
15
20
|
end
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe HomeHelper do
|
@@ -1,3 +1,8 @@
|
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
2
|
+
#
|
3
|
+
# Fat Free CRM is freely distributable under the terms of MIT license.
|
4
|
+
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
+
#------------------------------------------------------------------------------
|
1
6
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
7
|
|
3
8
|
describe LeadsHelper do
|