Forum Discussion

Jeff_Lacarte's avatar
Jeff_Lacarte
Brass Contributor
Nov 05, 2021

Approval Status Column Suddenly Numeric - Due to Column Formatting?

I'm working in my tenant and noticed an issue with all of my lists that have content approval turned on. The approval status column now lists a number instead of the words "Approved" | "Rejected" | "Pending" I see 0 | 1 | 2.


I've created a new list and the words show up fine... but as soon as I turn on column formatting the words turn to numbers...

 

  • Jeff_Lacarte's avatar
    Jeff_Lacarte
    Brass Contributor

    Fixed it with a workaround, but it's still an issue. I can't be expected to use a workaround for every list that I need to apply conditional formatting to the approval status column.

     

    By going into advanced mode to work with the formatting JSON directly I could see:

     

    "txtContent": "[$_ModerationStatus]"

     

     
    which is displays the value for a given item in a row of the column.
     
    Through trial and error and referencing the syntax reference, I found that you can use '@currentField', which also displayed the numeric value of the approval status. However, once I added '.displayValue' the text value showed up again!

     

    "txtContent": "@currentField.displayValue"

     

    As for why this happened? I have no idea. This is a workaround for now.

     

    • TonieB's avatar
      TonieB
      Copper Contributor

      This problem suddenly started for me today on all libraries where there is formatting on the Approval Status column.  The problem is not resolved by turning off the column formatting.  When I turn off the column formatting, now instead of a number the Approval Status column is blank.  I had to go then into the Advanced link and delete the json code, which should already disappear when I turned off the column formatting. I don't see any other info on this issue except for your post, but surely this must be occurring due to some Microsoft change. (My Approval Status columns have been formatted for over a year and I have made no recent changes to my site or libraries.)  Jeff_Lacarte 

      • Jeff_Lacarte's avatar
        Jeff_Lacarte
        Brass Contributor

        TonieB Thank you for confirming that you have the same problem. I suspected it might have been a MS change behind the scenes.

         

        I encourage others to try testing a new list with content approval turned on and try adding column formatting on the Approval Status column. I suspect you will have the same results as TonieB and I. It would be helpful too if others post their results here.

         

        TonieB, if your JSON formatting isn't terribly complex, I would try copying it into an editor like VS Code and do a find and replace on: [$_ModerationStatus] to @currentField.displayValue. That should at least get you back up and running as a workaround for now.

    • nfsg20's avatar
      nfsg20
      Copper Contributor
      Had the same issue at a customer. This is actually a good change because you don't have to check the approval status value for multiple languages anymore (if this is necessary for you). I hope it does not get reverted.
      • Jeff_Lacarte's avatar
        Jeff_Lacarte
        Brass Contributor
        Giving you access to the enumeration value is a good change sure, but changing the returned value of an existing variable is not. People have built custom views around this, and to change it is not ok.
  • Aitor_DLF's avatar
    Aitor_DLF
    Copper Contributor
    The same problem has appeared on all my sites this week, where I had already implemented a JSON code that has been working for years and nothing similar has ever happened. I hope MS looks for a patch ASAP because this type of bugs does not look good in collaboration systems
  • SteveB's avatar
    SteveB
    Brass Contributor

    Same issue for us. We changed the json formatting to refer to "ModerationStatus" instead and this looks ok. HOWEVER when a search term is entered, all results are showing "Rejected" instead of their true status. Microsoft, fix it please!

  • Jeff_Lacarte Are you applying JSON formatting on Approval status column?

    If yes, this is the reason column showing values differently because SharePoint saves approval status column values based on the SPModerationStatusType Enum.

     

    Can you show us the JSON code you are using to format list/column?


    Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

    • Jeff_Lacarte's avatar
      Jeff_Lacarte
      Brass Contributor

      I was using JSON formatting yes, and it was working fine all week. It seems to have changed on me suddenly. The screenshot in provided is from a brand new list that had no formatting applied. I turned on column formatting and as soon as I did that even without creating a rule the enum shows it's value instead of it's text. Below is a gif of reproducing the issue on a brand new list. Sorry, it's fast, I wanted to keep the size down.

       

  • Amiryunus's avatar
    Amiryunus
    Copper Contributor
    Noted the same issue with all Lists in SP Online where conditional formatting was applied based on the approval value
  • DavidLang's avatar
    DavidLang
    Copper Contributor

    Jeff_Lacarte 

    We have the same issue with impact to the whole list.

    The Approval Status formatting was used in our lists also for the other columns in the same list, however, the formatting is not working with the number "0" and also not for the word "Approved".

    It is really a pity because it was really nice and simple feature to see the approval status in the first column. I hope that Pernille-Eskebo  will solve this issue.

Resources