def METHOD_NAME(self, publisher, publication_status, created_by=None):
    """Check if current user can edit an event with the given publisher and publication_status"""
    if self.is_admin_of(publisher):
        return True
    # Non-admins can only edit drafts.
    if publication_status == PublicationStatus.DRAFT:
        if settings.ENABLE_EXTERNAL_USER_EVENTS and (
            publisher is None or publisher.id == settings.EXTERNAL_USER_PUBLISHER_ID
        ):
            # External users can only edit their own drafts from the default organization.
            return self.is_external and created_by == self
        else:
            # Regular users can edit drafts from organizations they are members of.
            return self.is_regular_user_of(publisher)
    return False