Commit Graph

536 Commits

Author SHA1 Message Date
Manjinder Singh
cce8cdd661 Replacing OAuth2Auth (#23067)
- Removing deprecated auth classes
- Replacing OAuth2AuthenticationAllowInactiveUserDeprecated with OAuth2AuthenticationAllowInactiveUser
- the old class was a child class of a deprecated class that we are removing and replacing.
2020-02-11 10:38:13 -05:00
DawoudSheraz
0b1c7db967 add multiple correct values check for Dropdown problems 2020-02-10 11:36:28 +05:00
Manjinder Singh
cea795b02e Added new auth class (#23018)
* Added new auth class

- Created new class called OAuth2AuthenticationAllowInactiveUser, which replaces old class with same name
- Renames previous  OAuth2AuthenticationAllowInactiveUser to  OAuth2AuthenticationAllowInactiveUserDeprecated
- Replaced all imports of  OAuth2AuthenticationAllowInactiveUser to call deprecated class instead
- testing new class in discussion(added flag based on django setting)
2020-02-06 10:37:27 -05:00
atesker
8234208cbb Delete persisten subsection grade override history
Removed model

renamed file
2020-01-07 12:05:24 -05:00
Aarif
e607657a73 Merge pull request #22620 from edx/on_delete_parameter
Added on_delete parameter to models
2019-12-31 15:23:47 +05:00
David Ormsbee
2cb2265ffe Add request caching to reduce ORM queries
This adds request caching to the following places:
* course expiration wrapper (displayed in Units)
* offer banner generation (displayed in Units)
* get_enrollment
* user_by_anonymous_id
* youtube_disabled_for_course

On a sample course with edx-val enabled, this reduced the queries
for a large sequence from 450 to 155.
2019-12-30 16:19:25 -05:00
Feanil Patel
046feb0cf0 Merge pull request #22649 from edx/feanil/fix_pep8
Fix all E303 pep8 errors.
2019-12-30 13:32:26 -05:00
Feanil Patel
6e3fe00fff Fix all E303 pep8 errors. 2019-12-30 12:25:38 -05:00
Feanil Patel
2df8b8226b Merge pull request #22643 from edx/feanil/2to3_asserts
Run `2to3 -f asserts . -w` on edx-platform.
2019-12-30 12:13:42 -05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Feanil Patel
70294b0ad2 Run 2to3 -f asserts . -w on edx-platform.
https://docs.python.org/3.5/library/2to3.html#2to3fixer-asserts
2019-12-30 10:22:19 -05:00
aarif
02350e0fee added on_delete parameter to foreign_key and oneToOne fields
changes made to fix issues with quality
2019-12-27 19:59:45 +05:00
Jeremy Bowman
e0a22db806 Fix Python 3 bug in LTI stub server BOM-1006 (#22260) 2019-11-08 08:42:56 -05:00
Matthew Piatetsky
bd76a71019 delete old holdback code 2019-11-07 09:51:39 -05:00
Jeremy Bowman
a6b8cbe627 Remove obsolete field type BOM-996 (#22203) 2019-10-31 15:23:58 -04:00
Feanil Patel
facd737ee4 Update code to use the new rounding method in course_grades.
So making this code change took a few hours. But then deciding that it
was the right one of the many options available took the next 3 days.

When changing to the new rounding function, we had a test that started
failing.  It appears as if our new rounding function is not the same in
some way as the one built into python 2.

```
>>> round(.0045*100 + .05)/100
0.0
>>> round_away_from_zero(.0045*100 + .05)/100
0.01
```

Doing the math by hand we see that the new function is actually correct
but the old one is clearly rounding incorrectly in this case. Looking
closer at this I discovered that it was due to a floating point issue
where .0045*100 is represented as 0.44999999999999996 so when we add
0.05 to this number we get 0.49999999999999994.  This is all because of
the limitations of floating point arithmetic.

See https://docs.python.org/3/tutorial/floatingpoint.html#tut-fp-issues
for more on that.

Because python does its rounding at the bit level in C code.  It treats
the .4999... as below the .5 cutoff and rounds down. Whereas our code
does more simple arithmetic which causes the number to correct itself
before we round and so correctly rounds up to 0.01

The result of this change is that previously, the rounding threshold used to
be that any number > .0045 would ronud to 0.01 and now any number that
is >= .0045 rounds to 0.01

Note that if we only care about the two most significant digits of
number between 0 and 1, this error only manifests itself in such a way
that other than the case of going from 0.00 to 0.01 eg. from 0% to 1%
none of the other cases where we would now round up cause the 2 most
significant digits to change.  Given this level of impact, we're fine
with this change.

In our tests we see this for one case, where an incomplete turns into an
F in a test.  I'm updating the test here to be more correct.

As we were looking at it we speculated as to why we were adding the .05
to the number.  Could it be to counteract this floating point issue?  It
turns out not.

Looking at this commit(a1286b1c7d) we see that it
looks like this was intended to always round up to the nearest
percentage point.  However, there's a typo here.  If you wanted to
ensure that we always rounded up to the nearest percentage point you
would have the math be `round(final_grade_percent*100 + 0.5)/ 100` or a
simpler way to do this would be
`math.ceil(final_grade_percent*100)/100`.  However, that is not what
happened and 7 years later, there have been a lot of people graded with
the wrong rounding where essentialy anyone with a grade of 89.45 gets a
90 when the intended impact was supposed to be that anyone with a grade
above an 89.0 would get a grade of 90.

Changing it now requires a lot of conversation and wolud have a large
impact on existing learners.  So we are not going to change it as a part
of the python 2 -> python 3 upgrade.  I have created
https://openedx.atlassian.net/browse/TNL-6972  to capture this issue if
we want to address it in the future.
2019-10-31 14:29:57 -04:00
Ned Batchelder
b245defb11 Merge pull request #22132 from philanthropy-u/saad/fix_visible_blocks_hash_value
Fixed exception in VisibleBlocks.bulk_create due to incorrect argument passed
2019-10-29 11:14:52 -04:00
Manjinder Singh
a384e753fd BOM-933: Fix type mismatches in various migrations (#22112)
* Fix type mismatches in the course_modes migrations

* Fix type mismatches in the course_action_state migrations

* Fix type mismatches in the schedules migrations

* Fix type mismatches in grades migrations

* Fix type mismatches in video_pipeline

* Fix type mismatches in api_admin

* Fix mismatches in credential migrations
2019-10-24 11:42:39 -04:00
Saad Waqar
7fca58f88b replaced brl.hash_value with brl in bulk_get_or_create because it calls bulk_create afterwards and bulk_create uses objects to create VisibleBlocks whereas brl.hash_value would return a string 2019-10-23 20:56:08 +05:00
Feanil Patel
871d62f246 Fix type mismatches in the grades migrations.
Mixing byte and unicode strings causes migrations to fail.
2019-10-21 13:32:46 -04:00
Zia Fazal
3b69a4f279 Invoke learner transmission task only for enterprise learners
Invoke learner transmission task only for enterprise learners
ENT-2384

added docstring

Fixed brokent unit test
2019-10-15 15:58:37 +05:00
atesker
4aff507847 EDUCATOR-4700 - pull grade overrides by grade_id
pep8

udate filter on simple history

convert to list

diable no member error
2019-10-10 12:13:07 -04:00
atesker
e07635559c EDUCATOR-4365 - display max score for not started assignment
pep8

moved includes

refactor 1

correted properties

update unit test

pep update

cr 2

made failure case a function
2019-10-02 08:48:31 -04:00
Nimisha Asthagiri
b73e0d8120 Grades python-3 upgrade: test_recalculate_learner_grades.py 2019-09-28 11:39:26 -04:00
Matt Hughes
6085852c99 Attribute grade overrides from proctoring to the final reviewer
More generally, makes it so we don't ever pull in the user to whom
we're attributing overrides from the request, but always use the one
passed in via method parameters

Also pass through comments, if they're provided via this method

JIRA:EDUCATOR-4641
2019-09-27 10:58:58 -04:00
atesker
6c6a0e47af fixed for production - add get_history
EDUCATOR-4696 - put back get_history and update UI

add pylint
2019-09-26 14:35:20 -04:00
Ned Batchelder
efba6e45e8 Finally import courseware properly everywhere to get rid of a warning 2019-09-26 09:40:15 -04:00
Ayub
846a12939e Merge pull request #21735 from edx/BOM-update_str_method
BOM Project __unicode__ to __str__
2019-09-26 10:47:14 +05:00
Zia Fazal
8c9b13e6fc Merge pull request #21770 from edx/ziafazal/ENT-2268
ENT-2268: Added signal handler for COURSE_GRADE_NOW_PASSED
2019-09-25 23:31:36 +05:00
Zia Fazal
19436f8d3d Bumped edx-enterprise version to 1.10.7
Fixed broken unit test

connected COURSE_GRADE_NOW_PASSED at the end

added receiver to signal connect call
2019-09-25 22:32:53 +05:00
Braden MacDonald
8a2d499dd2 Track grades for Blockstore content, emit tracking logs 2019-09-25 10:42:55 -04:00
Ayub khan
5c47a3b425 BOM Project
Updated __unicode__ to __str__
2019-09-25 18:31:54 +05:00
atesker
eee86323a4 restore model 2019-09-24 15:57:21 -04:00
Jeremy Bowman
553d35e53e Upgrade mock BOM-596 (#21717) 2019-09-24 10:14:17 -04:00
atesker
47d32f0ef5 EDUCATOR-4670 - pr 1 - remove usage of persistsubsectionoride history
remove unused param
2019-09-23 11:04:30 -04:00
Ayub
a85b30a8b4 Merge pull request #21703 from edx/BOM-273
BOM-273
2019-09-20 15:41:54 +05:00
Jansen Kantor
b0f40a111c add requesting_user to simple-history model (#21683) 2019-09-19 13:43:35 -04:00
Matt Hughes
09d5c87647 Fix bug with override removal conditions
This was failing to delete overrides stemming from proctoring which
pre-date the corresponding change.

JIRA:PROD-704
2019-09-19 10:44:18 -04:00
Ayub khan
a075e44e72 BOM-273
tests fixed
2019-09-19 14:26:07 +05:00
Alex Dusenbery
44c96b4e9b Minor correction of grade freeze ADR. 2019-09-18 14:24:40 -04:00
Awais Qureshi
a4428d751d BOM-422
Fixing python3
2019-09-17 19:00:05 +05:00
Matt Hughes
4957b981a4 Only delete latest grade override if it came from proctoring
... on proctored exam attempt deletion

JIRA:EDUCATOR-4642
2019-09-13 11:54:32 -04:00
Michael Roytman
431adcd085 Merge pull request #21560 from edx/mroytman/EDUCATOR-4568-gradebook-override-logging-2
add additional logging
2019-09-05 12:28:21 -04:00
Michael Roytman
d8906faaf2 add additional logging 2019-09-05 10:57:34 -04:00
Alex Dusenbery
6917a29e84 PROD-287 | Add an optional treat_undefined_as_zero flag to the helper functions is_score_higher_or_equal() and compare_scores(), which defaults to False, that we call with value True from SubsectionGradeFactory.update(), which occassionally deals with invalid subsection scores containing zero as the denominator. 2019-09-05 09:31:23 -04:00
arbisoft
3fb5db43ea BOM-240
Fixing python3. Hashvalues were saving with b prefix in db. Decoded them before insertion.
2019-09-04 12:13:02 +05:00
aarif
38543006a3 python 3 fixes
Added django's inbuilt support for object's string representation
2019-08-30 14:32:49 +05:00
Cory Lee
8eddb822ab Refactor CSME id, CSMH_EXTENDED default true 2019-08-27 16:47:47 -04:00
Michael Roytman
1b296c444d add log statements to aid debugging grading issue 2019-08-26 16:49:11 -04:00
Feanil Patel
f332b81e4c Merge pull request #21384 from edx/bom/python-3-swarm
Bom/python 3 swarm
2019-08-21 09:27:59 -04:00