Conditionally disable editing after printPDF/email sent

I am thinking about a proper way to handle a specific use case.
We don’t want to allow editing of a record (AOS Quote) after quote has been printed to PDF or sent by email. Something like a conditional lock.
I was thinking about adding custom datetime field that will be given a current datetime stamp at first click of an action menu item of type (Print as PDF, Email PDF, Email Quotation). Then I would use custom editview.js file to set property to disabled for all form elements when datetime is not null.
Is this a proper way? Does anyone have a better suggestion?
Also where should I append onClick event for these action menus to include function for datetime entry? In the formLetter.pdf file?

I need something very similar to what you described. Did you have any luck?