edx/edx-platform — pull request #1703 by adampalay (2013-11-18 22:38:23+00:00)
Title: reapply more modular transactions in grading (LMS-1480)

removes field_data_cache from grades.grade and grades.progress_summary

This is essentially #1655 , which was reverted by #1669 because it was thought to cause worker timeouts when grading was being run. Further analysis suggests the timeouts were unrelated to grading being run.

This PR differs from #1655 in two aspects:
1) Instead of creating a context manager for more fine-grained control over transactions, the PR uses django's [transaction.commit_on_success](https://docs.djangoproject.com/en/1.4/topics/db/transactions/#controlling-transaction-management-in-views).

2) When pulling problems out of the StudentModule model, we now look for xmodules of types "problem" and "combinedopenended". In #1655 's implementation, "combinedopenended" problems would be left ungraded.

@cpennington
@brianhw