Personally I feel it is the fault of the organization concerned. Whether it is a school, public or private, they should take immediate action when staff did not declare their private action that will impede the organization image or interest.
Many management adopt the 'I don't know' or choose not to know attitude. When organization takes a firmer stand then staff will have no reason to claim they are not aware if their action or dealing breach the code. They just have to declare and let management decide.
Many people are running their own business while employed. Being human, which business will you take care first? Greed is born within us. It is how we manage it.