Commit Graph

7647 Commits

Author SHA1 Message Date
Régis Behmo
59635b689e Simplify BookmarksListView.get docs
Instead of relying on a `method_decorator`, we explicitely declare the
`get` method.
2019-10-14 08:14:08 +02:00
Régis Behmo
dac393e9e7 Auto-document API endpoints using view function docstring
The `swagger_auto_schema` view function decorator allows us to
auto-document API endpoints. All swagger arguments are passed as kwargs
to the decorator, but this feels a bit unnatural: we would like to use
the function documentation as the endpoint summary and description. We
introduce this feature here by reading the `__doc_`_attribute of the
view function.
2019-10-14 08:14:08 +02:00
Awais Qureshi
14e8e782c9 Merge pull request #22013 from edx/awais786/BOM-917
BOM-917
2019-10-12 13:12:12 +05:00
Bill DeRusha
5a6b51bccf remove mailchimp tracking 2019-10-11 15:38:05 -04:00
Calen Pennington
501cd6795b Merge pull request #22001 from cpennington/no-discount-for-anonymous-users
Don't try to show anonymous users the first-purchase discount
2019-10-11 12:44:42 -04:00
Awais Qureshi
ae9dcdef8a BOM-917
Fix encoding issue.
2019-10-11 20:12:34 +05:00
AsadAzam
b8a19b7b92 Merge pull request #21809 from edx/asad/prod-694
Upgrade python 3 decode error
2019-10-11 17:22:29 +05:00
Jeremy Bowman
9c92bd96ed Fix assertions failing under Python 3 BOM-668 (#21978) 2019-10-10 15:22:07 -04:00
Calen Pennington
355826f7d8 Don't try to show anonymous users the first-purchase discount
This fixes errors like:

    Oct 10 12:46:07 ip-10-2-10-15 [service_variant=lms][django.request][env:prod-edx-edxapp] ERROR [ip-10-2-10-15  31278] [user None] [exception.py:135] - Internal Server Error: /courses/course-v1:HarvardX+1962USRx+3T2019/discussions/settings
    Traceback (most recent call last):
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
        response = get_response(request)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
        response = self._get_response(request)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
        response = self.process_exception_by_middleware(e, request)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, 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 185, in inner
        return func(*args, **kwargs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/newrelic/hooks/framework_django.py", line 539, in wrapper
        return wrapped(*args, **kwargs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/http.py", line 40, in inner
        return func(request, *args, **kwargs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
        response = view_func(request, *args, **kwargs)
    File "/edx/app/edxapp/edx-platform/common/djangoapps/util/json_request.py", line 55, in parse_json_into_request
        return view_function(request, *args, **kwargs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
        return view_func(request, *args, **kwargs)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/discussion/views.py", line 936, in course_discussions_settings_handler
        course, discussion_settings
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/discussion/views.py", line 957, in get_divided_discussions
        all_discussions = utils.get_discussion_categories_ids(course, None, include_all=True)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/discussion/django_comment_client/utils.py", line 485, in get_discussion_categories_ids
        xblock.discussion_id for xblock in get_accessible_discussion_xblocks(course, user, include_all=include_all)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/discussion/django_comment_client/utils.py", line 146, in get_accessible_discussion_xblocks
        return get_accessible_discussion_xblocks_by_course_id(course.id, user, include_all=include_all)
    File "/edx/app/edxapp/edx-platform/openedx/core/lib/cache_utils.py", line 73, in decorator
        result = wrapped(*args, **kwargs)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/discussion/django_comment_client/utils.py", line 159, in get_accessible_discussion_xblocks_by_course_id
        if has_required_keys(xblock) and (include_all or has_access(user, 'load', xblock, course_id))
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/access.py", line 158, in has_access
        return _has_access_descriptor(user, action, obj, course_key)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/access.py", line 572, in _has_access_descriptor
        return _dispatch(checkers, action, user, descriptor)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/access.py", line 669, in _dispatch
        result = table[action]()
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/access.py", line 543, in can_load
        group_access_response = _has_group_access(descriptor, user, course_key)
    File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/access.py", line 513, in _has_group_access
        user_fragment=partition.access_denied_fragment(descriptor, user, user_group, allowed_groups),
    File "/edx/app/edxapp/edx-platform/openedx/features/content_type_gating/partitions.py", line 98, in access_denied_fragment
        upgrade_price, _ = format_strikeout_price(user, course)
    File "/edx/app/edxapp/edx-platform/openedx/features/discounts/utils.py", line 22, in format_strikeout_price
        if can_receive_discount(user, course):
    File "/edx/app/edxapp/edx-platform/openedx/features/discounts/applicability.py", line 74, in can_receive_discount
        if CourseEnrollment.objects.filter(user=user).exclude(mode__in=CourseMode.UPSELL_TO_VERIFIED_MODES).exists():
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py", line 787, in filter
        return self._filter_or_exclude(False, *args, **kwargs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py", line 805, in _filter_or_exclude
        clone.query.add_q(Q(*args, **kwargs))
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1250, in add_q
        clause, _ = self._add_q(q_object, self.used_aliases)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1276, in _add_q
        allow_joins=allow_joins, split_subq=split_subq,
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1206, in build_filter
        condition = lookup_class(lhs, value)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/lookups.py", line 24, in __init__
        self.rhs = self.get_prep_lookup()
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/fields/related_lookups.py", line 112, in get_prep_lookup
        self.rhs = target_field.get_prep_value(self.rhs)
    File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 966, in get_prep_value
        return int(value)
    TypeError: int() argument must be a string or a number, not 'AnonymousUser'

This is tracked in https://openedx.atlassian.net/browse/REV-988
[REV-988]
2019-10-10 10:53:26 -04:00
Awais Qureshi
4387f753d5 BOM-912
Can't convert 'bytes' object to str implicitly
2019-10-10 16:06:17 +05:00
Ayub
c5a61541ab Merge pull request #21949 from edx/BOM-894
BOM-894 python3 order mismatch
2019-10-10 10:22:57 +05:00
jinder1s
93dcd26118 quality fixes 2019-10-09 09:30:52 -04:00
jinder1s
d8b7a2e1fe quality fixes 2019-10-09 08:53:22 -04:00
jinder1s
075faede22 Modifying test to work in both py2 and 3 2019-10-09 08:53:22 -04:00
Manjinder Singh
00348ec0a9 Merge pull request #21898 from edx/msingh/python3_test_views_py
BOM-749: Explicity creating byte strings
2019-10-09 08:52:06 -04:00
aarif
91bed37922 Updated the expected error message to get assertion successful for both python versions
changes made as suggested
2019-10-09 16:03:50 +05:00
Aarif
6a2f3d6dbc Merge pull request #21866 from edx/BOM-831
Updated the string input to md5 to make output compatible with both python versions - BOM-831
2019-10-09 15:40:33 +05:00
Ayub khan
298fbdaec2 BOM-894 python3 order mismatch
Python3 arguments have different positions as compared to python2
2019-10-09 15:06:27 +05:00
Aarif
97452b31ae Merge pull request #21881 from edx/BOM-873
Updated the division operation to make the output compatible with both python versions - BOM-873
2019-10-08 13:41:15 +05:00
Braden MacDonald
b7d1827017 Fix minor unicode OLX bug 2019-10-07 16:43:47 -04:00
jinder1s
2c6b2f32dd converting unicode to byte where necessary 2019-10-04 11:13:11 -04:00
Calen Pennington
9a800fb180 Downgrade content-highlights mismatches to warnings, and add the course-key to the error message 2019-10-04 10:35:03 -04:00
asadazam93
7a43721f81 Upgrade python 3 decode error 2019-10-04 16:17:11 +05:00
Ayub
0b82a59db4 Merge pull request #21925 from edx/BOM-893
BOM-893
2019-10-04 11:23:40 +05:00
Manjinder Singh
2213f524cf Merge pull request #21899 from edx/msingh/python3_test_parser_py
BOM-749: Explicity creating byte strings
2019-10-03 11:57:15 -04:00
Ayub khan
09843b993c BOM-893
python3 compatibility: regex needs bytes type strings to check bytes type response
2019-10-03 15:54:04 +05:00
Aarif
8cf25ea81a Merge pull request #21883 from edx/BOM-874
Updated the division operation to make the output compatible with both python versions - BOM-874
2019-10-03 12:40:19 +05:00
Feanil Patel
59ae37b3ba Merge pull request #21903 from edx/feanil/fix_date_mock
Fix datetime mock to only mock the now function.
2019-10-02 09:44:57 -04:00
Diana Huang
5e5c857208 Merge pull request #21902 from edx/diana/annotate-toggles
Annotate a few of the course_experience waffle flags.
2019-10-02 09:36:54 -04:00
Adeel Khan
f11afb57a2 Adds migration for simulate publish command
A rewording of help text caused django to create
a new migration for config model and that was not
initially pushed to master.
2019-10-02 14:45:43 +05:00
aarif
86c7b9f809 updated the division operation to make the output compatible in python 2 and python 3
changes made to fix quality errors

changes made to fix issues on BOM-587

minor changes made to fix quality issues

minor changes

removed unused pylint supression
2019-10-02 14:01:08 +05:00
aarif
e6470fb970 python 3 fixes
changes made to fix quality errors

changes made to fix quality errors

minor changes
2019-10-02 12:13:45 +05:00
Feanil Patel
3132982141 Fix datetime mock to only mock the now function. 2019-10-01 16:17:45 -04:00
Diana Huang
ff795347dd Annotate a few of the course_experience waffle flags. 2019-10-01 16:03:36 -04:00
David J. Malan
680f62278c AccessTokenView: support for X-Token-Type in HTTP header (#21662)
* AccessTokenView: support for X-Token-Type in HTTP header
2019-10-01 15:57:21 -04:00
jinder1s
3dc35dc09c Explicity creating byte strings 2019-10-01 13:43:45 -04:00
aarif
b7ee87caba updated the division to make the output compatible in python2 and python3 2019-10-01 13:27:32 +05:00
Aarif
bc6821ce53 Merge pull request #21810 from edx/BOM-745
BOM-745
2019-10-01 11:58:09 +05:00
Ayub
df066afdf7 Merge pull request #21848 from edx/BOM-882
BOM-881, BOM-882
2019-10-01 10:39:53 +05:00
aarif
df2686dc63 updated input to md5 method to properly hash the input in both python versions 2019-09-30 19:55:15 +05:00
Nimisha Asthagiri
4914c42364 Python 3: resp.content regex searches 2019-09-30 08:51:02 -04:00
Nimisha Asthagiri
9bbc21ea8c Python 3: multi-lined assertIn, assertNotIn -> assertContains, assertNotContains 2019-09-30 08:51:02 -04:00
Nimisha Asthagiri
ccefde8d3c Python-3: assertNotIn(..response.content) -> assertNotContains 2019-09-30 08:50:38 -04:00
Nimisha Asthagiri
a6b219a9e9 Python-3: assertIn(..response.content) -> assertContains 2019-09-30 08:50:38 -04:00
Nimisha Asthagiri
95c2e49438 Merge pull request #21840 from edx/bom/block-structure-python-3
block_structure python-3 upgrade
2019-09-30 08:33:32 -04:00
Nimisha Asthagiri
468f1ad393 Merge pull request #21839 from edx/bom/course-overviews-python-3
course_overviews python-3 upgrade
2019-09-30 08:33:17 -04:00
Nimisha Asthagiri
4589e05215 Merge pull request #21838 from edx/bom/api-admin-python-3
api_admin python-3 upgrade
2019-09-30 08:32:54 -04:00
Ayub khan
86bd5a4643 BOM-881
python3 compatibility
2019-09-30 14:58:12 +05:00
Ayub khan
cc4050460e BOM-882
python3 compatibility
2019-09-30 14:42:55 +05:00
Aarif
7eee466c68 Merge pull request #21815 from edx/BOM-747
BOM-747
2019-09-30 12:59:46 +05:00