I have found the solution!
I have setup an test environment, Sharepoint 2013 on MS Server 2008R2 and installed Sharepoint Designer 2013. When I now edit the default out of the box "Approval - Sharepoint 2010", if you enter the condition "if current item field equals value", you can
now select "Approval Status"!!
So this means that it IS available after all! After a lot of trying, searching, this is the solution in a Sharepoint 2010 environment, installed on MS Server 2008R2:
- Edit the (global or copied version if you want) workflow.
- Add the condition "if current item field equals value" as a step.
- Select from the item field: Content Type
- Click on "equals" and change it to "not equals"
- Then click on the condition and enter manually the following: 0;#Approved
- Move the task "Start Approval Workflow Task..." up so it is a part of the condition "If.. "
- Add an Else condition
- Enter here your custom action or log to show the user that the Task is not performed.
- Save the workflow.
We now have to manually edit the Workflow Rules file.
- In Sharepoint Designer 2010, click at the left side of the ribbon on "All Files".
-
- If you have created a custom workflow, you can find the "Workflow.xoml.rules" file, in the folder
Workflows/"Your custom workflow"/"CustomWorkflow.xoml.rules".
- If you are using the global, out of the box Workflow, you can find the .rules file in:
_catalogs/wfpub/Approval - SharePoint 2010/ReviewApproval_1033.xoml.rules
- Click on the file, then in the next screen click on "Edit file" under Customization. 4.Search for the string "ContentType" 5.When you have found the string, it looks a bit like this:
ns1:String xmlns:ns1="clr-namespace:System;Assembly=mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">ContentType ns1:String
(When you look a few lines below this line, you see your added condition 0;#Approved)!
6.Replace the string ContentType with: _ModerationStatus 7.Save the file! 8.Open in the current directory the "Workflow.xoml" file (this is the workflow itself) 9. Click on the Save button, it will give you a notice:
A more recent version of _catalogs/wfpub/Approval - SharePoint 2010/ReviewApproval_1033.xoml.rules has been saved to the server by "user" on 1/5/2014 10:50 AM.
Do you want to replace this with your file?
Click NO! (Important, otherwise it will replace it with the default rules file, and nothing has changed!)
- Close Sharepoint Designer 2010, reopen SPD2010 and go to the workflow.
- Edit the workflow and you'll see the following now:
"If Current Item: equals 0;#Approved"
The field Content Type is now gone! This is correct so don't worry!
-
Publish the workflow and you are done!
-
Check now on a library that has a link to the edited workflow, when you start a new Workflow on a Approved-Major version of the document, what the outcome is:
The workflow is discarded because of the condition and nothing happened, so your document stays on the most recent Approved-Major version and is not published back to a previous version number!!
Conclusion: I think that the Sharepoint 2010 Designer, is missing that specific "Approval Status" field, but with the solution i have just given, you can solve this!