Cookies for the future
We now use the `$cookies` api as part of moving to angular v1.5.8.
The default expiry of cookies is now a year in the future.
The cookie name previously stored as `opal.lastPatientList` is now
`opal.previousPatientList`.
Patients as a service
Patient becomes a service in angular. This takes in a patient as loaded by the patient loader or another service. It casts the data to Episode or Item instances as appropriate.
PatientList.get_queryset arguments
PatientList.get_queryset() is now passed an extra keyword argument - `user`.
This is the current `User` object.
Overriding default Menu Items behaviour
The `get_menu_items` method of Opal Application objects is now passed an extra keyword argument - `user`.
This is the current `User` object.
The templatetag application_menuitems now uses this method to render navigation menus, allowing dynamic
customisation of menu contents based on user.
Removals
Opal 0.8.1 removes some minor features which, to our knowledge are not used by any applications in active development.
* ReopenEpisodeCtrl - applications may implement their own 're-open' episode flow, but Opal no longer handles this out of the box.
* Subrecord._bulk_serialise - this flag has been removed
Pending removals
We have re-named `opal.core.views._build_json_response` to `opal.core.views.json_response`. This will issue a
warning for the remainder of the 0.8.x branch, before being removed entirely in Opal 0.9.0.
Subrecord List API
We have added a list method to the default Opal JSON API for subrecords - you may now obtain a list of all instances
of a given subrecord from the API endpoint `/api/v0.1/$api_name/`.
Misc Changes
Updates the custom `UserAdmin` so that the email, first and last name fields from the Django `User` model
are in the add user form not just the edit user form.
The default test runner generated by plugin scaffolding now uses `opal.urls` as the default url conf in the test settings. This allows you to test urls generated by Opal - for instance default form or record templates, or simply raw templates from our generic template view.