This feature will allow staff role to setup/configure additional options for to user directly. The clients and system users are in so called parent child relationship.
• When first added to the system, the user settings should be cloned from the (parent) client. • When saving a client setting, if a setting has not existed before for the client (there is no deactivated record), then it should be cloned to all of the users as well. • When an option is deactivated on a client, it should be deactivated for all users • When an option was deactivated, and is reactivated on the client, users should NOT be updated. Additional to this, the system will allow the staff role to set status for each categories, states and profile keywords for each user as active or not. What this means is that beside inherited options from his client each user can have different personalized set of options for himself.
These options will be stored in same tables as mentioned above. Column type inside those table will be used to distinguish the user from client’s options.
Option for setting up keywords active/inactive will be the same ones as the categories. Everything will be the same. Client overwrites the users (only when disabling). When first creating a user, client-settings will be used as defaults. Staff role will be able to set the keywords that user is interested in. Disabling only one of the keywords will disable (not show) a bill (or bills) connected/matched with that keyword. For example, if one bill is matched with 5 keywords like picture above, and staff member decide to disable only one of them, then that bill will not be accessible for that user. Also since there can be more than one bill connected with that particular keywords, disabling that keyword will disable ALL bills matched with it. “Staff role” will be the only role in the system with permissions for activating or disabling all these options (state, categories and keywords settings). Users shouldn’t have option to set these options by themselves.