How are Group additions & removals determined during Paid Subscription events?

  • Affected Version
    WoltLab Suite 3.1

    We use a group called PayingMembers to which everyone who buys a subscription is added automatically.

    They can buy multiple subscriptions, allowing access to different areas, but they are always a member of PayingMembers.

    So we have groups like:






    If someone buys a Purchasing subscription, they are added automatically to the PayingMembers and Purchasers groups.

    If they then buy a Selling subscription, they are added to the PayingMembers group (which they were already in) and the Sellers group.

    Then we use the PayingMembers group as a broad-brush permission for all the areas of the forum that any paying member can access -- makes sense of course.

    Now, when their Purchasing subscription expires, they are removed from the Purchasers group, but not the PayingMembers group, because they are still a member of PayingMembers via their Selling subscription (this is desired behaviour and a very welcome change from 3.0).

    My question is, what logic determines whether each auto-added Group is set to false when a subscription terminates?

    (We are undergoing some changes to our subscription structure, and want to know, among other things, what to expect if we manually set a flag that is also part of a subscription).

    Thanking you in advance ?