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,26 +1,10 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class CustomFieldDatePair < CustomFieldPair
|
19
7
|
|
20
|
-
# Register this CustomField with the application
|
21
|
-
#------------------------------------------------------------------------------
|
22
|
-
register(:as => 'date_pair', :klass => 'CustomFieldDatePair', :type => 'date')
|
23
|
-
|
24
8
|
# For rendering paired values
|
25
9
|
# Handle case where both pairs are blank
|
26
10
|
#------------------------------------------------------------------------------
|
@@ -38,11 +22,11 @@ class CustomFieldDatePair < CustomFieldPair
|
|
38
22
|
""
|
39
23
|
end
|
40
24
|
end
|
41
|
-
|
25
|
+
|
42
26
|
def render(value)
|
43
27
|
value && value.strftime(I18n.t("date.formats.mmddyy"))
|
44
28
|
end
|
45
|
-
|
29
|
+
|
46
30
|
def custom_validator(obj)
|
47
31
|
super
|
48
32
|
# validate when we get to 2nd of the pair
|
@@ -55,4 +39,5 @@ class CustomFieldDatePair < CustomFieldPair
|
|
55
39
|
end
|
56
40
|
end
|
57
41
|
|
42
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_date_pair, self)
|
58
43
|
end
|
@@ -1,28 +1,14 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class CustomFieldDatetimePair < CustomFieldDatePair
|
19
7
|
|
20
|
-
# Register this CustomField with the application
|
21
|
-
#------------------------------------------------------------------------------
|
22
|
-
register(:as => 'datetime_pair', :klass => 'CustomFieldDatetimePair', :type => 'timestamp')
|
23
|
-
|
24
8
|
def render(value)
|
25
9
|
value && value.strftime(I18n.t("time.formats.mmddhhss"))
|
26
10
|
end
|
27
11
|
|
12
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_datetime_pair, self)
|
13
|
+
|
28
14
|
end
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class CustomFieldPair < CustomField
|
19
7
|
|
20
8
|
has_one :pair, :class_name => CustomFieldPair, :foreign_key => 'pair_id', :dependent => :destroy # points to 'end'
|
@@ -31,7 +19,7 @@ class CustomFieldPair < CustomField
|
|
31
19
|
field2 = klass.create( base_params.merge(pair['1']).merge('pair_id' => field1.id, 'required' => field1.required, 'disabled' => field1.disabled) )
|
32
20
|
[field1, field2]
|
33
21
|
end
|
34
|
-
|
22
|
+
|
35
23
|
# Helper to update a pair. Used in fields_controller
|
36
24
|
#------------------------------------------------------------------------------
|
37
25
|
def self.update_pair(params)
|
@@ -51,4 +39,6 @@ class CustomFieldPair < CustomField
|
|
51
39
|
pair || CustomFieldPair.where(:pair_id => id).first
|
52
40
|
end
|
53
41
|
|
42
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_custom_field_pair, self)
|
43
|
+
|
54
44
|
end
|
data/app/models/fields/field.rb
CHANGED
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
# == Schema Information
|
19
7
|
#
|
20
8
|
# Table name: fields
|
@@ -44,7 +32,7 @@ class Field < ActiveRecord::Base
|
|
44
32
|
serialize :settings, HashWithIndifferentAccess
|
45
33
|
|
46
34
|
belongs_to :field_group
|
47
|
-
|
35
|
+
|
48
36
|
scope :core_fields, where(:type => 'CoreField')
|
49
37
|
scope :custom_fields, where("type != 'CoreField'")
|
50
38
|
scope :without_pairs, where(:pair_id => nil)
|
@@ -103,7 +91,7 @@ class Field < ActiveRecord::Base
|
|
103
91
|
when 'date'
|
104
92
|
value && value.strftime(I18n.t("date.formats.mmddyy"))
|
105
93
|
when 'datetime'
|
106
|
-
value && value.strftime(I18n.t("time.formats.mmddyyyy_hhmm"))
|
94
|
+
value && value.in_time_zone.strftime(I18n.t("time.formats.mmddyyyy_hhmm"))
|
107
95
|
when 'check_boxes'
|
108
96
|
value.select(&:present?).in_groups_of(2, false).map {|g| g.join(', ')}.join("<br />".html_safe) if Array === value
|
109
97
|
else
|
@@ -138,4 +126,5 @@ class Field < ActiveRecord::Base
|
|
138
126
|
|
139
127
|
end
|
140
128
|
|
129
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_field, self)
|
141
130
|
end
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
# == Schema Information
|
19
7
|
#
|
20
8
|
# Table name: field_groups
|
@@ -56,17 +44,19 @@ class FieldGroup < ActiveRecord::Base
|
|
56
44
|
def label_i18n
|
57
45
|
I18n.t(name, :default => label)
|
58
46
|
end
|
59
|
-
|
47
|
+
|
60
48
|
private
|
61
49
|
# Can't delete default field group
|
62
50
|
def not_default_field_group
|
63
51
|
name != "custom_fields"
|
64
52
|
end
|
65
|
-
|
53
|
+
|
66
54
|
# When deleted, transfer fields to default field group
|
67
55
|
def move_fields_to_default_field_group
|
68
56
|
default_group = FieldGroup.find_by_name_and_klass_name("custom_fields", klass_name)
|
69
57
|
default_group.fields << fields
|
70
58
|
self.reload
|
71
59
|
end
|
60
|
+
|
61
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_field_group, self)
|
72
62
|
end
|
data/app/models/list.rb
CHANGED
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class List < ActiveRecord::Base
|
19
7
|
validates_presence_of :name
|
20
8
|
|
@@ -22,4 +10,5 @@ class List < ActiveRecord::Base
|
|
22
10
|
def controller
|
23
11
|
(url || "").sub(/^\//,'').split(/\/|\?/).first
|
24
12
|
end
|
13
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_list, self)
|
25
14
|
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
|
class EntityObserver < ActiveRecord::Observer
|
2
7
|
observe :account, :contact, :lead, :opportunity
|
3
8
|
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class LeadObserver < ActiveRecord::Observer
|
19
7
|
observe :lead
|
20
8
|
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class OpportunityObserver < ActiveRecord::Observer
|
19
7
|
observe :opportunity
|
20
8
|
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
class TaskObserver < ActiveRecord::Observer
|
19
7
|
observe :task
|
20
8
|
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
# == Schema Information
|
19
7
|
#
|
20
8
|
# Table name: addresses
|
@@ -66,5 +54,6 @@ class Address < ActiveRecord::Base
|
|
66
54
|
attributes.merge!({:_destroy => 1}) if exists and empty
|
67
55
|
return (!exists and empty)
|
68
56
|
end
|
69
|
-
|
57
|
+
|
58
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_address, self)
|
70
59
|
end
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
# == Schema Information
|
19
7
|
#
|
20
8
|
# Table name: avatars
|
@@ -55,11 +43,12 @@ class Avatar < ActiveRecord::Base
|
|
55
43
|
#----------------------------------------------------------------------------
|
56
44
|
def self.size_from_style!(options)
|
57
45
|
if options[:width] && options[:height]
|
58
|
-
options[:size] = [:width, :height].map{|d| options[d]}.join("x")
|
46
|
+
options[:size] = [:width, :height].map{|d| options[d]}.join("x")
|
59
47
|
elsif Avatar::STYLES.keys.include?(options[:size])
|
60
48
|
options[:size] = Avatar::STYLES[options[:size]].sub(/\#$/,'')
|
61
49
|
end
|
62
50
|
options
|
63
51
|
end
|
64
52
|
|
53
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_avatar, self)
|
65
54
|
end
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
# == Schema Information
|
19
7
|
#
|
20
8
|
# Table name: comments
|
@@ -77,4 +65,6 @@ class Comment < ActiveRecord::Base
|
|
77
65
|
end
|
78
66
|
end
|
79
67
|
end
|
68
|
+
|
69
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_comment, self)
|
80
70
|
end
|
@@ -1,20 +1,8 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (C) 2008-2011 by Michael Dvorkin
|
1
|
+
# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU Affero General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Affero General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
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
|
16
5
|
#------------------------------------------------------------------------------
|
17
|
-
|
18
6
|
# == Schema Information
|
19
7
|
#
|
20
8
|
# Table name: emails
|
@@ -59,4 +47,6 @@ class Email < ActiveRecord::Base
|
|
59
47
|
end
|
60
48
|
end
|
61
49
|
alias_method_chain :body, :textile
|
50
|
+
|
51
|
+
ActiveSupport.run_load_hooks(:fat_free_crm_email, self)
|
62
52
|
end
|