Consolidate benefits display into single card - #754
Conversation
8d07584 to
ed59dad
Compare
| return [ | ||
| (org, sub.plan) | ||
| for org in user.organizations.filter(individual=False) | ||
| for sub in org.subscriptions.select_related("plan") | ||
| if not sub.plan.free | ||
| ] |
There was a problem hiding this comment.
This doesn't seem to handle member orgs that inherit plans from a parent, only orgs with their own direct subscriptions.
There was a problem hiding this comment.
There was a problem hiding this comment.
There's a comment that says:
Plans the org inherits from parents/groups are intentionally excluded here -- those are an org-level concept and confuse users when surfaced on their personal page
but that's from before we were consolidating the benefits. IMO it's now more confusing NOT to include inherited benefits. In this context, users have no reason to know or care whether they have 50 requests because of their org's subscription or their org's affiliate's subscription — they should see the full total of benefits available to them.
f643585 to
6590b34
Compare
8a942a9 to
295db68
Compare
- Adds new "benefits" field to `Entitlement`, which `Plan` can compose into a single list. - Falls back to existing `Plan.benefits` value, deduplicating strings when possible. - Shows a single "As a member of Org A, Org B, you inherit: <benefits list>"
89143f5 to
4bfa43f
Compare
| return [ | ||
| (org, sub.plan) | ||
| for org in user.organizations.filter(individual=False) | ||
| for sub in org.subscriptions.select_related("plan") | ||
| if not sub.plan.free | ||
| ] |
There was a problem hiding this comment.
| {% trans "You’re inheriting these benefits as a member of" %} | ||
| {% else %} | ||
| {% trans "Inherits" %} | ||
| {% trans "Inherits these benefits as a member of" %} |
There was a problem hiding this comment.
Should this be "as an affiliate of"?
| </div> | ||
|
|
||
| {% if subscription_benefits %} | ||
| <div class="plan-detail"> |
| return [ | ||
| (org, sub.plan) | ||
| for org in user.organizations.filter(individual=False) | ||
| for sub in org.subscriptions.select_related("plan") | ||
| if not sub.plan.free | ||
| ] |
There was a problem hiding this comment.
There's a comment that says:
Plans the org inherits from parents/groups are intentionally excluded here -- those are an org-level concept and confuse users when surfaced on their personal page
but that's from before we were consolidating the benefits. IMO it's now more confusing NOT to include inherited benefits. In this context, users have no reason to know or care whether they have 50 requests because of their org's subscription or their org's affiliate's subscription — they should see the full total of benefits available to them.



Closes #753
Entitlement, whichPlancan compose into a single list.Plan.benefitsvalue, deduplicating strings when possible.