[buddypress-trac] [BuddyPress Trac] #6210: Create New Invitations API

buddypress-trac noreply at wordpress.org
Wed Mar 13 22:14:12 UTC 2019

#6210: Create New Invitations API
 Reporter:  dcavins                      |       Owner:  dcavins
     Type:  enhancement                  |      Status:  reopened
 Priority:  low                          |   Milestone:
Component:  Core                         |     Version:
 Severity:  normal                       |  Resolution:
 Keywords:  dev-feedback trac-tidy-2018  |

Comment (by dcavins):

 I'm attaching a new patch, that makes the following changes to the
 previous patch:

 • Rename logic classes and invitation object class:
   - `BP_Invitation` is the invitation object
   - `BP_Invitation_Manager` is the base logic class
   - `BP_Groups_Invitation_Manager` is the extension for group invitations.

 • Mark the base class and the methods within it, `run_send_action()` and
 `run_acceptance_action()`, `abstract`. You gotta bring your own business
 logic if you wanna play.

 • Remove `component_name` and `component_action` fields. I'm using the
 (sanitized) name of the extension class in place of this previous
 identifier, which I think makes sense. For example, a group invitation is
 stored like this:
 id: 9
 user_id: 3
 inviter_id: 1
 class: bp_groups_invitation_manager
 item_id: 8
 secondary_item_id: 0
 type: invite
 content: We would love it if you would join our group!
 date_modified: 2019-03-13 21:37:44
 invite_sent: 1
 accepted: 0

 Let me know if that's a bad idea for some reason. It seems simple to me,
 and also implies that that field will be unique per extension class,
 because a duplicated class would throw an error for php reasons. Of
 course, if you change the name of your extension class, the invitations in
 the database will be left disconnected. (The same would be true if you
 changed the `component_name` property with the earlier patch.)

 • Break the accept/reject membership request links and acceptance logic,
 which previously keyed on the `membership_id` of the request, using query
 arguments instead of `bp_action_variable` positions. New links look like:

 • Update tests, adding a test invitation extension (now that the base
 class is abstract).

 Thanks in advance for your feedback!

Ticket URL: <https://buddypress.trac.wordpress.org/ticket/6210#comment:28>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac

More information about the buddypress-trac mailing list