How to restrict access on line item which is list format


Hi ,


I have a module with number list as dimension and Country as line item .

I want to restrict access of country to users (Cant use Selective access ) .For example ,one user has access to 2 countries ,then that user should see only 2 countries in drop down and should not see other countries if user from other country has some entries in that number list .




Best Answer

  • alexpavel

    @shadmani If I understand correctly you have this situation:


    You have a numbered list based module where you have a line-item formatted as "Country" list. 

    You need to solve 2 issues:


     1. In the line-item "Country" you want that the user see only the "Countries" on which the user has access. This can be solved, indeed, using the flag "Selective Access" from the Line-item "Country" in module blue-print.  However the "Selective Access" works fine if the user has defined only "Write" on the countries. 

       If a user, for example, has defined write access on 2 countries and read access to ALL countries...then you need to use "Dependent" flag in order to have in the drop-down list only the "Write" countries. 



    2. You want that the users have access in the numbered list module only on the numbered list rows with line-item "Country" having value with the countries on which the user has access. 

         This can be achieved using Dynamic Cell Access using a module with having in "apply  to" the "Users" and "Country lists. 

         You will need to flag again for each user the countries on which they have access. The line-item you could name it "Write Country?". 


        In the numbered list module you will need a boolean line-item with "apply to" the "numbered list" and "Users" with the formula: 'point 2'. Write Country?[lookup: country line-item] or isblank(country line-item). 

        This boolean line-item you need to put in "Write Access Driver" and "Read Access Driver" of all the line-items of the "numbered list" module. 


       Maybe you will need to create a "marker" line-item to indicate that a row has values from another countries....this to indicate which rows are already filled-in by other users wit other data from other countries. 












  • Hi,

    Why are you not allowed to use Selective Access?

    Should do the trick!

    Kind regards,
  • I would recommend using Dynamic Cell Access. 


    Set up an Access Control module dimensioned as per the numbered list but also include users. Ensure the blueprint column, 'Show All Users,' is on. 


    Create one line item called 'Write' and format it as boolean.


    Determine which list items each user requires access to and check the line item to grant access. 


    Create a second line item called, 'Read.' Enter the following formula, NOT Write. 


    In the target module enter the blueprint and scroll to the right to find the column, 'Write Access Driver.' Select the boolean line item from the new Access Control module for write. Do the same for 'Read Access Drive,' but select read.


    Each user should now only be able to access and write data against those items selected in the Access Control module.

  • It is almost impossible to add number list as dimension in Dynamic access module .Also its not practical for user to go to each number list item and check the boolean . 

  • In the format of Country line item you can enable selective access check box which will restrict users to view other country as per selective access.

    Is that will not resolve your issue or am i missing something ?
  • Hi shadmani,


    I've managed to do something similar to what I think you're trying to do. In my case it was an HR model and a user could only select a new position (formatted list item) that would be part of a given cost center. Instead of SELECTIVE ACCESS which you're trying to avoid the DEPENDENT did the trick - see below how to setup:


    Requirements (see in the screenshots attached some numbers written by hand that link with the numbered steps below):

    1 -  One (system) list which concatenates the lists you want to link. In my case it was "Cost Centre & Role (cargos in portuguese)" and in your case it would be "user & country"

    2-  The list above should have two properties that make the link between Cost Centre and Role

    3- In the module where you want the selection to be made you need a line item referring to the list item which controls the dependency - "Cost Centre" in my case or "User" in your case

    4a - format the input field 

    4b - set as dependent and configure as per the example attached


    Let me know if you have any sort of feedback.





  • Thank you all for your suggestions ,I tried with mix of all approaches . It worked.Thanks again !!