Fat Free CRM v0.11.1 Release Notes

Release Date: 2012-03-30 // about 12 years ago
    • βž• Added Travis continuous integration service
    • πŸš… Rails 3 compatibility
    • βž• Added a few view hooks
    • ⬇️ Dropbox now understands alt_email
    • ⚑️ Updated translation file format
    • Export includes full_name where applicable
    • πŸ›  CSS bug fixes
    • 🌐 Swedish & Italian translations
    • Controllers respond to JSON requests
    • Several hundred other commits...

    Tue, Sep 7, 2010

    • βž• Added Gemfile and Gemfile.lock.
    • πŸ”Œ Installed plugins.
    • πŸ”€ Merged with crossroads/rails3 fork; (runs 'rake crm:setup').

    Mon, Sep 6, 2010

    • πŸš… Generated empty Rails3 project.

    Tue, Aug 31, 2010

    • πŸš€ Release 0.10.1.
    • ⚑️ Updated CHANGELOG and CONTRIBUTORS files.

    Sun, Aug 29, 2010

    • βž• Added clickable labels to tasks sidebar checkboxes.

    Thu, Aug 26, 2010

    • βž• Added missing Polish translations (thanks, Kamil!)

    Fri, Aug 20, 2010

    • πŸ›  Fixed deprecation warnings about plugins/**/tasks (thanks, Nathan!)
    • πŸ›  Fixed Rails Engines deprecation warnings (thanks, Nathan!)
    • πŸ”Œ [rake crm:setup] command now also runs plugin migrations (thanks, Nathan!)

    Thu, Aug 19, 2010

    • Checkboxes now have clickable labels (thanks, Steve!)
    • πŸ–¨ Load 'awesome_print' gem (if available) in development mode (thanks, Nathan!)

    Wed, Aug 18, 2010

    • βž• Added 'javascript_includes' hook (thanks, Nathan!)

    Tue, Aug 17, 2010

    • Properly set the account value when attaching a contact to the account (closed LH #165)
    • πŸ›  Fixed failing dropbox specs by rescuing proper exception (Rails 2.3.8).
    • βž• Added PrependEngineViews library module to let Fat Free CRM plugins override default views.

    Mon, Aug 16, 2010

    • πŸ’» Minor UI tweaks.

    Sat, Aug 14, 2010

    • βž• Added view hooks after top section (thanks, Ben!)
    • πŸ›  Fixed default access for objects created by dropbox (thanks, Steve!)

    Fri, Aug 13, 2010

    • Stopped emails being associated with Campaigns that don't exist (thanks, Steve!)
    • πŸ›  Fixed plugins tab initialization when the 'settings' table had not been created yet (thanks, Nathan!)

    Thu, Aug 12, 2010

    • πŸ›  Fixed activerecord deprecation warnings (thanks, Nathan!)
    • πŸ›  Fixed factory generator for email (thanks, Nathan!)

    Tue, Aug 10, 2010

    • βž• Added rules to .gitignore to ignore any plugins starting with crm_* (thanks, Nathan!)

    Mon, Aug 9, 2010

    • Display absolute dates in addition to relative ones (thanks, Peter!)
    • βž• Add absolute dates and fix relative dates for campaigns (thanks, Peter!)

    Sat, Aug 7, 2010

    • πŸ‘‰ Make sure Task selection popup doesn't affect Quick Find.
    • Close asset selection popup on .
    • πŸ”¨ Finished refactoring to move #attach logic from application controller to models.

    Fri, Aug 6, 2010

    • 🌐 Germal translation fixes (thanks, Ralf!)
    • βœ‚ Removed Rails deprecation warnings (thanks, Ralf!)

    Thu, Aug 5, 2010

    • 0️⃣ Fat Free CRM by default requires Rails 2.3.8.
    • Bundled will_paginate and faker as vendor/gems.

    Wed, Aug 4, 2010

    • Made dropbox email address comparision was case-insensitve (thanks, Ralf!)
    • Removed duplicate association Opportunity#account (was: has_one + belongs_to) (thanks, Ralf!)
    • ⬆️ Multiple fixes for Rails 2.3.8 upgrade (thanks, Ralf!)

    Tue, Aug 3, 2010

    • Don't auto-complete user create/edit forms (thanks, Alexander!)
    • 🌐 Multiple fixes in Germal translation (thanks, Ralf!)

    Fri, Jul 30, 2010

    • If a contact has no name, fill in the account name instead (thanks, Peter!)

    Wed, Jul 28, 2010

    • 0️⃣ Sort contacts by last name by default (thanks, Peter!)

    Tue, Jul 27, 2010

    • πŸ›  Fixed named scope condition syntax in the Opportunity model (thanks, Elad!)
    • πŸ”¨ Refactored to move #attach logic from application controller to models.

    Mon, Jul 12, 2010

    • πŸ”¨ Refactored to move #discard logic from application controller to models.

    Thu, Jul 7, 2010

    • βž• Added controller#attach specs.
    • βž• Added more comprehensive controller#discard specs.

    Wed, Jul 7, 2010

    • πŸ‘ Allow searching by email for Accounts, Contacts, and Leads.
    • βž• Added #discard controller specs.

    Sun, Jul 4, 2010

    • πŸ‘ Allow explicit controller name when refreshing sidebar.
    • πŸ– Handle #discard requests the same way #attach are handled (i.e. in parent object controller).

    Fri, Jul 2, 2010

    • 🚚 Moved common #attach handler to application controller.
    • Strike through completed tasks in the auto_complete list.
    • Implemented #discard for tasks.
    • Implemented selecting and attaching tasks.
    • πŸ‘ Allow auto_complete for tasks.
    • Implemented #attach for Opportunities and #attach/#discard for Contacts.
    • βž• Added #attach routes to handle requests to attach existing assets to related item.

    Mon, Jun 12, 2010

    • 0️⃣ Use default permissions when creating an account from within a contact (thanks, Matthiew!)
    • βœ‚ Removed 'Custom' opportunity stage and replaced it with comment in config/settings.yml.
    • Named scope fix for Postgres/Heroku (closes LH #213).

    Wed, Jun 7, 2010

    • ⚑️ pt-BR updates (thanks, Enderson!)

    Thu, Jun 17, 2010

    • Don't count lost opportunities towards Account total (closes LH #205).
    • πŸ›  Fixed vertical offset of asset selection popup.
    • Made multiple selection popups coexist on a single page.

    Fri, Jun 11, 2010

    • πŸ›  Fixed issue with linking to edit/delete for models with multipart names (thanks, Nicholas!)

    Tue, Jun 8, 2010

    • Added load_select_popups_for() helper on asset landing pages.
    • πŸ”¨ Refactored to add sections with [Create/Select...] on landing pages.

    Fri, Jun 4, 2010

    • πŸŽ‰ Initial prototype of seleting related asset from the asset's landing page.
    • βž• Added discard action related specs.

    Fri, May 28, 2010

    • Do not offer :converted status choice when creating new lead (closes LH #199).

    Thu, May 27, 2010

    • βž• Added simplified Chinese translation (thanks, James Zhang!)
    • πŸŽ‰ Initial implementation of discarding attached opportunity.

    Tue, May 25, 2010

    • πŸ”€ Final dropbox touches before merging it all to the master branch.
    • Avoid collision with .email CSS class which is used to display Task category strip.
    • ⬇️ Dropbox related localizations.

    Mon, May 24, 2010

    • More work on the dropbox library.

    Mon, May 10, 2010

    • πŸ‘ Allow to detach an account when editing a contact or an opportunity (closes LH #184).

    Wed, May 5, 2010

    • βž• Added migration to have index on permissions (thanks, Yura!)
    • Added link_to_email to Bcc: to dropbox if it has been set up (closes LH #183).

    Mon, May 3, 2010

    • πŸš… Pushed [rails3] branch to Github, let the porting start :-)

    Thu, Apr 29, 2010

    • Replaced Facebox with Modalbox (closes LH #170).

    Tue, Mar 9, 2010

    • Check if new [background_info] setting is properly loaded.
    • πŸ”€ Merged in dropdown calendar localization patches (thanks, Yura!)
    • ⚑️ Updated list of contributors.
    • πŸ”– Version 0.9.10

    Fri, Feb 26, 2010

    • ⏱ More work on to support scheduling tasks with specific time deadline.

    Thu, Feb 25, 2010

    • πŸ”¨ Refactored compound address code to support field hints.
    • βž• Added French locale (thanks, CΓ©dric!)

    Wed, Feb 24, 2010

    • βž• Added new hook hook in user profile template (thanks, Jose Luis!)

    Sun, Feb 21, 2010

    • βž• Added :background_info option to Settings making it optional
    • πŸ”¨ Refactored background info in forms and sidebar views
    • πŸ›  Fixed fixtures and factories for the new Address model

    Fri, Feb 19, 2010

    • βž• Added support for creating tasks with specific time deadline (thanks, Yura!)

    Wed, Feb 17, 2010

    • βž• Added support for compound addresses (thanks, Jose Luis!)
    • πŸ›  Fixed for :quote_ident issue with Postgres (thanks, Matt!)
    • βž• Added missing translations to the rest of locale files.

    Tue, Feb 16, 2010

    • βž• Added localization support for dropdown calendar (thanks, Yura!)

    Wed, Feb 10, 2010

    • βž• Added background info field to all major models (thanks, Jose Luis!)
    • βž• Added hook to sidebar index template (thanks, Jose Luis!)

    Tue, Feb 9, 2010

    • πŸ”§ Default permissions are now configurable in settings.yml (thanks, Jose Luis!)
    • More localization tweaks for date formats and tasks (thanks, Kamil and Yura!)
    • πŸ”¨ Minor refactoring.

    Sun, Feb 7, 2010

    • ⚑️ Updated Russian locale files (thanks, Roman!)
    • ⚑️ Updated task editing to support localization (thanks, Yura!)
    • βž• Added email attribute to Accounts -- run rake db:migrate (thanks, Jose Luis!)
    • ⚑️ Updated README to mention http://demo.fatfreecrm.com

    Thu, Feb 4, 2010

    • πŸ›  Fixed few i18n omissions in locale files.
    • βž• Added support for editing and deleting notes (thanks, Jose Luis!)

    Tue, Feb 2, 2010

    • βž• Added Polish translation (thanks, Kamil!)

    Wed, Jan 27, 2010

    • πŸ›  Fixed task time zone specs (thanks, Tom!)

    Mon, Jan 25, 2010

    • πŸš€ Small tweak to better support Heroku deployments (thanks, Ryan!)

    Tue, Jan 19, 2010

    • ⚑️ Updated Russian translation (thanks, Roman!)

    Tue, Jan 12, 2010

    • Pulled remaining English strings out of JavaScript (thanks, Gavin!)
    • βž• Added missing message to locale files.

    Mon, Jan 11, 2010

    • βž• Added Spanish translation (thanks, Beatriz!)
    • πŸ›  Fixed text encoding issues with Ruby 1.9/MySQL and HAML (thanks, Gavin!)

    Wed, Jan 7, 2010

    • πŸ‘‰ Added :per_user_locale setting (default is false).
    • βž• Added some CSS eye candy (drop shadows and options links).
    • πŸ”– Version 0.9.9b

    Wed, Jan 6, 2010

    • ⚑️ Updated Thai and Portuguese language translations.

    Mon, Jan 4, 2010

    • Implemented REST API for fetching asset notes (thanks, Adrian!)

    Sun, Jan 3, 2010

    • Return stringified hook data when called from within templates, and the actual data otherwise.

    Thu, Dec 31, 2009

    • πŸ”– Version 0.9.9a -- Happy New Year!
    • βž• Added [rake crm:settings:show] task.
    • πŸ›  Minor fixes.

    Wed, Dec 30, 2009

    • πŸ’Ž More Ruby 1.9 compatibility fixes: all specs pass.

    Tue, Dec 29, 2009

    • πŸ›  Fixed Ruby 1.9 compatibility issues with I18n.t (thanks, Gavin!)
    • πŸ›  Fixed rendering of callback hooks to be compatible with Ruby 1.9.
    • πŸ›  Fixed password reset submission form (thanks, Roman!)

    Mon, Dec 28, 2009

    • XSS cleanup across views and models (thanks, Louis!)
    • πŸ”¨ Refactoring permissions templates (thanks, Rit!)
    • ⚑️ Updated README file.
    • πŸ”– Version 0.9.9 (yay!)

    Sat, Dec 19, 2009

    • πŸ›  Fixed deprecation warning when adding a new comment.
    • πŸ›  Fixed Apache/Passenger issue of not being able to load tab settings.
    • πŸ”€ Merged in I18n branch: Fat Free CRM could be easily localized now by dropping in config/locales file.
    • βž• Added exception handling and custom 500 status code template.

    Mon, Dec 14, 2009

    • πŸ‘‰ Make sure no activity records are left behind when model record gets deleted from the database.

    Sun, Dec 13, 2009

    • πŸ›  Fixed broken sidebar search in Admin/Users.
    • πŸ”¨ Refactored sidebar rendering to explicitly check if template file exists.

    Sat, Dec 12, 2009

    • Upgraded [simple_column_search] plugin that adds search support for Postgres.
    • More I18n tweaks in views.
    • Metallica show at HP Pavilion in San Jose!

    Sun, Nov 29, 2009

    • βž• Added optional PLUGIN=plugin parameter to "rake crm:settings:load" task.
    • πŸ”€ Sorted locale keys, synced up English, Portuguese, and Russian locale files.

    Tue, Nov 24, 2009

    • πŸ†“ Happy birthday, Fat Free CRM is one year old!

    Wed, Nov 18, 2009

    • βž• Added Thai language translation (thanks, Apirak!)

    Mon, Nov 16, 2009

    • πŸ’… Streamlined CSS styles to fix text wrapping.
    • βž• Added explicit CSS value to fix tabs height (thanks, Apirak!)
    • πŸ›  Fixed time calculations for dashboard activities.

    Thu, Nov 12, 2009

    • Restructured settings to take advantage of locale.
    • NOTE: re-run crm:settings:load

    Wed, Nov 11, 2009

    • 🚚 Moved hardcoded setting values from config/settings.yml to locale.

    Mon, Nov 9, 2009

    • πŸ”€ Merged with lanadv/i18n branch (thanks, Lana!)

    Fri, Nov 6, 2009

    • Adjust total campaign revenue when related opportunity is won (LH #121).
    • ⚑️ Refresh campaign sidebar when updating related opportunity (LH #121).
    • Refresh campaign sidebar when rejecting or converting related lead (LH #121).
    • Display newly created opportunity when converting lead from campaign page (LH #121).

    Thu, Nov 5, 2009

    • Writing specs for LH #121.

    Wed, Nov 4, 2009

    • Correctly set opportunity campaign and source when converting a lead (LH #119).
    • πŸ‘‰ Show correct campaign name and source when adding a lead from campaign landing page.
    • ⚑️ Update lead counters when reassigning leads between campaigns (LH #117).

    Sun, Nov 1, 2009

    • Implemented I18n for options across all models.

    Sat, Oct 31, 2009

    • Correctly show opportunity summary when opportunity stage hasn't been specified.
    • ⚑️ Update Campaign summary when creating or deleting related lead or opportunity.
    • πŸ›  Fixed "rake crm:setup" task to be compatible with ruby 1.9.

    Fri, Oct 30, 2009

    • Introduced Sortable module, more work on I18n.

    Sat, Oct 24, 2009

    • πŸ‘ Allow renaming both main and admin tabs (see config/settings.yml).
    • πŸ”¨ Refactored gravatars to always show default image if gravatar is missing.
    • πŸ›  Fixed Facebox usage within Admin area.
    • πŸš€ Release 0.9.8a.

    Thu, Oct 22, 2009

    • πŸ›  Fixed SASS deprecation warnings making it compatible with Heroku again (thanks, Jim!).
    • πŸ”¨ Refactored Facebox library (again!) to take into account [base_url] setting.

    Wed, Oct 21, 2009

    • πŸ†“ Include modules from "lib/fat_free_crm.rb" so that they're loaded when running rake.

    Tue, Oct 20, 2009

    • βž• Added Language option stubs to user's profile.
    • Disabled tab highlighting when showing user's profile.
    • πŸš… Include all Fat Free CRM modules from Rails initializer.
    • βž• Added FatFreeCRM::I18n module.

    Sun, Oct 18, 2009

    • πŸ”€ Merged localization commits onto i18n branch (thanks, Lana!)

    Wed, Oct 14, 2009

    • πŸ‘‰ Make sure opportunity name does not exceed 64 characters (thanks, Rit!)
    • πŸ”„ Changed required Rails version to v2.3.4
    • ⚑️ Updated model annotations for schema version #023.
    • πŸš€ Release 0.9.8.

    Sun, Oct 11, 2009

    • βž• Added full support for deploying Fat Free CRM in subdirectory (see config/settings.yml).
    • πŸš€ Made Facebox library work with the project is deployed in subdirectory.

    Sat, Oct 10, 2009

    • Happy birthday, Diana!
    • βœ… Setting up Apache with the latest Passenger.

    Fri, Oct 9, 2009

    • Prevent multiple form submissions by pressing [Submit] button twice.
    • πŸ›  Fixed apparent MySQL migration error on Windows/XP.

    Wed, Oct 7, 2009

    • πŸ‘‰ Moved [uses_user_permission] code from plugin to core library.
    • βž• Added inspector logging.

    Mon, Oct 5, 2009

    • βž• Added [rake crm:hooks] task that enumerates the hooks (thanks, Eric!)

    Sat, Oct 3, 2009

    • Removed [uses_mysql_uuid] plugin and deprecated support for UUIDs.

    Tue, Sep 29, 2009

    • Adjusted activity timestamp to reflect UTC offset (thanks, Andrew!)
    • πŸ‘ Allow creating opportunities with non-unique name.
    • βž• Added :auto_complete controller hook.

    Sun, Sep 27, 2009

    • βž• Added sidebar hooks on asset landing pages.
    • πŸ‘ crm_tags: added support for showing tags on asset landing pages.

    Sat, Sep 26, 2009

    • βž• Added hooks for inline CSS styles and JavaScript epilogue.
    • πŸ’… crm_tags: added JavaScript and CSS stylesheets for tags.
    • crm_tags: make sure tags stay unique when searching.

    Thu, Sep 24, 2009

    • crm_tags: Made controller methods work with query string that contains tags.

    Tue, Sep 22, 2009

    • πŸ›  crm_tags: Proof of concept of combining query string with hash-prefixed tags.

    Mon, Sep 21, 2009

    • βž• Added hooks to model view partials.

    Mon, Sep 21, 2009

    • βž• Added hooks to model view partials.

    Sun, Sep 20, 2009

    • πŸ”Œ More work on [crm_tags] plugin.

    Fri, Sep 18, 2009

    • πŸ”€ Merged String#to_url (thanks, Rit!)

    Thu, Sep 17, 2009

    • πŸ›  Fixed task completion bug for tasks with specific due date (thanks, Andrew!)
    • βž• Added more task model specs.

    Mon, Sep 14, 2009

    • πŸ”€ Merged in Andrew's patch that solves disappearing tasks puzzle (thanks, Andrew!)
    • Created task model specs that prove Andrew's theory.

    Sun, Sep 13, 2009

    • βž• Added [get_*] controller hooks.
    • πŸ”¨ Refactored FatFreeCRM::Callback.hook to simplify and support hook chains.
    • πŸ”Œ Implemented controller hooks in [crm_tags] plugin.

    Sat, Sep 12, 2009

    • Added [*_top_section_bottom] view hooks.
    • πŸ”Œ Make Rails not to reload core classes when developing a plugin.

    Thu, Sep 10, 2009

    • πŸ”Œ More work on [crm_tags] plugin and its view hooks.

    Wed, Sep 9, 2009

    • Injecting [acts_as_taggable_on] to existing models.

    Mon, Sep 7, 2009

    • πŸ”Œ Started with [crm_tags] plugin.

    Sun, Sep 6, 2009

    • πŸš€ Release 0.9.7.
    • Open up [Quick find] on click rather than on mouseover.
    • βž• Added bounce effect to the login screen (fun!).
    • βž• Added CONTRIBUTORS file.

    Sat, Sep 5, 2009

    • βž• Added overlay to the facebox library.
    • ⬆️ Upgraded Rails Engines plugin (edge 2009-06-16).
    • πŸš… Boot Rails Engines right after Rails boots itself up.

    Thu, Sep 3, 2009

    • πŸ‘‰ Make sure [rake crm:setup:admin] can actually assign admin attribute (thanks Rit!)
    • Correctly assign and revoke admin rights in Admin/Users (thanks Rit!)
    • πŸ”¨ Refactored Tabs code to avoid duplication.

    Tue, Sep 1, 2009

    • πŸ›  Fixed user signup vulnerability (thanks, Rit!)
    • Suppress terminal echo when asking for admin password in [rake crm:setup:admin] task.

    Sun, Aug 30, 2009

    • Get flip_subtitle working in IE8 (thanks, Hamish!)
    • Make sure simple_column_search does not escape period and single quote (thanks, Rit!)
    • Don't suspend Admin users (thanks, Rit!)
    • Moved [crm_sample_tabs] plugin into separate repository.
    • πŸ”€ Merged plugin tab support into the master branch.

    Sat, Aug 29, 2009

    • Some refactoring and more comments explaining the examples in [crm_sample_plugin].

    Thu, Aug 27, 2009

    • πŸ‘‰ Make sure we can run Rake tasks when Settings are missing.
    • Reload User class in [rake crm:setup] task to make sure migration attributes are set.
    • πŸ‘‰ Make sure the user has been authenticated before checking whether she is awaiting approval.

    Wed, Aug 26, 2009

    • πŸ”Œ Implemented #tab method for plugin registration.

    Tue, Aug 25, 2009

    • Added [crm_sample_tabs] plugin with the tab registration prototype.

    Mon, Aug 24, 2009

    • Implemented user approvals in Admin/Users and closed LH #29.
    • πŸš€ Release 0.9.6.

    Sat, Aug 22, 2009

    • Implemented :needs_approval setting for user signups.

    Fri, Aug 21, 2009

    • βž• Added new :user_signup setting (see config/settings.yml).
    • User signups are only allowed if :user_signup is set to :allowed or :needs_approval.

    Thu, Aug 20, 2009

    • βž• Added support for unattended [rake crm:setup] and [rake crm:setup:admin] tasks.
    • Warn about database reset in [rake crm:setup] task.
    • βœ‚ Removed dependency on Highline gem and removed it from vendors/gems.
    • βž• Added [:user_signup] setting and started with the signup permissions.

    Wed, Aug 19, 2009

    • βž• Added view hooks on landing pages of all major models.

    Tue, Aug 18, 2009

    • πŸ”Œ More work on [crm_issues] plugin.

    Mon, Aug 17, 2009

    • πŸ”Œ Work on [crm_issues] plugin.

    Sat, Aug 15, 2009

    • πŸ”Œ Implemented plugin dependencies to be able to change plugin loading order.
    • Pass on [lead.id] when converting it into a contact (LH #86).
    • Corrected format of opportunity closing date (GH #7).

    Fri, Aug 14, 2009

    • πŸ†“ Reviewed pccl fork and [fat_free_issues] plugin.

    Thu, Aug 13, 2009

    • βž• Added user search and pagination to Admin/Users.

    Wed, Aug 12, 2009

    • βž• Adding search and pagination to Admin/Users.

    Tue, Aug 11, 2009

    • Installed [Highline] gem in vendor/gems for [rake crm:setup:admin] task.
    • Implemented [rake crm:setup:admin] task to create admin user.

    Sat, Aug 8, 2009

    • βž• Added :before_destroy filters for User model.
    • Implemented deleting users in Admin interface.
    • πŸ”¨ Refactored flash messages to set notice/warning class on the fly.

    Wed, Aug 5, 2009

    • βž• Added confirmation when deleting an user (Admin/Users/Delete).

    Tue, Aug 4, 2009

    • Upgraded [acts_as_commentable] plugin for Ruby 1.9 compatibility.
    • ⚑️ Updated tab settings to allow Fat Free CRM to run from a subdirectory (thanks, okyada!).
    • ⚑️ Updated [rake crm:settings:load] task to ensure Rails 2.3.3 compatibility.
    • Implemented Admin > [Edit User] form.

    Mon, Aug 3, 2009

    • Implemented Admin > [Create User] form.
    • Include all application helpers except the ones in /admin/helpers subdirectory (GH #5).
    • 🍱 Make sure editing assets doesn't change asset owner (LH #79).
    • Implemented [Suspend] and [Reactivate] when managing users.
    • 🌲 Prevent suspended user from logging in.

    Sun, Aug 2, 2009

    • ⚑️ Updated authentication to allow creating users with blank passwords.

    Sat, Aug 1, 2009

    • More work on Admin/Users: added list of users and [Create User] form.

    Fri, Jul 31, 2009

    • βž• Added [suspended_at] to User model, fixed typo (LH #81).

    Thu, Jul 30, 2009

    • πŸ›  Fixed ActionMailer password reset issue (thanks, James!).
    • πŸ‘‰ Use truncate() instead of shorten() for multibyte chars (thanks, Dima!).
    • Increased the size of the textarea when adding notes (LH #80).

    Wed, Jul 29, 2009

    • πŸ— More work on building the Admin infrastructure.

    Tue, Jul 28, 2009

    • πŸ— Building Admin infrastructure.

    Mon, Jul 27, 2009

    • ⬇️ Dropped open_id related tables, added [admin] flag to [users] table.

    Sun, Jul 26, 2009

    • βž• Added timezone support.

    Fri, Jul 24, 2009

    • πŸ›  Fixed a typo that affected individual permissions (thanks, Guillermo!)
    • πŸ”¨ Refactored password reset controller and related views.
    • 🌐 Merged in Spanish translation from chillicoder/master (thanks, Martin!).
    • πŸš€ Release 0.9.5.

    Thu, Jul 23, 2009

    • πŸ‘ Made UUID support optional (affects MySQL v5+ users only).
    • βœ‚ Removed task-specific flash area; changed to use generic flash messages instead.
    • Store current user in the class to make it easier to access it from observers.
    • βœ‚ Removed password length restriction to allow blank passwords.

    Tue, Jul 21, 2009

    • ⬆️ Upgraded HAML/SASS to version 2.2.2 (Powerful Penny) and made it a plugin.
    • πŸ’Ž Ruby 1.9.1 compatibility fixes.

    Mon, Jul 20, 2009

    • Happy birthday, Lana!
    • Annotated models for schema version #19.
    • Implemented Profile > Change Password.
    • βž• Added ability to show flash notices from RJS templates.
    • Removed [open_id_authentication] plugin since it's no longer needed.
    • First gathering at #fatfreecrm channel on irc.freenode.net (thanks, Eric!)

    Sun, Jul 19, 2009

    • ⬆️ Completed upgrade to Authlogic 2.1.2
    • βœ‚ Removed support for OpenID authentication

    Sat, Jul 18, 2009

    • ⬆️ Upgrading to Authlogic 2.1.2

    Wed, Jul 15, 2009

    • 🚚 Moved avatars in separate directories based on who the avatar belongs to.
    • 0️⃣ Implemented avatar_for() to encapsulate uploaded image, gravatar, and default icon.
    • πŸ›  Fixed Paperclip bug when :url option is a lambda and not a string.
    • πŸš€ Release 0.9.4.

    Mon, Jul 13, 2009

    • Finished with user avatar upload, including controller and view specs.

    Sun, Jul 12, 2009

    • Back home from Pismo Beach.

    Thu, Jul 9, 2009

    • On my way to Pismo Beach, CA.

    Tue, Jul 7, 2009

    • More tweaks for Profile > Upload Avatar form.

    Mon, Jul 6, 2009

    • Replaced [mini_magick/has_image] combo with [paperclip] plugin.
    • πŸ”Œ Installed [responds-to-parent-plugin].
    • βž• Added [Avatar] model.
    • Implemented Ajax avatar uploads through hidden frame.

    Sun, Jul 5, 2009

    • Installed [mini_magick] gem and [has_image] plugin.

    Sat, Jul 4, 2009

    • ⚑️ Finished [Edit Profile] form which now updates all other page elements.
    • πŸ‘‰ Use root route instead of home (thanks, Dr.Nic!)

    Fri, Jul 3, 2009

    • βž• Added user controller and view specs.
    • ⚑️ Converted [Edit Profile] form to Ajax, implemented update.

    Wed, Jul 1, 2009

    • βž• Added copyright notices (thanks, Michael!).
    • βž• Added routes and Ajax form stubs for [Edit Profile], [Upload Avatar], and [Change Password].

    Tue, Jun 30, 2009

    • More work on user profile.
    • Applied patches to fix an issue with comments and their formatting (thanks, Eric!).

    Sun, Jun 28, 2009

    • Another iteration on User Profiles; all users now have personal profile page.
    • πŸ›  Fixed form validation issue on asset landing pages (closes GH #3).
    • πŸ”¨ Refactored form validation specs.
    • πŸš€ Release 0.9.3.

    Sat, Jun 27, 2009

    Combined [Preferences] and [Profile] into single [Preferences] menu item.

    Thu, Jun 25, 2008

    • Hide [Create...] form before showing [Edit...] to make sure initial focus gets set properly.
    • πŸ’Ž Rewrote config/settings.yml to use more familiar Ruby-like syntax.

    Mon, Jun 22, 2009

    Sat, Jun 20, 2009

    • 🍱 Assets now show all related tasks, even if they were not created or assigned by current user.
    • πŸš€ Release 0.9.2.

    Fri, Jun 19, 2009

    • Revamping the way a list of tasks is shown on related asset page.
    • βž• Added [completed_by] field to Task model to be able to show who completed the task.

    Thu, Jun 18, 2009

    • πŸ›  Fixed task creation issue on landing pages; added missing task stylesheets.
    • Simplified version handling to avoid unnecessary database queries.
    • πŸ›  Fixed Rails 2.3 incompatibility (expand/collapse in forms and [Cancel] for notes).
    • πŸ”„ Changed defaults to more reasonable values (thanks, Lana!).

    Mon, Jun 15, 2009

    • ⚑️ Updated Readme file (added links to direct downloads and Google Groups).
    • Installed [facebox-for-prototype] JavaScript library.
    • Implemented About box showing version number and helpful links (rerun rake crm:setup!)

    Sat, Jun 13, 2009

    • ⬆️ Upgraded to work with Rails 2.3.2
    • ⬆️ Upgraded [rspec], [rspec-rails], and [open-id-authentication] plugins.
    • ⬆️ Upgraded [acts-as-paranoid] plugin.
    • πŸ›  Fixed task title naming issue.
    • πŸ›  Fixed opportunity unique index issue (SQLite).
    • 🏷 Tagged 0.9.0 to build downloadable distributions on Github.

    Thu, Jun 11, 2009

    • Finished user options for the Recent Activity (LH #46).
    • πŸ›  Fixed sporadic spec failures when running with SQLite.

    Wed, Jun 10, 2009

    • Implemented options for Opportunities and Contacts.
    • Started with the options for the Recent Activity.

    Tue, Jun 9, 2009

    • Implemented options for Accounts.

    Sun, Jun 6, 2009

    • Implemented options for Leads.
    • Happy birthday, Rema!

    Thu, Jun 4, 2009

    • Implemented :sort_by option for Campaigns.
    • Wrote specs and finished [Options] for Campaigns.

    Wed, Jun 3, 2009

    • Implemented :per_page, and :format user preferences for Campaigns.
    • Revisited user Preference model and wrote full spec coverage.
    • πŸ”¨ Refactored application.js to simplify remote form updates.
    • πŸ’… Updated stylesheets to support long and brief list formats.

    Tue, Jun 2, 2009

    • βž• Added [Options] form for Campaigns with all preferences stubbed.

    Mon, Jun 1, 2009

    • Happy birthday, Sophie!

    Sun, May 31, 2009

    • Work on adding [Options] inline form and related controller actions.

    Sat, May 30, 2009

    • πŸ’… Implemented crm.Menu class and added menu related CSS styles.

    Fri, May 29, 2009

    • πŸ›  Fixed opportunity assignment issue reported by Deepu (LH #49).
    • πŸ›  Fixed similar issue with the contact assignments.
    • πŸ›  Fixed account sidebar issue when shipping/billing addresses are missing.

    Thu, May 28, 2009

    • πŸ”§ Server installation and configuration at Linode.

    Wed, May 27, 2009

    • Refactored auto_complete to use before_filter.
    • βœ… Created shared behavior specs to test auto_complete.
    • Display a message when no quick find matches were found.
    • πŸ”Œ Uninstalled [auto_complete] plugin since we're not using it.
    • Signed up for Linode.com

    Tue, May 26, 2009

    • Happy birthday, Laura!

    Mon, May 25, 2009

    • Implemented jumpbox (called "Quick Find").

    Sun, May 24, 2009

    • More work on jumpbox.

    Sat, May 23, 2009

    • Restructured application's JavaScript and added crm.Popup class.
    • βž• Added "Jump to..." link that shows the jumpbox (see LH #45).

    Fri, May 22, 2009

    • Happy birthday, Dad!

    Thu, May 21, 2009

    • πŸ›  Fixed JavaScript and CSS caching issues in production environment.

    Wed, May 20, 2009

    • Gracefully handle use cases when previous or related asset is deleted or protected.
    • πŸ‘‰ Make sure commentable object exists and is accessible to current user.
    • Implemented specs for Comments controller.

    Tue, May 19, 2009

    • βž• Added missing and protected object handling for #convert, #promote, #reject (Leads).
    • βž• Added new [tracked_by] named scope for Tasks.
    • βž• Added missing and protected object handling for Tasks.
    • Refactored rescue clause to use respond_to_not_found().

    Mon, May 18, 2009

    • βž• Added missing and protected object handling for #update and #delete (all except Tasks).

    Sun, May 17, 2009

    • βž• Added missing object handling for #edit action (all core objects except Tasks).
    • If object permissions prevent access, treat the object as missing.
    • πŸš… Refacoring: use more idiomatic Rails named scope (User#except).

    Sat, May 16, 2009

    • βž• Added missing object handling for #show action (all core objects except Tasks).
    • βž• Added controller routing specs for new routes.

    Fri, May 15, 2009

    • Replaced explicit MySQL trigger creation with [add_uuid_trigger].

    Thu, May 14, 2009

    • Started with LH #34 (Gracefully handle missing objects).
    • Replaced regular flash messages with non-sticky ones.
    • ⚑️ Make sure search box gets shown after creating, updating, or deleting an account.

    Wed, May 13, 2009

    • Implemented search for campaigns, opportunities, accounts, and contacts.
    • Made it easier to reject leads (LH #35).
    • βž• Added sidebar summary for accounts.
    • βž• Added web presence links for leads and contacts.

    Tue, May 12, 2009

    • βž• Added company field to leads search.

    Mon, May 11, 2009

    • Implemented live search for leads that can be reused in other controllers.
    • πŸ›  Fixed demo data generation to produce random recently viewed items list.

    Sun, May 10, 2009

    • More work on simplifying search.

    Fri, May 8, 2009

    • Created initial implementation of live search (Leads only so far).

    Thu, May 7, 2009

    • Installed [simple_column_search] plugin.
    • πŸŽ‰ Initial implementation of live search for Leads.

    Wed, May 6, 2009

    • Implemented prototype search box for Leads with stubbed controller.

    Tue, May 5, 2009

    • Started with live search (LH #22).

    Mon, May 4, 2009

    • πŸ”¨ Last bit of paging refactoring before closing LH #18.

    Sun, May 3, 2009

    • Implemented Ajax pagination for Opportunities.
    • Simplified paging by using single proxy to store and retrieve current page.

    Sat, May 2, 2009

    • Implemented Ajax pagination for Contacts.

    Fri, May 1, 2009

    • Implemented Ajax pagination for Campaigns.

    Thu, Apr 30, 2009

    • Implemented Ajax pagination for Accounts.

    Wed, Apr 29, 2009

    • Implemented Ajax pagination for Leads.

    Tue, Apr 28, 2009

    • πŸ‘€ Started to explore alternative approach to pagination (see Leads).

    Mon, Apr 27, 2009

    • πŸŽ‰ Initial implementation of on demand paging (Accounts only so far).
    • πŸ›  Fixed SQLite incompatibilities (thanks, James!)
    • Restructured pagination templates and added specs.

    Sun, Apr 26, 2009

    • Researched on demand paginations, and [will_paginate].

    Sat, Apr 25, 2009

    • πŸ”Œ Installed [will_paginate] plugin.

    Fri, Apr 24, 2009

    • Happy birthday -- we're 5 month old ;-)
    • πŸ‘‰ Make sure tasks don't get onto recently viewed items list.
    • βž• Added "completed", "reassigned", and "rescheduled" activity logs for tasks (closes LH #17).

    Thu, Apr 23, 2009

    • 🍱 Filter activities based on asset permissions, even for deleted assets.
    • Pulled in first patches from fork (thanks, Scott!)

    Wed, Apr 22, 2009

    • 🍱 Filter activities based on asset permissions (existing assets only so far).

    Tue, Apr 21, 2009

    • 🌲 Honor object permissions when displaying activity log (LH #17).

    Mon, Apr 20, 2009

    • Finished with recently viewed items sidebar panel (LH #28).

    Sun, Apr 19, 2009

    • Refresh recently viewed items when creating, editing, or deleting core objects.

    Sat, Apr 18, 2009

    • Scraped the idea of demo factories -- fixtures are easier to use and maintain.
    • ⚑️ Updated demo fixtures and crm:demo:load task to simulate user activities and recently viewed items.
    • Implemented "commented on" user activity type.

    Fri, Apr 17, 2009

    • Back from LA and UCSB.

    Thu, Apr 16, 2009

    • More work on demo factories: loading users and accounts.

    Wed, Apr 15, 2009

    • ⚑️ Creating, updating, or deleting core assets also updates recently viewed items list.

    Tue, Apr 14, 2009

    • πŸ›  Fixed missing uuid generation caused by observing models.

    Mon, Apr 13, 2009

    • Harv Ecker is up in San Francisco tonight.

    Sun, Apr 12, 2009

    • πŸŽ‰ Initial implementation of recently visited items.

    Sat, Apr 11, 2009

    • Lovely IRS weekend.

    Fri, Apr 10, 2009

    • βž• Added activity tracking for recently viewed items.
    • βž• Added activity named scopes to select records by user and action.

    Thu, Apr 9, 2009

    • πŸ›  Fixed activity time-stamp format in Dashboard.

    Wed, Apr 8, 2009

    • Created Activity model, related table, and factory.
    • Basic initial implementation of activity observers and recent activity.
    • Created specs for activity observers.

    Tue, Apr 7, 2009

    • βž• Added quick reschedule links to [Edit Task].
    • Finished with editing tasks.

    Mon, Apr 6, 2009

    • Introduced called_from_(index|landing)_page? helpers.
    • πŸ›  A couple of bug fixes (hiding [Lead Convert] and handling HTTP :delete).

    Sun, Apr 5, 2009

    • ⏱ More tweaks rescheduling and reassigning tasks.

    Sat, Apr 4, 2009

    • βž• Added :before_update hooks for task along with related model specs.
    • Renamed [task.due_at_hint] to [task.bucket] to simplify naming conventions.
    • πŸŽ‰ Initial implementation of task rescheduling and reassigning.

    Fri, Apr 3, 2009

    • 🚚 Moved [Edit Task] cancellation logic from controller to view.

    Thu, Apr 2, 2009

    • βž• Added view specs for task#destroy, fixed a couple task related bugs.
    • πŸ”¨ Refactored view specs.

    Wed, Apr 1, 2009

    • Finished [Edit Lead] views and view specs.
    • Started with [Edit Task] form and related views.
    • πŸ”¨ Refactored create, edit, and complete task views and created the specs.

    Tue, Mar 31, 2009

    • More work on [Edit Lead] views and specs.

    Mon, Mar 30, 2009

    • More work on [Edit Lead] form (leads controller and its specs).

    Sun, Mar 29, 2009

    • Finished with [Edit Campaign] including controller and view specs.

    Sat, Mar 28, 2009

    • πŸ‘‰ Fixed updating permissions bug in [uses_user_permissions] plugin.
    • πŸ›  Fixed editing shared permissions for opportunities, contacts, and accounts.

    Thu, Mar 26, 2009

    • πŸ”¨ Refactored custom Rails initializers and added custom date format.
    • Finished with [Edit Opportunity] including full controller and views specs.
    • πŸ›  Fixed JavaScript bug caused by not wiping out hidden create form.
    • πŸ‘‰ Use String#shorten instead of truncate() helper.

    Wed, Mar 25, 2009

    • More work on [Edit Opportunity] and its specs.

    Tue, Mar 24, 2009

    • Finished with [Edit Contacts] including full controller and views specs.

    Mon, Mar 23, 2009

    • Finishing touches for [Edit Contacts] forms.
    • 🚚 Moved sidebar to the lefthand column, changes location of Sass templates.
    • βž• Added [x] close button to all inline forms.

    Sat, Mar 21, 2009

    • More work on [Edit Contact] form (spec coverage pending).
    • πŸ›  Fixed task controller specs when due tomorrow == due this week.
    • βž• Added spec coverage for [Edit Contact].
    • Added [x] form control, link_to_cancel and link_to_close helpers.

    Fri, Mar 20, 2009

    • More work on editing a contact.

    Wed, Mar 18, 2009

    • ⚑️ Updated view specs to use Factories, 100% pass.
    • ⚑️ Updated task controller specs to use Factories.
    • A week of transition to [factory_girl] is over: 317 specs, all green.

    Mon, Mar 16, 2009

    • πŸ”¨ Refactored leads controller specs using factories.

    Sun, Mar 15, 2009

    • πŸ”¨ Started refactoring leads controller specs.

    Sat, Mar 14, 2009

    • Implemented specs for Account views and Home controller.
    • Implemented specs for Campaigns controller.

    Fri, Mar 13, 2009

    • Implemented specs for Settings model.

    Thu, Mar 12, 2009

    • 100% spec code coverage for Accounts, Contacts, and Opportunities.

    Wed, Mar 11, 2009

    • πŸ”Œ Installed [factory_girl] plugin.
    • Created model factories for all core models.
    • 🀑 Rewrote account controller specs to use factories instead of mocks.
    • πŸ”¨ Started refactoring opportunity controller specs to use factories instead of mocks
    • βž• Added #as_hash and #invert class methods to Settings

    Tue, Mar 10, 2009

    • Put in place inline for Lead editing and conversion.
    • Started with inline forms for Task editing.
    • πŸ”¨ Depreciated contexts, refactored application's JavaScript.

    Mon, Mar 9, 2009

    • Put in place inline edit forms for Campaigns, Accounts, Contacts, and Opportunities.

    Sun, Mar 8, 2009

    • More work on inline edit and create forms.

    Sat, Mar 7, 2009

    • 🚚 Moved context code to module and made it available to controllers and views.
    • Started with [Edit Contact] form.

    Fri, Mar 6, 2009

    • Implemented [Edit Account] form.
    • Implemented basic functions of [Edit Campaign].

    Thu, Mar 5, 2009

    • 🚚 Moved some JavaScript code from helpers to application.js.
    • βž• Added support for showing interchangeable inline forms (Convert and Edit).
    • πŸ”¨ Refactored saving/restoring context for inline forms.

    Wed, Mar 4, 2009

    • πŸ”¨ Refactored tools menu in lists to use block div.
    • πŸ”¨ Refactored lead conversion to use remote form.
    • Started with the [Edit Lead] inline form.

    Tue, Mar 3, 2009

    • πŸ”¨ Refactored lead star rating to always show 5 stars (grayed out or not).
    • βœ‚ Removed [notes] field from core models and forms.
    • πŸš€ Created v0.1 "Steinitz" milestone and tickets for "Steinitz" release.
    • Set up GitHub service hook to integrate commits with the Lighthouse.

    Mon, Mar 2, 2009

    • Implemented Lead and Contact summary sidebar for individual Leads and Contacts.

    Sun, Mar 1, 2009

    • βž• Added core extension library.
    • Implemented Opportunity summary sidebar for individual Opportunity.

    Sat, Feb 28, 2009

    • βž• Added gravatar support for leads and contacts.

    Fri, Feb 27, 2009

    • βž• Added [gravatar] plugin and implemented gravatars for notes.

    Thu, Feb 26, 2009

    • Github commits are up on Twitter at http://twitter.com/fatfreecrm
    • πŸ”¨ More refactoring to simplify handling of inline forms.
    • Implemented adding related tasks for Leads, Accounts, Contacts, and Opportunities.

    Wed, Feb 25, 2009

    • πŸ”¨ Refactored tasks, added ability to create related tasks (Campaigns only so far).

    Tue, Feb 24, 2009

    • Implemented adding opportunities from the [Campaign] landing page.
    • Implemented adding opportunities from [Contact] landing page.
    • Implemented adding contacts from [Opportunity] landing page.
    • Three months anniversary ;-).

    Mon, Feb 23, 2009

    • Implemented adding leads from the [Campaign] landing page.
    • Implemented adding contacts from the [Account] landing page.
    • Implemented adding opportunities from the [Account] landing page.
    • ⚑️ Updated README file.

    Sun, Feb 22, 2009

    • βž• Adding parent object support for inline forms.

    Fri, Feb 20, 2009

    • πŸ”¨ Major refactoring to support inline form embedding throughout the system.

    Thu, Feb 19, 2009

    • Simplified storing expand/collapse state for form sections.
    • πŸ”¨ Started refactoring to support inline form embedding.

    Wed, Feb 18, 2009

    • Converted [Create...] forms to remote to be able to reuse them inline.
    • πŸ’… Refactored javascript and stylesheet includes for popup calendar control.
    • πŸ’… Consolidated scattered inline stylesheets into single shared partial.

    Tue, Feb 17, 2009

    • πŸ’… Refactored styles, added [Campaign] to [Lead] and [Opportunity] landing pages.
    • βž• Added [Contacts] and [Opportunities] to [Account] landing page.
    • βž• Added [Accounts] and [Opportunities] to [Contact] landing page.
    • βž• Added [Accounts] and [Campaigns] to [Opportunity] landing page.
    • πŸ”¨ Refactored JavaScript code to automatically set focus on first form field.

    Mon, Feb 16, 2009

    • πŸ’Ύ Save shown/hidden state of [post a note] form for all commentable models.
    • ⚑️ Updated controller and view specs to support commentables.
    • βž• Added comments fixture to generate sample comments for all the core models.

    Sun, Feb 15, 2009

    • Implemented adding notes for campaign.
    • βž• Added notes for other core models (Account, Contact, Lead, and Opportunity).

    Sat, Feb 14, 2009

    • More design work on campaign landing page (adding comments, etc.)

    Fri, Feb 13, 2009

    • Implemented Campaign Summary sidebar for the campaign landing page.
    • Generated [Comment] scaffold and created database migration.
    • Added [acts_as_commentable] to core models.
    • βž• Added visible/invisible helpers to flip element's visibility style.

    Thu, Feb 12, 2009

    • Installed [acts_as_commentable] plugin.
    • More work designing simple and consistent landing pages.

    Wed, Feb 11, 2009

    • 🀑 Researching and mocking up landing pages for campaigns and leads.

    Tue, Feb 10, 2009

    • Implemented creating and assigning tasks for the specific date from the calendar.

    Mon, Feb 9, 2009

    • πŸ’… Converted remaining forms to HAML and the stylesheet to SASS.

    Sun, Feb 8, 2009

    • βž• Added custom logger to highlight logged messages.
    • Added [task_at_hint] field to [tasks] table to capture due date request.
    • Refactored task model and crm.date_select_popup() in application.js.

    Sat, Feb 7, 2009

    • Created initial implementation of adding a new task (all except specific date).
    • πŸ”¨ Refactored tasks code to simplify filtering.
    • Implemented flipping between dropdown and calendar popup.
    • ⚑️ Updated task related controller and view specs.

    Fri, Feb 6, 2009

    • πŸ”Œ Finished implementing after_filter callback hook in [web-to-lead] plugin.
    • Implemented tasks deletion for all three views.
    • πŸ’… More fun with SASS stylesheets -- pretty cool stuff.

    Thu, Feb 5, 2009

    • More work researching application's after_filter and making it work right.

    Wed, Feb 4, 2009

    • Added [app_after_filter] hook and moved the rest of [web-to-lead] code to plugin.
    • Started converting CSS to SASS.

    Tue, Feb 3, 2009

    • βž• Added README.rdoc and sample database configuration files, updated sample users.
    • Added :app_before_filter hook, extracted [web-to-lead] code and moved it to plugin.
    • πŸ‘‰ Tweaks to login and signup forms (to be converted to HAML soon).

    Mon, Feb 2, 2009

    • ⚑️ Updated task related controller and view specs.
    • 🚚 Extracted sample plugin and moved it into separate Git repository.

    Sun, Feb 1, 2009

    • SuperBowl!!
    • πŸ”¨ Refactored tasks controller to offload most of sidebar and filter processing to task model.
    • Impletented tasks/complete for pending tasks.

    Sat, Jan 31, 2009

    • βͺ [Create new task] and [Assign new task] forms now save/restore their display state.
    • Implemented task filtering for all three views.
    • βž• Added completion checkboxes and created initial implementation.

    Fri, Jan 30, 2009

    • πŸš€ Ruby 1.9.1 final was released today!
    • βž• Added new named scopes to support assignments and completed tasks.
    • βž• Added sidebar filters for completed tasks.
    • βž• Added CSS styles for single-line lists and redesigned task templates.

    Thu, Jan 29, 2009

    • πŸ’Ž Unpacked gem dependencies to /vendor/gems (ruby-openid, haml, and faker).
    • Check whether database connection is available in [uses_mysql_uuid] plugin.
    • Made task filters work for pending and assigned tasks.

    Wed, Jan 28, 2009

    • Implemented task selector to switch between pending, assigned, and completed tasks.
    • πŸ‘ Major overhaul of task templates to support three task views.
    • πŸ”„ Changed rake's namespace from [app] to [crm].

    Tue, Jan 27, 2009

    • βž• Added sidebar tasks filtering by due date.
    • βž• Added CSS styles for selector control.
    • βž• Added prototype selector control for tasks.

    Mon, Jan 26, 2009

    • βž• Added support for inline forms and added [Create New Task] form.
    • ⚑️ Updated task named scopes to evaluate them on each request rather than on server startup.

    Sun, Jan 25, 2009

    • βž• Added task categories and due dates to system settings.
    • Completed first implementation of Tasks index page.

    Sat, Jan 24, 2009

    • βž• Added named scopes for tasks model, created tasks fixtures.
    • Two months anniversary ;-).

    Fri, Jan 23, 2009

    • πŸ‘‰ Moved permissions related code to [uses_user_permissions] Rails plugin.
    • πŸ‘‰ Refactored models to make use of [uses_user_permissions] plugin.
    • πŸ‘‰ Moved permission model to [uses_user_permissions] plugin.
    • ⚑️ Updated [Task] model and database schema for [Tasks] table.

    Thu, Jan 22, 2009

    • Implemented list delete for accounts, campaigns, leads, and opportunities.
    • Generated Tasks scaffold.
    • βž• Added [Tasks] tab to default settings, renamed [Home] tab to [Dashboard].

    Wed, Jan 21, 2009

    • Implemented list delete for contacts.

    Tue, Jan 20, 2009

    • πŸ”¨ Refactored Setting.opportunity_stage to make sure the insertion order is preserved.
    • Implemented opportunities filtering by stage.
    • Welcome, Mr. President.

    Mon, Jan 19, 2009

    • πŸ‘Œ Improved login/logout flash messages.
    • πŸ”¨ Refactored list templates to use collection partials.
    • βž• Added sidebar for Campaigns to filter them out by status.

    Sun, Jan 18, 2009

    • πŸ”Œ More fine tuning of plugins and callback hooks.
    • πŸ”Œ Sample plugin now implements view, controller, and controller filter hooks.

    Sat, Jan 17, 2009

    • πŸ”Œ Implemented FatFreeCRM::Plugin and FatFreeCRM::Callback modules.
    • πŸ”Œ Created first sample Fat Free CRM plugin!
    • πŸ”Œ Uninstalled Searchlogic plugin and added Rails Engines.
    • πŸ›  Fixed :my scope to use LEFT OUTER JOINs with permissions.

    Fri, Jan 16, 2009

    • πŸ”Œ Experimenting with application plugins.

    Thu, Jan 15, 2009

    • πŸ”Œ Exploring infrastructure for application plugins.

    Wed, Jan 14, 2009

    • βž• Added :my named scope for main models to support permissions.
    • πŸ”¨ Refactored all controllers to use :my permission-based scopes.
    • πŸ”¨ Refactored [Leads/Index] and [Leads/Filter] to use collection partial.
    • βž• Added missing database indices.

    Tue, Jan 13, 2009

    • βž• Added rendering of local sidebar template if it's available.
    • βž• Added sidebar for Leads and implemented initial version of leads filtering by status.

    Mon, Jan 12, 2009

    • Replaced account template stubs with actual contact and opportunity numbers.
    • βž• Added web-to-lead submission hook to Leads controller (thanks bitdigital)!

    Sun, Jan 11, 2009

    • Made campaign and lead models track lead-to-opportunity conversion ratio.

    Sat, Jan 10, 2009

    • Implemented backend for [Opportunity/New].
    • πŸ”¨ Refactored models validation code.
    • βž• Added fixtures for join tables.

    Fri, Jan 9, 2009

    • Converted [Opportunity/Show] to HAML and created [Opportunity/New] form (with backend stub).

    Thu, Jan 8, 2009

    • Simplified submission for forms with account create/select.
    • βž• Added app-specific rake tasks -- app:setup, app:demo, and app:reset.
    • Updated [uses_mysql_uuid] plugin to explicitly check for MySQL v5 or later.
    • ⚑️ Updated database migrations and rake tasks to make them database-type neutral.
    • πŸ†“ Fat Free CRM now works with MySQL v4 and SQLite!

    Wed, Jan 7, 2009

    • Implemented backend for [Contact/New].
    • πŸ‘ Made model functions more general for better code reuse.

    Tue, Jan 6, 2009

    • Figured out how to make [has_one :through] work and save the join record.
    • Restructured [uses_mysql_uuid] to use proper module nesting and extend base with SingletonMethods.
    • πŸ›  Fixes in opportunity/index and contact/delete.
    • Created [Contact/New] form (with backend stub).
    • 🚚 Moved common JavaScript functions to application namespace.

    Mon, Jan 5, 2009

    • Finished refatoring [Lead/Convert].
    • Started with index page for contacts.

    Sun, Jan 4, 2009

    • 0️⃣ Streamlined [Lead/Convert] to make it use objects and default values.
    • βž• Added [assigned_to] to accounts and [access] to opportunities.
    • ⚑️ Updated [Account/New] form.

    Sat, Jan 3, 2009

    • πŸ”¨ Refactoring of [Lead/Convert] using [fields_for].

    Fri, Jan 2, 2009

    • Implemented backend for [Lead/Convert] - create contact along with optional account and opportunity.
    • Fixed [uses_mysql_uuid] to work with AR validations.
    • Minor database schema changes.

    Thu, Jan 1, 2009 -- Happy New Year!

    • Created [account_contacts], [account_opportunities], and [contact_opportunities] join tables.
    • Implemented HTML designs and JavaScript for [Lead/Convert] and [Contact/New] forms (with backend stubs).

    Wed, Dec 31, 2008

    • More design work on [Lead/Convert] and [Contact/New] forms.

    Tue, Dec 30, 2008

    • βž• Added new view/edit/delete icons, started with [Lead/Convert].
    • Minor changes in [opportunities] migration.

    Mon, Dec 29, 2008

    • More work on opportunity index page.
    • Fixed find() class override in [uses_mysql_uuid] plugin.

    Sun, Dec 28, 2008

    • βž• Added opportunity stage settings and colors.
    • Created opportunities fixtures and started with opportunity index page.

    Sat, Dec 27, 2008

    • Added find() override in [uses_mysql_uuid] plugin to make it possible to use find() instead of find_by_uuid().
    • βž• Added [contacts] and [opportunities] database migrations.
    • Generated [opportunity] scaffold, added [contacts] fixtures.

    Fri, Dec 26, 2008

    • πŸ”¨ Some model and javascript refactoring.
    • Another sweep at specs to make them pass with the introduction of UUIDs.

    Thu, Dec 25, 2008

    • ⚑️ Update campaign lead count and conversion ratio when creating a new lead.
    • πŸ‘‰ Make sure :uuid gets reloaded from the database and not from cached attributes.
    • βž• Added extra fields to [User] model and implemented [User/Edit profile].

    Wed, Dec 24, 2008

    • Created [uses_mysql_uuid] plugin.
    • Converted account, campaign, contact, lead, and user models to use UUIDs.
    • Updated controllers to use find_by_uuid() instead of find().
    • ⚑️ Updated routes to recognize and extract UUID from URLs.

    Tue, Dec 23, 2008

    • ⚑️ Updated controller and view specs.
    • βž• Added permissions section to [Lead/New] form.
    • βž• Added validation and saving to [Lead] model to actually create new leads.

    Mon, Dec 22, 2008

    • 🚚 Moved form section toggling to application helper and home controller.
    • Implemented section toggling in account and campaign forms.
    • πŸ†“ Added [toll_free_phone] field to accounts.
    • βž• Added .top and .req styles for field labels.
    • πŸ‘‰ Show/hide form sections based on session where we now store expand/collapse state.

    Sun, Dec 21, 2008

    • πŸ’… Redesigned [Lead/New] and revamped related CSS styles.
    • Reorganized global settings to make it easier to access them at runtime.
    • Toggle sections using link_to_remote() to be able to store toggle status in a session.
    • Reveal/hide form sections using toggle/slide visual effect.

    Sat, Dec 20, 2008

    • Metallica show at Oakland Coliseum was totally amazing!

    Fri, Dec 19, 2008

    • Replaced stub text fields with autocomplete in [Leads/New].

    Thu, Dec 18, 2008

    • Implemented ratings JavaScript library to show star ratings.
    • πŸ’… Updated [leads] schema, more polishing for [Leads/New] form.

    Wed, Dec 17, 2008

    • βž• Added flash confirmation messages for deletes.
    • Work on [Leads/New] form (campaign autocomplete, etc.)

    Tue, Dec 16, 2008

    • ⚑️ Updated designs for leads, campaigns, and opportunities using left-hand strips.
    • Implemented new design for accounts index page.

    Mon, Dec 15, 2008

    • More work on leads index page.
    • βž• Added leads fixture that uses [faker] gem.
    • Restructured status settings to use :label and :color.

    Sun, Dec 14, 2008

    • Work on leads schema, model, and fixtures.

    Sat, Dec 13, 2008

    • πŸ”Œ Insalled [annotate_models] plugin and generated model annotations.
    • Generated campaign fixtures.
    • ⚑️ Updated [Campaign] model to include actual vs. targets.
    • βž• Added permissions to [Campaign/New].
    • Cleaned up specs and fixtures.

    Thu, Dec 11, 2008

    • πŸ†• New tableless design for campaign index page.
    • βž• Added new .list CSS styles.
    • Made select date popup work with Safari.

    Wed, Dec 10, 2008

    • Made calendar_date_select work with field getting focus (campaign/new).
    • More work on list of campaigns page.

    Tue, Dec 9, 2008

    • Implemented [Campaing/New] with dates validation and status set.

    Mon, Dec 8, 2008

    • πŸ’… More work polishing campaigns.
    • βž• Added rake task to reset the application (rake app:reset).
    • Automatically set focus on first form field.

    Sun, Dec 7, 2008

    • Work on [campaigns] database schema and model.
    • Started with [Campaigns/New], integrated calendar_date_select for start/end dates.

    Sat, Dec 6, 2008

    • Implemented account deletion.
    • πŸ›  Fixes for header and signup page layout.

    Fri, Dec 5, 2008

    • πŸ”Œ Installed [advanced_errors] plugin to have full control over the message text.
    • Implemented [Account/New] validating account data and preserving submitted form values.
    • πŸ’… More work on polishing accounts index page.

    Thu, Dec 4, 2008

    • βž• Added Preferences controller stub and header link.
    • ⚑️ Updated tabs helper to use global settings to show tabs.
    • ⚑️ Updated spec fixtures to use randomly generated dates and counts.
    • Converted all layouts to haml.

    Wed, Dec 3, 2008

    • βž• Added LICENSE file with the GNU Affero General Public License.
    • πŸ›  Fixed auto-generated specs to make them all pass.
    • Implemented hash methods for user preferences.

    Tue, Dec 2, 2008

    • βž• Added [Setting] and [Preference] models.
    • βž• Added [campaigns], [leads], and [contacts] scaffolds.
    • βž• Added [config/settings.yml] with default application settings.
    • 0️⃣ Created [lib/tasks/settings.rake] to load default settings to the database.
    • Implemented [Setting] model.

    Mon, Dec 1, 2008

    • Created [Permission] polymorphic model, added fixtures to load sample users, accounts, and permissions.

    Sun, Nov 30, 2008

    • πŸ’… More work on [accounts] model, CSS styles, and [add account] form.

    Sat, Nov 29, 2008

    • βž• Added tabbed and tabless layouts, implemented tabs and current tab tracking.
    • πŸ’… Applied CSS styles to all tabless forms (login, sign up, and forgot password).
    • Created two column layout for the main contents area.
    • Created [Accounts] scaffold and added [Accounts] tab.

    Fri, Nov 28, 2008

    • πŸ”Œ Implemented sign up, login, logout, and forgotten password using [authlogic] plugin.

    Wed, Nov 26, 2008

    • Installed [open_id_authentication] plugin.
    • πŸ”Œ Modified [users] table to work with [authlogic] plugin, added tables for openid authentication.

    Tue, Nov 25, 2008

    • Installed plugins: [authlogic], [searchlogic], [calendar_date_select], [auto_complete], [in_place_editor], and [haml].

    Mon, Nov 24, 2008

    • βž• Added [sessions] and [users] tables, created [User] model.
    • Installed Rspec and [acts_as_paranoid] plugins.
    • Created the project and posted it on GitHub.