Commit Graph

445 Commits

Author SHA1 Message Date
Brian Talbot
944f51a60b LMS: removing old and not needed edx.org MKTG iframe assets
* removing templates/styling
* removing test logic and URLs
2015-08-14 16:17:19 -04:00
Peter Fogg
a6891609be Test Cale's RC fix. 2015-08-10 19:36:32 -04:00
Calen Pennington
584453202f Use the correct attribute when accessing StudentModuleHistory creation dates 2015-08-10 14:56:03 -04:00
Calen Pennington
34892b9680 Add more information when logging data about differing history and score entries 2015-08-10 14:56:03 -04:00
Ned Batchelder
ceb5655b2d Merge pull request #9171 from edx/ned/update-pylint
Update pylint and astroid, reduces pylint count by 400
2015-08-04 09:28:35 -04:00
Ned Batchelder
f54fe787c6 Remove needless 'disable=no-member' pragmas 2015-08-03 17:47:44 -04:00
Calen Pennington
aa374ca12a Make DjangoXBlockUserStateClient pass semantic tests
This required the following changes to the DjangoXBlockUserStateClient
semantics:

1) Changes get/get_many to return XBlockUserState tuples, rather
than state dictionaries or (block_key, state) tuples.
2) Raises DoesNotExist if get_history is called on an XBlock that has
had no data saved to it.
3) Returns XBlockUserState tuples as the results of get_history.
2015-08-01 08:13:25 -04:00
John Eskew
756008aa9b Merge pull request #8768 from open-craft/jump_to_children_ospr
Jump to children
2015-07-27 13:42:32 -04:00
Peter Fogg
c8ed59ac61 Redirect to dashboard from non-live courses.
TNL-2693
2015-07-24 13:05:47 -04:00
Jonathan Piacenti
a6ae44a0db Add ability to activate a child block via jump_to_id. 2015-07-21 14:39:18 +00:00
tlindaliu
e0840d2d43 MA-849: Change has_access return type
New classes for the return type, and changes to the has_access function and tests to make them compatible.
2015-07-19 20:42:29 -04:00
Adam
2735b2b5bb Revert "Decorated instructor dashboard with sudo_required." 2015-07-17 12:11:38 -04:00
Waheed Ahmed
bc052db1ee Added DjangoSudo functionality for instructor dashboard and course team page 2015-07-16 11:14:11 +05:00
Sven Marnach
3d7246ecc8 Allow masquerading as a specific user different from the logged in user. 2015-07-13 18:55:45 -07:00
Sarina Canelake
39d3537410 Pylint logging-format-interpolation: Convert logging calls to use %s formatting 2015-07-13 17:33:29 -04:00
Sarina Canelake
ba8fd1c21d Eliminate instances of unused-import Pylint violation 2015-07-13 17:33:25 -04:00
Akiva Leffert
6084f4df27 Make render_xblock return a 404 if access check fails
The mobile clients need the request to fail if they don't have
permisssions so that they know to refresh a session token.

JIRA: https://openedx.atlassian.net/browse/MA-1003
2015-07-13 15:56:58 -04:00
David Ormsbee
79de77cf95 Optimize grading/progress page to reduce database queries (cache max scores).
The progress page did a number of things that make performance terrible for
courses with large numbers of problems, particularly if those problems are
customresponse CapaModule problems that need to be executed via codejail.

The grading code takes pains to not instantiate student state and execute the
problem code. If a student has answered the question, the max score is stored
in StudentModule. However, if the student hasn't attempted the question yet, we
have to run the problem code just to call .max_score() on it. This is necessary
in grade() if the student has answered other problems in the assignment (so we
can know what to divide by). This is always necessary to know in
progress_summary() because we list out every problem there. Code execution can
be especially slow if the problems need to invoke codejail.

To address this, we create a MaxScoresCache that will cache the max raw score
possible for every problem. We select the cache keys so that it will
automatically become invalidated when a new version of the course is published.

The fundamental assumption here is that a problem cannot have two different
max score values for two unscored students. A problem *can* score two students
differently such that they have different max scores. So Carlos can have 2/3 on
a problem, while Lyla gets 3/4. But if neither Carlos nor Lyla has ever
interacted with the problem (i.e. they're just seeing it on their progress
page), they must both see 0/4 -- it cannot be the case that Carlos sees 0/3 and
Lyla sees 0/4.

We used to load all student state into two separate FieldDataCache instances,
after which we do a bunch of individual queries for scored items. Part of this
split-up was done because of locking problems, but I think we might have gotten
overzealous with our manual transaction hammer.

In this commit, we consolidate all state access in grade() and progress()
to use one shared FieldDataCache. We also use a filter so that we only pull
back StudentModule state for things that might possibly affect the grade --
items that either have scores or have children.

Because some older XModules do work in their __init__() methods (like Video),
instantiating them takes time, particularly on large courses. This commit also
changes the code that fetches the grading_context to filter out children that
can't possibly affect the grade.

Finally, we introduce a ScoresClient that also tries to fetch score
information all at once, instead of in separate queries. Technically, we are
fetching this information redundantly, but that's because the state and score
interfaces are being teased apart as we move forward. Still, this only
amounts to one extra SQL query, and has very little impact on performance
overall.

Much thanks to @adampalay -- his hackathon work in #7168 formed the basis of
this.

https://openedx.atlassian.net/browse/CSM-17
2015-07-09 10:03:58 -04:00
Matt Drayer
c25e37ea93 Merge pull request #8734 from edx/ziafazal/SOL-1011
ziafazal:SOL-1011: Certificate URL should use 'download_url' field and not 'verify_uuid'
2015-07-07 15:40:34 -04:00
Matt Drayer
a8f909fe77 Merge pull request #8659 from edx/ziafazal/SOL-1006
ziafazal/SOL-1006: Disable course 'start date' for inactive web-enabled certificates
2015-07-06 16:45:24 -04:00
Zia Fazal
ad1f4951fc get_certificate_url should return certificate download_url in case of non html certificates 2015-07-01 16:14:37 +05:00
Ahsan Ulhaq
7787974dd5 Order of Credit Eligibility line items
Displayed eligibility line items on the Progress page of a Credit course
in the order of appearance in the courseware.

ECOM-1782
2015-07-01 13:40:39 +05:00
Zia Fazal
bcbd1464d4 New course cannot be started till web certificate is active
fixed broken test

changes based on feedback on 6/24

fixed broken unit test after feedback changes

added more checks and updated tests

fixed broken bok choy test

Fixed pylint quality error

trying to fix pylint quality error
2015-06-29 12:53:21 +05:00
Nimisha Asthagiri
8b5e5c5910 Merge branch 'release' 2015-06-25 13:11:41 -04:00
Will Daly
75d194e279 Update credit eligibility
* Update credit eligibility when a user satisfies an eligibility requirement.
* Refactor set_credit_requirement_status arguments.
* Use django-simple-history to track requirement status changes.
* Refactor progress page by moving credit into a helper function and adding comments.
2015-06-24 15:19:27 -07:00
Matt Drayer
f0f3766443 mattdrayer/ECOM-1773: Fixed invalid URL reversal 2015-06-22 14:04:43 -04:00
Ahsan Ulhaq
6fdff766bc Credit eligibility requirements display on student progress page
ECOM-1523
2015-06-22 18:36:54 +05:00
Calen Pennington
e3d820a7a4 Merge pull request #8519 from jazkarta/check-ccx-enabled
WIP: Limit application of CCX overrides to enabled courses and providers
2015-06-17 16:15:01 -04:00
Carlos de la Guardia
d56303dd0f Only enable the OverrideFieldData when there are active overrides on a course. 2015-06-17 15:26:10 -04:00
Awais
4d5a4b035d ECOM-1683 removing regen-cert code. 2015-06-16 20:08:57 +05:00
Ahsan Ulhaq
d35b652843 Display Eligibility table on progress page
1-Adding basic html for displaying eligibility table
2-Updated Eligibility Requirements Dynamically

ECOM-1523
2015-06-16 16:19:33 +05:00
Zia Fazal
6afaa3cce3 certificates event tracking
some optimisations

refactored code and added created event

added test to make sure generate event is emitted

changes based on feedback on 6/11

added certificate web page and tests

fixed quality violations
2015-06-15 19:53:47 +05:00
Calen Pennington
c1ace04483 Merge pull request #8391 from edx/alawibaba/plat5892
First draft.
2015-06-12 12:39:38 -04:00
Ali Mohammad
69772ef20e Convert access to StudentModuleHistory to use the UserStateClient API. 2015-06-12 12:37:34 -04:00
Phil McGachey
0c7623d530 [LTI Provider] Fix bug preventing unenrolled users from accessing content
Change https://github.com/edx/edx-platform/pull/8240 refactored the LTI
provider template rendering code and introduced an issue where a user was
required to be enrolled in a course before that course's content could be
accessed over LTI. According to the LTI design spec:
    https://docs.google.com/document/d/185hdPvIxcKtiDOLjb4sTGovA_WYXWz5Cd79gCzQwBms
we delegate access control over LTI content to the LTI consumer, rather
than requiring that users enroll in edX courses explicitly (and that admins
keep edX and LTI provider enrollemnts consistent when students add or drop
courses).

This change fixes the immediate issue, which is disrupting the LTI Provider
pilot currently running at Harvard.
2015-06-08 23:01:43 -04:00
Diana Huang
cddd387beb Merge pull request #8367 from edx/diana/merge-course-view-and-tab
Refactor and merge CourseViewType and CourseTab.
2015-06-08 16:08:27 -04:00
Diana Huang
7461a2fd37 Refactor and merge CourseViewType and CourseTab.
TNL-2321
2015-06-08 15:18:39 -04:00
Sarina Canelake
c9796b83a9 Merge pull request #8403 from edx/sarina/remove-redefine-django14-cors
Use Django 1.4 @ensure_csrf_cookie method PLAT-664
2015-06-08 11:44:25 -04:00
asadiqbal
6f0606a00b asadiqbal08/SOL-961: Student-generated certificate flow shows "download" certificate button 2015-06-07 20:44:42 -04:00
Sarina Canelake
e53b9c83d9 Use Django 1.4 @ensure_csrf_cookie method PLAT-664 2015-06-06 08:48:36 -04:00
Nimisha Asthagiri
d240785b17 MA-722 Render xBlock API Support 2015-06-05 11:18:48 -04:00
Mushtaq Ali
c575c89853 Bug - Unicode character in tab number shouldn't return 500 #TNL-2055
Adding user to AUTHORS file
2015-06-04 12:33:06 +05:00
Diana Huang
dae137feaa Convert all tabs to the new plugin framework. 2015-06-02 15:05:16 -04:00
Martyn James
7f633fc045 Course Discovery feature using edx-search 2015-06-01 10:33:45 +02:00
Awais
d0df626685 ECOM-1494 removing code from models. 2015-05-27 16:32:26 +05:00
chrisndodge
99de1c8f48 Merge pull request #7992 from edx/muhhshoaib/SOL-794-generate-detailed-enrollment-report
Muhhshoaib/sol 794 generate detailed enrollment report
2015-05-26 15:57:22 -04:00
Muhammad Shoaib
b555c869bf SOL-794 Detailed Enrollment Report
- added the abstract and concrete layers of enrollment report provider
- created a celery task.
-added the button in the e-commerce reports section

added the enrollment data backend

added the payment data and start writing the test cases.

updated the code with the feedback suggestions and wrote some test cases.
- all the downloadable reports are now visible in the ecommerce download section.
Pending instructor tasks is also visible in the ecommerce section

added the fields in the user profile information
changed the report store configuration key
added the new http endpoint for financial reports to add more permissions for finance_admin to access.

fix quality issues

added test cases to check csv content data

rebased with master and resolved conflicts

changed the log messages

added the changes as per code clintonb suggestions during code review

updated the test cases for the finance_admin decorator

changes suggested by clinton.

Created and moved Table level filters to the Custom Manager for the CourseEnrollment model.

ecommerce.js file was loaded twice in the instructor_dashboard.js fixed the issues

added the registration code column in the csv

added the full gender in the csv file

Update data sources and add display name translations for the report columns

fix meta name

Make sure the reports section does not appear on non whitelabel courses

pylint fixes

expand out enumerated values
2015-05-22 15:16:57 -04:00
Awais
f2f44312d2 ECOM-1600 fixing certs button issue. 2015-05-21 23:01:00 +05:00
Chris Dodge
f655e7c380 need to urlencode the course_id when constructing the registration redirect query string 2015-05-20 14:05:00 -04:00
Sarina Canelake
c7424dd7ae Supply default url for XQA server 2015-05-19 14:19:04 -04:00