Well, you might want to tell BP's high powered legal team that. I backed them down without even using counsel.Don't need to break a law to be fired for defying company policy.
They sure seemed to think that state law trumped company policy.
Company policy has limits. And the state of Texas has drawn a limit when it said employees cannot be forbidden from having guns in their cars in the parking lot. Why the heck else do you think the law was passed? So the company could just fire someone for this reason anyhow after the Texas Legislature forbid it?