Categories
Bloggers
Blogs RSS feed

Workflow Rejection for Dynamic Module Items Using the Sitefinity API

by Stanislav Velikov

When moving Sitefinity module builder items through the workflow, the standard method used is to call.

It is the extension method SetWorkflowStatus which allows you to state the status of each item to Published, Draft, AwaitingApproval, AwaytingPublishing, Rejected.

dynamicItem.SetWorkflowStatus(testsItem, dynamicModuleManager.Provider.ApplicationName, "Published");
           dynamicModuleManager.SaveChanges();

 

The case with rejected, however, doesn`t support the addition of a rejection reason when rejecting an item sent for approval through code. While this is available through the UI and the rejection reason can be added, using SetWorkflowStatus doesn`t support it.

For this purpose until this feature is implemented and SetWorkflowStatus supports addition of a rejection reason, you can use the custom class that can be downloaded from here and provides customization of the SetWorkflowStatus method.

To use the class, call the static method  IWorkflowExtensionsCustom. SetWorkflowStatus

IWorkflowExtensionsCustom.SetWorkflowStatus(testsItem, dynamicModuleManager.Provider.ApplicationName, "Rejected",new CultureInfo("fr"),"rejection reason: fix spelling");
           dynamicModuleManager.SaveChanges();

 

Leave a comment