Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨(courses) add offer and price fields to courseRun #2549

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Tiago-Salles
Copy link
Contributor

@Tiago-Salles Tiago-Salles commented Nov 29, 2024

In quick words this PR includes:

  • Add price fields to CourseRun
  • Show price fields on the screen

Purpose

We at NAU identified the necessity of managing prices using Richie in our use case. There are two prices, course price and certificate price.

Aimed to this functionality we created resources for the both course run information input points, which are the sync api and the admin course management. With these resources the companies using Richie, can handle price information with or without third-party components for their instances.

The prices are accompained with their corresponding offer following the Google recomendation.

These information are configured at the CourseRun level, and can variate its presentation on the screen with a easy business logic. If there is offer, show the offer message and if price is not null, show it as well. If there is no offer configured then the fields are hidden, even having price set up.

Companies that believe it is better in terms of clear communication to show price in all cases, even with a Free offer (0.00), it can be done by setting the price as 0. That is, it will always show the price if set up, but in all cases respecting the condition either offer configured or not, otherwise the field is hidden. The offer is always the main information, even if is set up as Paid and price equals 0.00.

Here are the available offer options, and for each of them the message used to communicate the user.

Offer messages for course enrollment

Paid - The course content is paid.
Free - The course content is free.
Partially Free - The course content is free.
Subscription - Subscribe to access the course content.

Offer messages for certification process

Paid - The certification process is paid.
Free - The certification process is free.
Subscription - The certification process is offered through subscription.

Presentation

With both offers as Paid it is possible to get straight to understand of how the screen will display these information. According to the above listed options, the correspoding message will be shown, and if there is price, it will follow in the next line.

drawing

And with a null offer, the entire price section ( title, message and price ) is hidden, even with a price configured being different from null.

Available on the admin

Companies don't use the sync resource to create or update CourseRun can manage their course editions offers and prices using the admin management in the course page edition mode.

drawing

Options to choose

To set an offer, there are dropdown components with the corresponding choices.

Course offer

drawing

Certification offer

drawing

@Tiago-Salles Tiago-Salles force-pushed the Tiago-Salles/issue/2451/model-add-price branch 6 times, most recently from fbc3e6e to 688a379 Compare December 9, 2024 14:32
@Tiago-Salles Tiago-Salles force-pushed the Tiago-Salles/issue/2451/model-add-price branch 7 times, most recently from 756e3cd to 1af7ddb Compare December 11, 2024 11:49
@Tiago-Salles Tiago-Salles marked this pull request as ready for review December 11, 2024 13:29
@igobranco igobranco self-requested a review December 11, 2024 14:05
@igobranco
Copy link
Collaborator

@Tiago-Salles you should include the price_currency on the admin screen. For example this will be important for courses that are on different LMS platforms, for example on NAU case we have course runs on both edx.org ( use dollar) and NAU LMS (use euro).

src/richie/apps/courses/admin.py Show resolved Hide resolved
src/richie/apps/courses/admin.py Show resolved Hide resolved
@igobranco
Copy link
Collaborator

@Tiago-Salles review the commit message. The `(backend) is incorrect. You have changed front and back end code.

@Tiago-Salles Tiago-Salles force-pushed the Tiago-Salles/issue/2451/model-add-price branch 2 times, most recently from 3d876b5 to c300f5b Compare December 16, 2024 09:30
- Add price fields to CourseRun
- Show price fields on the screen
@Tiago-Salles Tiago-Salles force-pushed the Tiago-Salles/issue/2451/model-add-price branch from c300f5b to dc05c7c Compare December 16, 2024 09:40
Copy link
Collaborator

@igobranco igobranco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✔️

@igobranco igobranco requested a review from jbpenrath December 16, 2024 12:29
@igobranco
Copy link
Collaborator

@jbpenrath Can someone from FUN review this PR?

@Tiago-Salles Tiago-Salles changed the title ✨(backend) add offer and price fields to courseRun ✨(courses) add offer and price fields to courseRun Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants