Skip to main content
Added details for clarification
Source Link
AtariPixel
  • 324
  • 1
  • 9

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field, replace "username" with the username of your admin, 1 condition for each user (here's 2):

        contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")
    

Keep adding "or..." for however many Admins you have.

  • Run these actions Switch views (select the admin view)

There may be a way for you to incorporate the people picker into this, but the solution above is a good workaround for me.

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field:

        contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")
    

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field, replace "username" with the username of your admin, 1 condition for each user (here's 2):

     contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")
    

Keep adding "or..." for however many Admins you have.

  • Run these actions Switch views (select the admin view)

There may be a way for you to incorporate the people picker into this, but the solution above is a good workaround for me.

added 4 characters in body
Source Link
Robert Lindgren
  • 24.5k
  • 12
  • 53
  • 79

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field:

        contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")
    

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field:

    contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")
    

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field:

        contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")
    
Source Link
AtariPixel
  • 324
  • 1
  • 9

Here's the workaround that I use.

Step 1: Add a column to calculate current user

  • Create a Single line of text column called CurrentUser
  • In InfoPath, edit the properties of the column and change the default value to userName()
  • Check the box for Refresh value when formula is recalculated

Step 2: Remove the Admin view from the drop down

  • In InfoPath on the Page Design tab, click Properties under View:
  • In the View settings section, deselect Show on the View menu when filling out this form

Step 3: Switch to admin view for admins

  • On the Data tab, select Form Load in the Rules section of the ribbon

  • Create a new rule (Action)

  • Condition:

  • Choose The expression from the drop down

  • Type the following expression in the text field:

    contains(dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username") or (dfs:dataFields/my:SharePointListItem_RW/my:CurrentUser, "username")