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:


    PayingMembers

    Purchasers

    Sellers

    Makers

    Editors


    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 ?