Actual fix, I ended up just copying min_course_price_for_verified_for_currency:
@classmethod def min_course_price_for_currency(cls, course_id, currency): """ Returns the minimum price of the course in the appropriate currency over all the course's non-expired modes. If there is no mode found, will return the price of DEFAULT_MODE, which is 0 """ modes = cls.modes_for_course(course_id) for mode in modes: if mode.currency.lower() == currency.lower() and mode.min_price: return mode.min_price return 0 On Wednesday, February 21, 2018 at 9:21:14 AM UTC+11, Samuel Marks wrote: > > Is this a bug I should report, or have I misconfigured? > > Feb 20 22:12:35 OpenEdX4 [service_variant=lms][django.request][env:sandbox > ] ERROR [OpenEdX4 3812] [base.py:256] - Internal Server Error: /courses/ > course-v1:mycourseid/about > Traceback (most recent call last): > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py" > , line 132, in get_response > response = wrapped_callback(request, *callback_args, **callback_kwargs > ) > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py" > , line 145, in inner > return func(*args, **kwargs) > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py" > , line 110, in _wrapped_view > response = view_func(request, *args, **kwargs) > File "/edx/app/edxapp/edx-platform/common/djangoapps/util/views.py", > line 49, in inner > response = view_func(request, *args, **kwargs) > File "/edx/app/edxapp/edx-platform/common/djangoapps/util/cache.py", > line 83, in wrapper > return view_func(request, *args, **kwargs) > File > "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/views/views.py", > line 762, in course_about > registration_price, course_price = get_course_prices(course) > File > "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/views/views.py", > line 607, in get_course_prices > settings.PAID_COURSE_REGISTRATION_CURRENCY[0] > File > "/edx/app/edxapp/edx-platform/common/djangoapps/course_modes/models.py", > line 649, in min_course_price_for_currency > return min(mode.min_price for mode in modes if mode.currency.lower() > == currency.lower()) > ValueError: min() arg is an empty sequence > > In the meantime, I've rewritten mine to: > > @classmethod > def min_course_price_for_currency(cls, course_id, currency): > """ > Returns the minimum price of the course in the appropriate > currency over all the course's > non-expired modes. > If there is no mode found, will return the price of DEFAULT_MODE, > which is 0 > """ > modes = cls.modes_for_course(course_id) > if modes: > return min(mode.min_price for mode in modes if mode.currency. > lower() == currency.lower()) > return cls.DEFAULT_MODE > > (was: > https://github.com/edx/edx-platform/blob/25130ae3c8333e5353ab88860c76619ebb9098f9/common/djangoapps/course_modes/models.py#L674 > > ) > -- You received this message because you are subscribed to the Google Groups "General Open edX discussion" group. To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/da027530-59eb-4a18-888e-9550a034e761%40googlegroups.com.