def share(self, project, to_user, force_send, auth_role, user_message):
        """
        Send mail and give user specified access to the project.
        :param project: RemoteProject project to share
        :param to_user: RemoteUser user to receive email/access
        :param auth_role: str project role eg 'project_admin' to give to the user
        :param user_message: str message to be sent with the share
        :return: str email we share the project with
        """
        if self._is_current_user(to_user):
            raise ShareWithSelfError(SHARE_WITH_SELF_MESSAGE.format("share"))
        if not to_user.email:
            self._raise_user_missing_email_exception("share")
        self.set_user_project_permission(project, to_user, auth_role)
        return self._share_project(D4S2Api.SHARE_DESTINATION, project, to_user, force_send, auth_role, user_message)
def share ( self , project , to_user , force_send , auth_role , user_message ) : if self . _is_current_user ( to_user ) : raise ShareWithSelfError ( SHARE_WITH_SELF_MESSAGE . format ( "share" ) ) if not to_user . email : self . _raise_user_missing_email_exception ( "share" ) self . set_user_project_permission ( project , to_user , auth_role ) return self . _share_project ( D4S2Api . SHARE_DESTINATION , project , to_user , force_send , auth_role , user_message )
Send mail and give user specified access to the project.
        :param project: RemoteProject project to share
        :param to_user: RemoteUser user to receive email/access
        :param auth_role: str project role eg 'project_admin' to give to the user
        :param user_message: str message to be sent with the share
        :return: str email we share the project with