Question

I have enabled version history for my list with approval need, and am doing some API calls to get the last n versions of that item through:

_api/web/lists/getbytitle('Mylist')/items(ItemID)/versions?$top=10

, so far so good, but when a user change something and moderationstatus (i.e. OData__x005f_ModerationStatus) changes to Pending (i.e. 2), if I call the api to get the version history during the time that it is in the pending mode (i.e. prior to approval) I see that the value of IsCurrentVersion is True for the last two items (i.e. the item with the pending status and the item before it). I appreciate if someone can explain the logic please. Should not IsCurrentVersion should be true for the last version only whether it is approved or not?

Another related question: Why can I see a version with status of pending in the list of versions of that item? Is it because I have enabled draft versioning?

enter image description here

enter image description here

Was it helpful?

Solution

Per my test, I got the same result as yours on my end. And if you rejected the pending item, IsCurrentVersion would also be true for this rejected item. So there should be two vesions that IsCurrentVersion is true(the last approved version and not approved vesion). For users who can only see approved version(read permission), they cannot see not approved item. So the latest approved version is current version. For users who can see all versions, the not approved item would be current version.

For the second question, the version with pending staus is draft item. And you set users with edit permission can see the draft item in Draf Item Security, so you could see the pending item if you have editing permission.

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top