Doctrines

# v4.7

### Features

* Added a single station view to the ship fit contracts search page.
* Added a purchase button to all contract search pages.
* Added the application version to the css and javascript urls to prevent caching old files.

### Bug Fixes

* Fixed a bug on the doctrine management page where an error would be shown when there are no ship fits instead of an empty list box.
* Added a validation check for doctrine images to ensure https links are used. This prevents certificate warnings when viewing the site via ssl.

# v4.6

### Features

* Doctrines can now be marked as dormant (#11).
  * Dormant doctrines are sorted to the bottom of the view and faded.
* Generic reusable caching classes.
* An application settings class, now populated and injected into the service layer.
* Twitter alerts to the account handle when a sales agents is created.

# v4.5

### Features

* Not implemented in this branch.

# v4.4

### Features

* Sales agent self-registration (#6).
* Sales agent api key check is now bitwise, checking that 'Contracts' permission is available (#20).
* Sales agent maintenance. Active sales agents that have failed to refresh within 7 days will be removed automatically (#19).
* Updated the README.md file, including installation instructions (#17).
* Moved EftFittingString method to the api.
* Improved the api methods, supporting http get, non-ajax and improved error handling.
  * Use an existing authenticated session or use an authenticated redirection url such as https://[url.com]/A/[AccountId]/[AuthKey]?redir=/Api/ShipFitDetail/[ShipFitId]
  * Current endpoints:
     * /Api/ShipFitDetail/[ShipFitId]
     * /Api/DoctrineDetail/[DoctrineId]
     * /Api/AccountShipFits
     * /Api/DoctrineShipFits/[DoctrineId]
     * /Api/EftFittingString/[ShipFitId]

# v4.3

### Features

* Doctrine support (#18).
  * Group ship fits into doctrines.
  * Optionally set a description or a custom image for a doctrine.
  * Optionally mark doctrines as official which tags and changes their colour in the view.
  * Account admin pages for doctrines.
* Changed the main index page to the new 'Doctrines' view if authenticated and the existing 'All Contracts' view for non-authenticated users.
* Contract view by ship fit option.
* Added buttons for ship fit details and contracts.
* Standardised on search page paths. /Search/Agent, /Search/Cust, /Search/ShipFit etc.
* Added basic api functionality. 
  * Returns Json.
  * HttpPost only.
  * Ajax requests only.
  * Use an existing authenticated session or use an authenticated redirection url such as https://[url.com]/A/[AccountId]/[AuthKey]?redir=/Api/GetShipFitDetail/[ShipFitId]
  * Current endpoints:
     * /Api/GetShipFitDetail
     * /Api/GetDoctrineDetail
     * /Api/GetAccountShipFits
     * /Api/GetDoctrineShipFits

### Bug Fixes

* Fixed an issue where the menu would throw an exception when deleting the currently logged-in account.
* Removed some legacy css file references that were missed when moving to Bootstrap.
* Fixed a bug where validation errors while modifying a ship fit were not handled correctly by the view. 
* Changed certain view css class names to lowercase to standardise across the application.