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

Django command to post submissions to ora #2001

Merged
merged 1 commit into from
Jan 6, 2014

Conversation

symbolist
Copy link
Contributor

No description provided.



def create_list_from_csv(path_to_csv):
"""Read a csv and return items in a list."""
Copy link
Contributor

Choose a reason for hiding this comment

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

See Ned's comments from #1946

@symbolist
Copy link
Contributor Author

@cpennington @nedbat @wedaly please review.

students_with_graded_submissions.append(student)

data = dict()
data["assessing"] = [{"anonymous_id": anonymous_user_id_for_user(student, '', read_only=True),
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The read_only=True should only be enabled with a command line argument. Will fix this.

@wedaly
Copy link
Contributor

wedaly commented Dec 20, 2013

I don't see any unit tests for this command or for the code you changed in combined_open_ended_modulev1.py

if dry_run:
print " Skipped sending submission to grader: {0}".format(repr(latest_answer[:100].encode('utf-8')))
else:
latest_task.send_to_grader(latest_answer, latest_task.system)
Copy link
Contributor

Choose a reason for hiding this comment

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

The current implementation of send_to_grader method always returns True, even if the XQueue interface reports an error. As far as I can tell, nothing in the system uses that return value. This might be a good time to update send_to_grader to return False on failure, then handle that condition explicitly here.

@symbolist
Copy link
Contributor Author

Thanks everyone for the detailed review and suggestions. I have made changes accordingly. Please have a look again.

task_state = self.task_states[task_index]
task_xml = self.task_xml[task_index]
return self.create_task(task_state, task_xml)
return None

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@cpennington I have replaced get_current_task with get_task_at_index(task_index) and task_index can be specified as an argument to the commands. This will ensure that for multi-step problems the commands only operate on the intended step.

@symbolist
Copy link
Contributor Author

@wedaly I am already working on a separate branch for the fix to send_to_grader(). I am going to add some tests for the changes in /xmodule but I am not sure how to test the commands?

@wedaly
Copy link
Contributor

wedaly commented Dec 20, 2013

@symbolist Create a test course with a CourseFactory and add an open ended problem. We have lots of examples in the code base of using factories to set this up, although I don't know that we have any for open ended problems specifically.

I'd recommend patching / mocking the network call that posts the submission to verify it has the correct data. The easiest way to do this is to replace the xqueue interface object with a mock (in the runtime system passed to the open ended module). This will allow you to verify both success and failure conditions.

There are examples of testing Django commands in the codebase: just look for "tests" folders inside "management/commands" packages.

@symbolist
Copy link
Contributor Author

@wedaly I added some tests. Do they look okay?


if task_state == OpenEndedChild.INITIAL:
if latest_task.stored_answer is not None:
students_with_saved_answers.append(student)
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm seeing that this line is uncovered by the tests. I'm not sure I understand when this line would be executed -- could you please clarify?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

When a student saves an answer (but not submits it) it is stored in task.stored_answer. But whether they have just looked at the problem or saved an answer the task_state == OpenEndedChild.INITIAL. Should I cover this too?

@wedaly
Copy link
Contributor

wedaly commented Jan 3, 2014

@symbolist The tests look good. 👍 when you make the style fix and cover the missing line with a test case.

@symbolist
Copy link
Contributor Author

@cpennington I have refactored according to your suggestions. Can you give it a look?

@@ -13,6 +13,7 @@
from courseware.courses import get_course_by_id
from django.contrib.auth.models import User

from .utils import DummyRequest
Copy link
Contributor

Choose a reason for hiding this comment

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

Please use absolute imports instructor.utils.

@cpennington
Copy link
Contributor

👍

symbolist added a commit that referenced this pull request Jan 6, 2014
@symbolist symbolist merged commit 6108529 into master Jan 6, 2014
jenkins-ks pushed a commit to nttks/edx-platform that referenced this pull request Sep 22, 2017
* Add menu to ga_operation for ga_analyzer openedx#2039 (openedx#2088)

* add role for old course viewer openedx#2062 (openedx#2087)

* add role for old course viewer openedx#2062

* Change action for biz course by BetaTester role openedx#2062

* Construction of image server openedx#2025 (openedx#2106)

* cherry-pick 8c8953f

* Fix file upload in IE

* Construction of image server openedx#2025

* add all keywords search in Student management openedx#2029 (openedx#2034)

* Fix bug for before enrollment start in ga old course viewer openedx#2062 (openedx#2125)

* fix. Construction of image server openedx#2025 (openedx#2117)

* Modify message and css of enrollment for Course About openedx#2130

* Add a certificate list to user's profile page. openedx#2042 (openedx#2108)

* Mod UT openedx#2130

* add PDF File Construction of image server openedx#2025 (openedx#2140)

* add library option, and library links to the course. openedx#2001 (openedx#2124)

* Invalid StudioPermissionsService object in API to show/save xblock settings in CMS.
Randomized Content Block editor did not check Studio user's permissions

* add library option, and library links to the course. openedx#2001

* fix. add all keywords search in Student management openedx#2029 (openedx#2034) (openedx#2157)

* second fix. Construction of image server openedx#2025 (openedx#2158)

* add library option, and library links to the course. openedx#2001 (openedx#2160)

* third fix. Construction of image server openedx#2163 (openedx#2164)

* Add filter by category for certificates on profile page openedx#2042 (openedx#2165)

* Fix bug for  add library option, and library links to the course. openedx#2162 openedx#2133 (openedx#2167)

* Develop/dogwood/gacco201708 (openedx#2170)

* Fixed bugs openedx#2039 (openedx#2112)

* Fixed csv format openedx#2039 (openedx#2127)

* Change to split download if there are many display items openedx#916 (openedx#2121)

* Change to split download if there are many display items openedx#916

* Fix UT

* Fix Review

* Fix review2
shimulch pushed a commit to open-craft/edx-platform that referenced this pull request Jan 26, 2021
shimulch pushed a commit to open-craft/edx-platform that referenced this pull request Jan 26, 2021
* MCKIN-22396 Fix samesite cookie issue for Scorm Shell login flow (openedx#1879)

* Adds django-cookies-sameseite middleware

and settings to set SameSite=None for all secure cookies.

* Fix `SameSite` cookie issue for LTI Provider. EW-449

(cherry picked from commit 28479a2)

* Fix tests, conflicts resolved

Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Zachary Trabookis <ztraboo@clemson.edu>

* MCKIN-19584: add support for inline discussions translations (openedx#1863)

* MCKIN-19584: add support for inline discussions translations (openedx#1830)

* add support for inline discussions translations

* mark js string for translation on discussions

* ironwood fix

* MCKIN-19840 EOC (End of course Journal) - None of the strings are translated in any language (openedx#1857)

* MCKIN-19840 Add version bump for EOC 0.7.1 (openedx#1867)

* MCKIN-23062 purge cohorts of deleted groups

* MCKIN-23098 404 error on opening the module having EOC with no translations (openedx#1870)

* MCKIN-23098 404 error on opening the module having EOC with no translations integrated

* fix typo and chinese translation on discussions page (openedx#1875)

* Fix mismatching versions for api integration

* security fixes patch

* MCKIN-23604 Match fork code with upstream (openedx#1880)

* [MCKIN-21879] Remove foreign keys from deprecated `progress-edx-platform-extensions` (openedx#1874)

* MCKIN-22507 Updated GW submission API to accept TA email id (openedx#1871)

* MCKIN-22507 Updated GW submission API to accept TA email id

* Fixed typo

* MCKIN-22509 VB

* [MCKIN-22507] Review version bump for xblock-group-project-v2 (openedx#1887)

* MCKIN-22509 Added API to check/create anonymous user id (openedx#1882)

* MCKIN-23249 Threw error if any of group has submissions (openedx#1884)

* Added ignore condition for generated files

* Release freeze (openedx#1895)

* [MCKIN-21879] Remove foreign keys from deprecated `progress-edx-platform-extensions` (openedx#1874)

* MCKIN-22507 Updated GW submission API to accept TA email id (openedx#1871)

* MCKIN-22507 Updated GW submission API to accept TA email id

* Fixed typo

* MCKIN-22509 VB

* [MCKIN-22507] Review version bump for xblock-group-project-v2 (openedx#1887)

* MCKIN-22509 Added API to check/create anonymous user id (openedx#1882)

* MCKIN-23249 Threw error if any of group has submissions (openedx#1884)

* Added ignore condition for generated files

Co-authored-by: Piotr Surowiec <piotr@opencraft.com>
Co-authored-by: Nasir Hussain <nasirhjafri@gmail.com>
Co-authored-by: Sohaib Aslam <sohaib.aslam@arbisoft.com>
Co-authored-by: Shafqat Farhan <shafqat.farhan@arbisoft.com>

* Revert "[MCKIN-21879] Remove foreign keys from deprecated `progress-edx-platform-extensions` (openedx#1874)"

This reverts commit 5dad4f0.

* Revert "[MCKIN-21879] Remove foreign keys from deprecated `progress-edx-platform-extensions` (openedx#1874)"

This reverts commit 5dad4f0.

* MCKIN-23061 Fix enlarged buttons on studio (openedx#1892)

* Revert "Updated subsections grade percentage to start rounding"

This reverts commit fde830b.

* MCKIN-22514 problem builder verion bump

* [MCKIN-21879] Remove foreign keys from deprecated `progress-edx-platform-extensions`

* [BB-2765] Add `reverse_sql` to `database_fixups/0002` migration

* MCKIN-24492 version bump api-integration (openedx#1898)

* MCKIN-21527 Problem Builder (FTE, Assessment, MCQ, MRQ) - On opening these modules, none of the text is translated on notifications dropdown. (openedx#1889)

* MCKIN-21918 Inline discussion japanese buttons (openedx#1891)

Co-authored-by: murad-hubib <murad.habib@arbisoft.com>

* bump xblock problem-builder version to 3.5.1 (openedx#1899)

* MCKIN-24501 api-integration version bump (openedx#1903)

* Security patch from aug 26 (openedx#1894)

Co-authored-by: Ned Batchelder <ned@edx.org>

* sustaining xss security fixes 3 (openedx#1893)

Co-authored-by: Ali-D-Akbar <aliakbarit019@gmail.com>

* Sustaining security fixes 4 & 5 (openedx#1901)

Co-authored-by: Ali-D-Akbar <aliakbarit019@gmail.com>

* MCKIN-24663 sorting alphanumeric list (openedx#1908)

* MCKIN-24633 releasing problem builder v3.5.2 (openedx#1917)

* MCKIN-24559 - Organization extensions VB (openedx#1905)

Releasing `v2.0.6`

* MCKIN-24565 - Organizations extensions VB (openedx#1907)

Releasing `v2.0.7`

* MCKIN-24511 Projects extension VB (openedx#1915)

* Resolved conflits

* Resloved conflicts

* MCKIN-21919 Inline Discussion - The following strings are not translated in Korean Language (openedx#1906)

* Resolved conflict

* Resolved conflicts

* MCKIN-24633 releasing problem builder v3.5.2 (openedx#1917)

* MCKIN-25170 translation for review grade

* MCKIN-24296 missing translations added (openedx#1926)

* missing translations added (openedx#1927)

* MCKIN-25091 fixed Discussion post Anonymously (openedx#1925)

* VB for VR and eoc (openedx#1933)

* MCKIN-25752 discussion and question posted translations (openedx#1934)

* MCKIN-26123 Plateform Issues (openedx#1939)

* MCKIN-26123 Plateform Issues (openedx#1940)

* MCKIN-26123 Drag and Drop Version update (openedx#1942)

* MCKIN-23104 version upgrade of EOC journal (openedx#1941)

* MCKIN-26505 Version update of Problem Builder (openedx#1945)

* MCKIN-26123 Drag&Drop Version Update (openedx#1947)

* MCKIN-26589 Integrate translations of FIND DISCUSSIONS for main discussions page for all languages (openedx#1949)

* [v1.54.0] complied mo files

* MCKIN-24786 - api-integration version bump

* MCKIN-26967 - EOC VB

* MCKIN-23037 - Ooyala xblock version bump

* MCKIN-27119 - Missing strings added

* MCKIN-26468 - projects extensions VB (openedx#1951)

Releasing `v3.0.4`

* MCKIN-24382 Scorm VB (openedx#1966)

* Scorm VB

* MCKIN-26967 EOC VB

* MCKIN-24385: bump xblock diagnostic feedback version to v0.4.0 (openedx#1971)

* MCKIN-24468 McKA - Update Scorm xblock to Python 3.5 fix bug (openedx#1979)

* MCKIN-24385 bump xblock-diagnosticfeedback version to v0.4.1 (openedx#1987)

* MCKIN-26471 API integration VB (openedx#1995)

* bump xblock scorm version to v3.2.1 (openedx#1996)

* MCKIN-26850 EOC-journal version bump (openedx#2001)

* MCKIN-24383 & 24384 VB for GP v2 and Adventure (openedx#1961)

* MCKIN-24383 GW v2 version bump (openedx#2000)

* vb gp (openedx#2002)

* vb gp (openedx#2004)

* MCKIN-28139 Pinned pyopenssl version to 18.0.0

* vb gp (openedx#2004)

* MCKIN-28122 Traslations for all languages (openedx#2015)

* MCKIN-28123 vb gp (openedx#2018)

* Versions update.

Co-authored-by: Moeez Zahid <moeezzahid1996@gmail.com>
Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Zachary Trabookis <ztraboo@clemson.edu>
Co-authored-by: Saqib <msaqib52@gmail.com>
Co-authored-by: Wasif ur Rehman <wasifarbisoft@users.noreply.github.com>
Co-authored-by: Mudassir Hafeez <mudassir.hafeez@arbisoft.com>
Co-authored-by: Shafqat Farhan <shafqat.farhan@arbisoft.com>
Co-authored-by: ihtram <iulhaq@edx.org>
Co-authored-by: Piotr Surowiec <piotr@opencraft.com>
Co-authored-by: Nasir Hussain <nasirhjafri@gmail.com>
Co-authored-by: Sohaib Aslam <sohaib.aslam@arbisoft.com>
Co-authored-by: Agrendalath <piotr@surowiec.it>
Co-authored-by: Mudassir Hafeez <41048311+mudassir-hafeez@users.noreply.github.com>
Co-authored-by: murad-hubib <murad.habib@arbisoft.com>
Co-authored-by: Ned Batchelder <ned@edx.org>
Co-authored-by: Ali-D-Akbar <aliakbarit019@gmail.com>
Co-authored-by: Naeem Ilyas <naeem-ilyas@live.com>
Co-authored-by: Muhammad Usman <43761905+musmanmalik@users.noreply.github.com>
Co-authored-by: Mudassir Hafeez <mudasir5761@gmail.com>
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.

5 participants