Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/17/2013 07:00:46 PM (13 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.