'True if ``user`` is an author with any of the specified ``roles``.
``roles`` should be a list of valid roles (see mkt.AUTHOR_ROLE_*). If
not specified, has_author will return true if the user has any role.'

def has_author(self, user, roles=None):

    if ((user is None) or user.is_anonymous()):
        return False
    if (roles is None):
        roles = dict(mkt.AUTHOR_CHOICES).keys()
    return AddonUser.objects.filter(addon=self, user=user, role__in=roles).exists()
