Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/17/2013 07:00:46 PM (11 years ago)
Author:
boonebgorges
Message:

Improve UX flow around overlapping group invites and requests

This changeset introduces a number of improvements to the flow surrounding
invitations and membership requests to private groups:

  • When a user has previously requested membership in a group, add a note to that effect when the user is being invited to the group via the Send Invites interface.
  • When a user has previously requested membership in a group, automatically accept that invitation and add the user to the group when an invitation is sent by an existing group member.
  • When a user has previously been invited to a group, buttons in the group directory and in the group header should read Accept Invitation instead of Request Membership

The end result is a more logical user experience with regard to joining private
groups.

Fixes #5032

Props Mike_Cowobo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups/bp-groups-template.php

    r7439 r7442  
    17811781                case 'private' :
    17821782
    1783                     // Member has not requested membership yet
    1784                     if ( !bp_group_has_requested_membership( $group ) ) {
     1783                    // Member has outstanding invitation -
     1784                    // show an "Accept Invitation" button
     1785                    if ( $group->is_invited ) {
     1786                        $button = array(
     1787                            'id'                => 'accept_invite',
     1788                            'component'         => 'groups',
     1789                            'must_be_logged_in' => true,
     1790                            'block_self'        => false,
     1791                            'wrapper_class'     => 'group-button ' . $group->status,
     1792                            'wrapper_id'        => 'groupbutton-' . $group->id,
     1793                            'link_href'         => add_query_arg( 'redirect_to', bp_get_group_permalink( $group ), bp_get_group_accept_invite_link( $group ) ),
     1794                            'link_text'         => __( 'Accept Invitation', 'buddypress' ),
     1795                            'link_title'        => __( 'Accept Invitation', 'buddypress' ),
     1796                            'link_class'        => 'group-button accept-invite',
     1797                        );
     1798
     1799                    // Member has requested membership but request is pending -
     1800                    // show a "Request Sent" button
     1801                    } elseif ( $group->is_pending ) {
     1802                        $button = array(
     1803                            'id'                => 'membership_requested',
     1804                            'component'         => 'groups',
     1805                            'must_be_logged_in' => true,
     1806                            'block_self'        => false,
     1807                            'wrapper_class'     => 'group-button pending ' . $group->status,
     1808                            'wrapper_id'        => 'groupbutton-' . $group->id,
     1809                            'link_href'         => bp_get_group_permalink( $group ),
     1810                            'link_text'         => __( 'Request Sent', 'buddypress' ),
     1811                            'link_title'        => __( 'Request Sent', 'buddypress' ),
     1812                            'link_class'        => 'group-button pending membership-requested',
     1813                        );
     1814
     1815                    // Member has not requested membership yet -
     1816                    // show a "Request Membership" button
     1817                    } else {
    17851818                        $button = array(
    17861819                            'id'                => 'request_membership',
     
    17941827                            'link_title'        => __( 'Request Membership', 'buddypress' ),
    17951828                            'link_class'        => 'group-button request-membership',
    1796                         );
    1797 
    1798                     // Member has requested membership already
    1799                     } else {
    1800                         $button = array(
    1801                             'id'                => 'membership_requested',
    1802                             'component'         => 'groups',
    1803                             'must_be_logged_in' => true,
    1804                             'block_self'        => false,
    1805                             'wrapper_class'     => 'group-button pending ' . $group->status,
    1806                             'wrapper_id'        => 'groupbutton-' . $group->id,
    1807                             'link_href'         => bp_get_group_permalink( $group ),
    1808                             'link_text'         => __( 'Request Sent', 'buddypress' ),
    1809                             'link_title'        => __( 'Request Sent', 'buddypress' ),
    1810                             'link_class'        => 'group-button pending membership-requested',
    18111829                        );
    18121830                    }
Note: See TracChangeset for help on using the changeset viewer.