I have a custom object that has 4 regions represented as picklist values. Users for each region are stored in Public Groups. I have created 4 sharing rules for those regions shared with those groups, permission sets for those users that have access to the one page layout with 4 record types. So each record type displays the correct picklist value only, and not the other 3.
The New and Edit page of my object is a visual force page with a standard controller and an extension, that overrides the field value of a separate field. What happens is when I select New or try to Edit a record with a user in a given region, he/she is able to see all the picklist values. I read somewhere on salesforce.com that the record type filtering should happen automatically for standard controllers.
Any ideas if I am missing anything else? Would appreciate any feedback regarding this issue, or other ideas on how to accomplish this?