I admit we only have a few details. I realize most posters so far want justice... but mercy is more my style.
Forgiving a guy can create real loyalty (and can make the world a better place - just ask him to pay it forward).
But... if the guy has a real substance abuse problem, keeping him isn't in his best interest... in that case, he needs a wake up call.