'Raises PermissionDenied if the passed user does not have an
OperatorPermission object for the passed carrier and region.'

def require_operator_permission(self, user, carrier, region):

    if user.is_anonymous():
        raise PermissionDenied()
    elif self.is_admin(user):
        return
    carrier = (carrier if isinstance(carrier, (int, long)) else CARRIER_MAP[carrier].id)
    region = (region if isinstance(region, (int, long)) else REGIONS_DICT[region].id)
    passes = OperatorPermission.objects.filter(user=user, carrier=carrier, region=region).exists()
    if (not passes):
        raise PermissionDenied()
