0

I have a request that the permissions inheritance(library to item) in the InfoPath form library should NOT to be broken.

So what I am looking for is that the submitter group that has a read access to the form library, gains contribute level access or simply runs the submitting process with elevated permissions so that the form can be submitted. After the submission the submitter stays with read access. How can I make sure through the event receiver that the submitters with read access will be able to submit the form.

Can I intercept the submission process WITH the event receiver and run it under elevated privileges?

1
  • Use folders. Break inheritance at folder level. Form will be submitted at the root of the forms library. Move it to the folder in the event receiver. May 14, 2015 at 23:37

1 Answer 1

0

You don't need Event Receiver, rather you can do this with custom code along with your InfoPath form.

  1. Open your form template in InfoPath Design mode.
  2. Under Tools, choose Form Options -> Category -> Security and Trust -> Full Trust.
  3. Form Options -> Programming -> C#
  4. Now Drop a Button -> Properties -> Edit Form
  5. This will bring up Visual Studio
  6. Add Reference to SharePoint Assemblies
  7. Use below Code on Click event

    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
        this.Submit();
    });
    
1
  • Thanks for you answer. I have two questions. How do I know which submit data connection “this. Submit” references in the Submit button, what if there is an attached rule to submit and loads of code in the button already? Second: would it not be simpler to have similar code on Item Adding in the event receiver, but what I do not know is how to make sure that the actual process of elevating privileges is including the addition of item. I thin with the InfoPath being discontinued the company policy is to shift weight in code writing to the event receivers. Thanks ahead
    – Nemanja
    May 14, 2015 at 22:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.