Details
-
Type: Sub-task
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 4.3.0-b1
-
Component/s: Staff Interface
-
Labels:None
Description
- Add a new table, `log_client_settings`
id client_id by_user_id ip_address change date_changed unsigned int(10) auto-increment primary key unsigned int(10) client ID updated unsigned int(10) NULLABLE, user ID that performed the action (of the staff or client or contact) varchar(39) NULLABLE, the IP of the user that performed the action json-encodedor base64-encoded serialized array of fields? (see below for example)datetime the time the record was inserted
Set separate indexes for the following:
- client_id set an INDEX
- by_user_id set an INDEX
- date_changed set an INDEX
Changes should store a set of before/after key/value pairs from a set of client settings. This should be similar to Logs::addContact
- An array of data keyed by the field name, each containing the keys 'prev' and 'cur' referencing the old value and the new value.
- The data in this field should be (
JSON-encoded orbase64-encoded serialized strings similar to the contacts log?)
- There should exist a method by which to create a log entry for the client
- There should exist a method by which to delete the logs
- Filter options should support any of the following
- Client ID - delete all logs by this client
- Date Changed - delete all logs older than the given date
- The filter should also filter by the currently-configured company. i.e., only delete logs for the current company
- Filter options should support any of the following