Question: I am trying to create a form in Microsoft InfoPath designer 2013 using a SharePoint list, and I would like to allow users to designate who approves each stage.

Does anyone have any ideas on how I might do this?

Please note that I do not have the access in my organization to use SharePoint Designer in case that was part of your solution.

Answer: 
Hi All Thanks for the support.. 

**Question 1 Answer:**
i figured it out, i removed AllowedFileExtensions in designer and code behind 

```
<telerik:RadAsyncUpload ID="RadAsyncUpload1" runat="server" EnableInlineProgress="true" 
        UploadedFilesRendering="BelowFileInput" HideFileInput="true" ClientIDMode="AutoID" 
    MultipleFileSelection="Disabled" Localization-Select="Choose File" 
    Width="100%" MaxFileInputsCount="1"
 OnClientFileSelected="OnClientFileSelected" OnClientAdded="OnClientAdded">
<Localization Select="Choose File" /> </telerik:RadAsyncUpload>

```

Now add the event

> 
> OnClientFileSelected="OnClientFileSelected"
> 
> 
> 

i'm maintaining those color indications in client side. those color indications are not colors they are .png images which are applied through the classes.

**classname (color) .extensionused**

ruUploadProgress (orange) .gif

ruUploadFailure (red) .png

ruUploadSuccess (green) .png

```
function OnClientFileSelected(sender, args) 
    {
        var fileExtention = args.get_fileName().substring(args.get_fileName().lastIndexOf('.') + 1, args.get_fileName().length);
        if (args.get_fileName().lastIndexOf('.') != -1)
        {
          var colorSpan = $('#<%=RadAsyncUpload1.ClientID%> ul li span span');
                            //checks if the extension is correct
          if (fileExtention.toLowerCase() == "csv")
          {
             colorSpan.removeClass("ruUploadFailure").addClass("ruUploadSuccess");
          }
          else
          {
             colorSpan.removeClass("ruUploadSuccess").addClass("ruUploadFailure");
          }
        }
    }

```

**Question 2 Answer:** 

I found Solution for this too, just add event **OnClientAdded="OnClientAdded"**

Now in Java Script Add function:

```
function OnClientAdded(sender, args) {
    document.getElementById($('input[type=file]').attr('id')).accept = ".csv";
}

```

That's it Done..!!! :-) Enjoy..
The RadAsyncUpload blocks the invalid files from getting uploaded. You're going to need to do client-side validation to set the appropriate message because by the time it gets to the server, the file is not there since it's not a CSV. Take a look at Telerik's documentation at <http://www.telerik.com/help/aspnet-ajax/asyncupload-onclientvalidationfailed.html> 

They even provide an example of seeing if the file extension is in the allowed list.

Edit: To get your error strings from a database, you can add something like

```
var badFileName = '<asp:Literal runat="server" ID="litBadFileName" />';
var noFile = '<asp:Literal runat="server" ID="litNoFile" />';

```

Then populate those two literals on Page\_Load from the database.