This question has been flagged
5 Replies
8482 Views

I want to be able to "Mark All as Read" for a set of messages, rather than having to click on each one.

I'd like to be able to select a set of messages in the same way I can select a set of records in the table view mode for other views, and then use More->Mark as Read.

Is this possible?

Avatar
Discard

+1 For the question. Im looking for any solution too.

Best Answer

Assuming v8, there is no easy button to "Mark all as read" unfortunately.

For the following procedure, you need to have access to the Settings. Your user also needs the Technical Features checkbox checked. And you need to have the Import feature activated.

The best workaround is to go to Settings > Technical > Email > Notifications. Then advance-search "Read is False". Then check the checkbox to select all (or just the records that you want to mark as read) and go to More > Export. Here you have to select "Import-compatible export" in the CSV format and add the "Read" field in the right column. Then Export to file and open the csv with a spreadsheet reader (LibreOffice, Excel, or google spreadsheet). Replace the cells of the column "is_read" from FALSE to TRUE and leave everything else the same. Save this file locally.

Then back in Odoo in the Notifications list view where you were, click Import (next to the create button). Select the CSV file you saved. It will recognize the column headers automatically and you can click the Validate button that should show a green validation if you did everything properly. Then click on Import. This will change from Unread to Read all the records you had selected at once.

Avatar
Discard
Author

That's... incredibly sub-optimal. Please add this feature to the current view, or add a list view where you can do this as an action on a selection of items. If I get some time, I'll have a crack at a patch myself, because this is a super-needed function.

Best Answer

If you get someting like this:
null value in column "partner_id" violates not-null constraint DETAIL: Failing row contains (14847, t, f, null, 8003). in Zeile 2

You are not doing the Export/Import on the right table.
Try again: Settings > Technical > Email > Notifications (NOT Settings > Technical > Email > Messages)

God luck!

Avatar
Discard
Best Answer

As suggested, I selected all unread messages and clicked export. I chose "import compatible export" and I selected just "notifications/read". After exporting I get a file like that:

"id","notification_ids/is_read"
"__export__.mail_message_8003","False"
"__export__.mail_message_7992","False"
"__export__.mail_message_7984","False"


I changed "False" to "True" and tried to import. Odoo detects the columns correctly, but I am getting this validation error:

null value in column "partner_id" violates not-null constraint DETAIL: Failing row contains (14847, t, f, null, 8003). in Zeile 2
null value in column "partner_id" violates not-null constraint DETAIL: Failing row contains (14848, t, f, null, 7992). in Zeile 3
null value in column "partner_id" violates not-null constraint DETAIL: Failing row contains (14849, t, f, null, 7984). in Zeile 4
Avatar
Discard