7 Replies Latest reply on Jun 25, 2011 3:01 PM by brian.curran

    Display or Hide fields depending on user privileges

    brian.curran

      Title

      Display or Hide fields depending on user privileges

      Post

      Hi,
      Is it possible to display or hide certain fields and their labels on a layout depending on the users privileges?

      Earlier, I duplicated a layout and restricted the basic user from viewing it. Then I deleted some fields from the duplicate and gave access to the user. It works but it's very messy...

      Thanks
      Brian. 

        • 1. Re: Display or Hide fields depending on user privileges
          aammondd

          There are a number of "tricks" but layout objects/fields dont have visible/invisible settings that can be applied based on some criteria.

          However some conditional formatting calculations can mimic this effect. Im sure one of the more "graphical" experts will be along with some tutorials. :)

           

           

          • 2. Re: Display or Hide fields depending on user privileges
            philmodjunk

            The alternatives can be pretty messy also.

            Conditional formats can hide the label text. You can set the text color to match the layout background or set the font size to 500 pts.

            The same can be done with fields, but they are still accessible if the user clicks/tabs into them even though they don't appear in the DB. There are several visibility tricks you can experiment with to see if they work for you: (It talks about hiding buttons, but fields can be hidden in the same manner.)

            move an object in browse mode

            • 3. Re: Display or Hide fields depending on user privileges
              aammondd

              You could set OnObjectEnter script triggers to check a security setting and then go to field next to avoid entry into fields that you want to remain hidden.

              I use a similar scheme to produce audit records for any field changes but it could be adapted to prevent edit in  the field

               

              • 4. Re: Display or Hide fields depending on user privileges
                brian.curran

                I honestly can't make any sense of the 3 suggestions in that link Phil but it's been a long week so I'll take another look at it tomorrow.

                aammondd, would the OnObjectEnter script trigger be set on the field itself or the layout?

                • 5. Re: Display or Hide fields depending on user privileges
                  aammondd

                  on the field

                  if it appears on multiple layouts you need to set it on each one since its layout specific

                   

                  • 6. Re: Display or Hide fields depending on user privileges
                    brian.curran

                    In total, there are 15 fields I need to hide which are in 3 separate tables.

                    1) One of the tables can have all its records set to 'No view' under custom privileges. When I log in as a standard user, the fields are completely blank but the label and the field itself remain.

                    2) The other two tables contain mixed data (standard users need to view some but not all data). I could split the table up and put the sensitive data in a new table and do the same as above. A workable solution but a fair bit of work involved and it still leaves the label and field on view.

                    3) Another option I've noticed is to restrict view access to sensitive data on a 'Custom Field Privileges' basis. This is the easiest method to maintain but the label remains and the field contains <No Access> instead of being blank as above.

                    So, going back to 'Conditional Formatting' - would it be possible to change the colour of the font (label and field) plus the field background itself to the same colour as the background if the field = <No Access>

                    • 7. Re: Display or Hide fields depending on user privileges
                      brian.curran

                      I've been experimenting with number 3) above and have set up the following:

                      I created a Global field in a new Table that has the following calculated field "Get(AccountName)"
                      Then, on my layout I set conditional formatting  NewTable::account_name_global = "user"
                      The label font, field font and field background are set to white so everything disappears except for the field 'shadow'

                      This seems to work fine when I'm logged in as brian.curran but not if I log in as user. I'm guessing that it might be something to do with the way the global field is set up, any suggestions?

                      Thanks
                      Brian.