I currently have a dashboard that allows certain users to update a list of employees by adding a new employee. I am using an action and a button on my dashboard to allow them to update my employee list. Is there any way to not show the current list of employees? Only showing a blank line representing the end of my numbered list. What I don't like about the way I am doing this is that not only can users add a new employee but they can delete the parent, code, and display name for current employees. I only want them to be able to add a new employee but not edit the current ones. I'll attach a screen shot.
1. Add a boolean formatted line item called "Current Employee?" to the PK L3 module. Have this updated by the master data source during import or derive using logic (I'm assuming there should be a way to flag these).
2. Apply a filter to the PK L3 module that filters out anything not current employee.
3. Disable access in the dashboard for them to disable the filter (as an extra precaution).
That will take care of visibility to current employees. You can also consider using DCA, ie creating an access module (call it "AD01 by employee" and add employee list as a dimension). Assign write access only to employees with boolean of not current employees and read only access to those with boolean of current employees (reference the PK L3 module flag line item). That way they are truly not editable in the source module so you can filter out, or expose but the restriction is in place.
When a list is published to a dashboard, edit access cannot be controlled and neither can filters be applied. I suggest the following approach:
Create a module with the dimension of the the PK - L3 list
Have text formatted line items - Parent, Code and Display Name and Current Display Name. Only Current Display Name should have the formula: 'PK - L3'.Display Name
Create another boolean formatted line item: ISBLANK(Current Display Name)
Now publish this module to the dashboard and remove the published list
Apply boolean created in (3) as a filter (Data -> Filter). This will ensure that on clicking the "+ Add: PK Mgr" button, a user can view only those employees that haven't been named ergo only the current employee whilst neatly hiding the details of existing employees
User will normally fill in the display name, parent and code. Have another action that updated the actual PK - L3 list using the details filled out by users. After the action runs, the employee just added will also disappear as the display name is now populated
First, it is never a good idea to publish a list to a dashboard because you can't filter nor hide fields (code, parent, etc.). There are a couple of ways you can improve your process:
Do what @anirudh mentioned by using the Create Action where it adds a new employee to the list. One "issue" is this process does not automatically add a code to the record, so you have to create an additional action to add it. While not a "real" issue, it is an added step. Now, what I tend to do is hide this action (updating the code) in a different process.
A second option is to create a module that is not dimensionalized by any list, it is just blank. Have the line items needed, for example first name, last name, email address, etc. Create an action that not only inserts the employees into the list, but also updates the code because you really don't want end users to create the code. Then, in the last step of the process, it should clear out the items entered. this way, your end users will only "see" what they are entering.
Just a point that I don't think your current process employs, when you are adding employee's, the process really should be adding the information to multiple lists:
an Employee Flat list where all of the metadata of the employee is stored
One of the way will be to publish an intermediate module on the dashboard that captures the new input list item and based on the guardrails & exception conditions, data can be inserted to system list based on action trigger.