Home > SharePoint > Approve or Reject multiple items in a SharePoint 2010 list

Approve or Reject multiple items in a SharePoint 2010 list

I’ve updated this solution, an update to this post can be found here

The out of the box list approval feature of SharePoint is extremely useful, not just for documents but you can quickly create many business solutions using this functionality, especially where a workflow may well be overkill.

One drawback is that users have to review and approve/reject each item  individually and on a list with many items, this can be quick time consuming.  The way to implement this functionality would be a custom action on the ribbon and looking around the Internet, I found a great solution from Sohel Rana to do exactly this.

The only problem, was that this was not ready for prime time and as Sohel states, “The code is not just download-and-deploy mode. This is just a piece of how you can implement. You may need to fine tuning the code as per your needs. But I’ve tried to give the gist of how this can be done.” Therefore I decided to build on his ideas and create a new solution that is just download and deploy and has a more consistent SharePoint look and feel.

This is a farm solution, so it is deployed though Central Admin.  The feature is scoped at Web level so to enable this functionality active the feature in Site Features within Site Settings.

Once enabled you’ll find a new action on the ribbon bar which is active when multiple items are selected as shown below.

This will then create a dialog which uses the familiar SharePoint Approve/Reject item look and feel.

Clicking on OK will set all selected items to the approval status and the comment text is also applied to all items.  Any workflows that are in-flight on these items are cancelled.


Categories: SharePoint
  1. Anonymous
    January 4, 2012 at 9:17 am

    You should add “Rights=”ApproveItems”” to the CustomAction in the elements file.

    • August 1, 2012 at 5:44 pm

      Good point, I’ve updated the solution and will post a source and WSP later today.

  2. Tom
    January 18, 2012 at 5:31 pm

    This is exactly what we need here, but I have tried to implement this and have failed. This is what I have done:

    1. Downloaded the cab file
    2. Renamed the cab file to wsp.
    3. Ran stsadm -o addsolution -filename approverejectselection.wsp
    4. Deployed the solution via Central Admin
    5. Activated it inside of SharePoint using the Site Features

    The item shows up in site features, and when I activate it, it shows as activated just as we would expect it to. Going to a document library, there is no sign of the new button in the ribbon, and the ribbon looks exactly like it did before. I have even tried rebooting the server, but to no avail.

    What am I doing wrong?


    • August 1, 2012 at 5:54 pm

      I put a RegistrationID in the Elements file as that fitted my needs, I’ve updated this and it will work for all lists, I will post Source and new WSP later.

  3. February 1, 2012 at 9:59 pm

    Can this be used to approve in document libraries or just ists?

    • August 1, 2012 at 5:45 pm

      My requirement was just for a custom list and I had a RegistrationID in the elements.xml. I’ve removed this and will put source and compiled WSP online later.

  4. mahdi
    July 2, 2012 at 10:02 am


    Thanks for your excellent solution. fortunately your code support multi-language in all aspect but the text of the button in ribbon. how can I change this text to mine?

    • August 1, 2012 at 6:03 pm

      I will post the source, you will need to update the LabelText in the Elements.xml. As this is a custom action and no translation exists from Microsoft, it’s not something that is easy to achieve without me creating resources and doing the translation myself.

      • August 3, 2012 at 1:45 pm

        I found a way to do this, the new solution should support all languages, please test and let me know.

  5. tom
    July 31, 2012 at 7:06 pm

    Your code is perfect with one slight problem….when you approve the item…the modified by field is the system account instead of the user that performed the action. This is necessary to perserve for auditing reasons…any way to make this change or provide the code?

    • August 1, 2012 at 5:51 pm

      I’m just reviewing the code and updating it, this will be fixed.

  6. August 3, 2012 at 1:52 pm

    The updated solution can be found here: https://ianankers.wordpress.com/2012/08/03/updated-approve-or-reject-multiple-items-in-a-sharepoint-2010-list-5/

    Please let me know your thoughts.

  7. Ed
    March 6, 2013 at 3:48 am

    Worked like a charm. Thank you!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: