Merge pull request #6 from davidbernard/domain_objects_master

Domain objects master
Merge pull request #7 from davidbernard/domain_objects_master

Fixes in response to review
Merge pull request #8 from davidbernard/domain_objects_master

Add pods lock and manifest lock to repository. These files track the actual packages used from cocoa pods
Merge pull request #9 from davidbernard/master

Complete insertClient and tests
Merge pull request #10 from davidbernard/master

Add workspace + Restore tab selection on restart + CI build changes
This change fixes a compiler warning and changes the way a PPRScheduleTime computes its description string.

PPRScheduleTime.m - use a DateFormatter etc., rather than a crude stringWithFormat;
PPRTestIIntialiser.m [sic] - fix the warning;
PPRScheduleTimeTests.m - added, for a crude test.
Make PPRSingleton more generic

PPRSingleton sharedInstance now returns "instancetype" which removes the need to cast the result when getting the shared instance of a subclass.
PPRSingletonTest update to reflect new interface and to check the returned instance class.
Shift state and Settings Tab

This change moves publishing of changes to currently selected facility to a shift object which is published with shift state and implement changing shift state.

The changes to shift state are persisted in user settings.

A settings tab is added to the user interface to allow uses to reset the stored user settings to defaults.

Add PPRShift object to hold shift state.

Modify PPRClientViewController change key for notification.

Modify PPRShiftViewController
- change the keys for facility id and add keys for shift
- refactor handling of change of facility to be part of shift.

Add PPRSettingsViewController to handle reseting shift state.

Add PPRSettingsNavigationController for future display of shift state in tab bar.

Modify Main,storyboard to add Settings tab.

Modify StringKeys.h to add user settings keys and shift change notification keys.
Add PPRStickyMessageNoticeView

The standard StickyNoticeView in the NoticeView “pod” does not display the notice view message. This is a clone of StickyNoticeView combined with the message display of ErrorNoticeView.
Add scheduler time simulation and settings controls.

This change adds to the scheduler the concept of scheduler time which can be used to test the scheduling of the application.
The scheduler time maintained by a one second timer. Each time the scheduler time is updates, a notification is posted.
The settings tab allows the time to be set and a “warp” factor which can be used to speed up the “clock”.

PPRClockTabBarItem has been added to display the scheduler time.
PPRSettingViewController has been modified to replace the “Settings” tab bar label with a ClockTabBarItem and register the clock display for update notification.
PPRScheduler is modified to manage the schedulerTime and provides routines to calculate the equivalent wall time clock value for a schedulerTime value.
PPRAppDelegate has been modified to start the scheduler timer and to post notifications when the schedulerTime has changed. Experimental NoticeView messages have been removed and a more generic display of notifications provided.
Main.storyboard has had controls added to control the schedulerTime.
Refactor ActorManager and update TestInitialiser

This change move test initialisation from PPRActionManager to PPRTestInitialiser for actions and refactors PPRActorManager to use the PPRActor object.

PPRAction is modified to calculate a dueTime description.
PPRScheduleTableView is modified to use PPRAction objects to display actions.
A new daily event is added to Group Home 1 in TestInitialiser.
Add Shift Manager

This change adds the shift manager singleton which is used to preserve state between application restarts.

Added PPRShiftManager
Added PPRShiftManagerTests
Modified PPRTestIntialiser to use shift manager
Modified PPRShiftViewController to move the shift related “key” strings to the new PPRShiftManager.
Fix a bug on a test case.
Improve ActionManager and add Tests

This change improves ActionManager and adds tests for action manager.
Tests for updateAction methods will be in a subsequent commit.

PPRAction
- add completionTime and facility to object.
- completionTime is selected in dueTimeDescription when status is “Done”

PPRActionManager
- improved class documentation
- getAction now handles prototype actions matching facility and action id
- added update methods to set specific elements of state give an action id

PPRActionManagerTests
- Added tests for insert and get action.
Change interface for updateAction etc to pass back update action and add tests

PPRActionManager
- updated updateAction interfaces and publish getActionById method in header file

PPRScheduleTableViewController
- update to use new interfaces

PPRActionManagerTests
- added tests
PPRScheduleTime
- change the description routine to use the calendar in the PPRScheduler.

PPRScheduleTimeTests
- refactor existing set-up code so it can be shared by test routines.
- introduce a test to assert different calendars by setting the calendar property in the singleton, and then "duplicate" the calculation and check it matches.
PPRScheduleTimeTests:
- made to assert the Gregorian calendar rather than relying on it to be the current calendar;
- finish the test that must duplicate the time calculation using another calendar.
PPRScheduleTimeTests:
- Fix testDuplicatingCalculation
Merge pull request #11 from dvincent/fix_warning_and_nonlocalisable_description

Fix a build warning & change how a PPRScheduleTime describes itself
Merge branch 'master' of https://github.com/davidbernard/ppreminderer

Conflicts:
	Pods/Pods.xcodeproj/project.pbxproj