How to only display all posts to a custom User Role?

I have a custom user role and I want to display all custom website posts to them, without letting them edit/delete them. Right now the custom post doesn’t show up in their dashboard. I know it will show up when I add the edit and delete caps, but I only want them to be able to see their “websites”. Ultimately they only get to see the websites that have a custom field that is a relation to the client user. So client1 can only see websites of client1, etc. I have the following code:

How can I achieve this?

EDIT: Ok, I found the hook restrict_manage_posts which I can use to show only the posts assigned to them. Now I still need a way to make sure they show up, without letting them edit the posts. So the custom Post should show up in the dashboard without me giving them caps to edit.