mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
57 lines
2.2 KiB
Plaintext
57 lines
2.2 KiB
Plaintext
From: Spine
|
|
To: Moderators
|
|
Date: 2021-06-19
|
|
Subject: Orpheus Development Papers #5 - Invite Sources
|
|
Version: 1
|
|
|
|
This feature helps you keep track of how people were invited via interviews
|
|
and recruitments from other trackers. Most people who buy invites from the
|
|
Bonus Shop for personal friends are not concerned by this. But for people
|
|
who interview or recruit, it is helpful for them to be able to keep the
|
|
source origins distinguished, as it is for staff.
|
|
|
|
1. Configure admin permissions for the appropriate user classes. Grant
|
|
admin_manage_invite_source to moderators and above. This will allow these
|
|
people to configure invite sources. It can also be done on a per-user basis
|
|
via custom permissions.
|
|
|
|
Run the seeder: `phinx seed:run -s InviteSource`
|
|
|
|
/tools.php?action=permission
|
|
|
|
2. Add the invite sources: mnemonic names of trackers that everyone
|
|
understands. Consider adding an Interview source as well if you do
|
|
interviews, for interviewers and personal invites. These are stored in the
|
|
invite_source table.
|
|
|
|
/tools.php?action=invite_source_config
|
|
|
|
Once added, and referred to (by a member who has been granted its use, a
|
|
member who has been sourced from it), a source may no longer be removed.
|
|
You will need to tidy up the database directly.
|
|
|
|
3. Grant sources to members. Search for users who have the R or IN
|
|
secondary classes. On their profile page, a new "Invite Sources" section
|
|
will appear. Check the sources that are appropriate for this user. These
|
|
grants are stored in the inviter_has_invite_source table.
|
|
|
|
/tools.php?action=invite_source
|
|
|
|
4. Inform the members. When they invite people, they will see an additional
|
|
select box showing the options that have been configured for them. They can
|
|
then set the source when the invitation is issued. The source is tied to
|
|
the invite key via the invite_source_pending table, so that when the
|
|
invitee creates their account, the source is attached to their profile (in
|
|
the user_has_invite_source table).
|
|
|
|
They can also go the list of their invitees and backfill the existing
|
|
invitees.
|
|
|
|
/user.php?action=invite&edit=source
|
|
|
|
5. On the profile page, the Invite: information will now say "by <user>
|
|
from <source>".
|
|
|
|
6. If a source is removed from a recruiter, all their invitees that were
|
|
tagged as coming from that source will remain.
|