Prevent correspond/comment on resolved tickets

Hi everyone - first email to the list! - ,

Context:
RT version is 4.0.4.

My use case is fairly simple & common; I’ve added a ‘done’ state to ticket lifecycle and among other needs:

  1.    I want to make 'resolved' tickets unable to transition to any other state than 'done' (prevent reopening 'resolved' tickets). (this is done)
    
  2.   I want to prevent our users to interact - comment/reply - with tickets in state 'resolved'.  (here come the problems..)
    

With a little bit of research and trial&error I managed to accomplish the first requirement. I realized I don’t even need to disable the scrip ‘on Correspond reopen’ if I define the Lifecycles properly at RT_SiteConfig.pm.

Problem:
Im currently struggling with the requirement that, at first glance, looked more simple and straightforward to me: If a ticket is in state ‘resolved’ I want to disable the possibility of doing interactions with it (ie: not allow any correnspond nor comment).

Yes, I could edit the code at RT/Ticket::Correspond… but that’s not what I want to do.
And yes, I could create a scrip that intercepts transactions on ‘resolved’ tickets, but Im sure there’s more elegant (and maintainable) solutions.

Of course, I’d notify our users that they are trying to interact with a resolved ticket, and that what they should do is open a new request. I already got a scrip for that.

Any help/guidance would be more than appreciated; I thought it’d be a common config, but I’ve gone through RT mail list archives and couldn’t find how to.

Thanks in advance,
Oriol Soriano.