* feat: subscription changes on program dashboard and details (#31909)
- add a h2 programs heading on program dashboard
- subscription ui changes on program dashboard
- subscription alerts on both pages
* feat: add subscription upsell, fix responsive layout of program dashboard (#31943)
* test: update tests for subscription changes on program dashboard (#32021)
* feat: subscription api changes on program dashboard (#32085)
* feat: add subscription segment events to program details and dashboard (#32164)
* feat: subscription changes on program dashboard and details pages (#32205)
* feat: subscription ui changes on program detail page (#31846)
* test: update tests for subscription changes on program details (#32020)
* feat: subscription api changes on program details (#32059)
Previously the programs dashboard picked the first course run enrollment
for a course to display on the dash if the user had multiple. Now it has
a preference for the enrolled course run that earned a certificate if
there is one.
if a learner has completed multiple course runs
of each course then they want to see course runs
with highest grades on associated programs.
LEARNER-4351
LEARNER-3438
The user can now enroll in a session, unenroll from a session or change session
from a new course enrollment card on the programs dashboard.
Learners should be able to enroll in future runs of courses in which they have an expired enrollment. Previously, the course card model populated itself by selecting the first course run in which the user was enrolled. When the user tried to enroll in another run, nothing would happen because they were already enrolled in the run the page was trying to enroll them in.
Instead of blindly choosing the first run in which the user is enrolled, we now fall through to the same behavior we use for courses in which the user is not enrolled when the user has expired enrollments.
LEARNER-933
Updates Mako and Underscore templates as well as Backbone models and views so they work with catalog programs. Removes all remaining response munging from the back end.
ECOM-4422
Displays a message and link when a user is enrolled in a program's course run but must upgrade in order to be eligible for the program certificate. ECOM-4220.
When program detail pages are enabled, cards on the listing page will link to their respective detail pages. Includes extensive cleanup of program listing tests. ECOM-4227.